DoujinStars
@CJ_Clippy
@CJ_Clippy

patreon


Futureporn September 2025 Progress Report

Hi, it's me CJ_Clippy, author of futureporn.net and future.porn. Futureporn is a project to preserve lewdtuber history. This long-term project has been running for about four years, and we hope to continue for many more.

Today we have a progress report where I'll go into depth on what I've been working on. future.porn is a redesign of the existing futureporn.net with an emphasis on developer productivity, ease of iteration, and ease of publishing new VODs. The idea is to transition from futureporn.net to future.porn when it's ready.

future.porn incorporates a much needed VOD build system, a set of automated programs which takes a raw recording(s) of a VOD and prepare it for viewing on a webpage. This includes things like generating a thumbnail, combining several VOD segments into a single video, creating an array of transcodes (source, 480p, 240p etc.,) adding file integrity checksums, IPFS pinning, torrent magnet link creation, closed captions (subtitles,) and fun extras like on-screen Lovense vibrator detection and playback (a feature only for patrons.)

All these new changes mean new challenges. We have systems to build the website components, systems to deploy components, and systems to run the components. Orchestrating everything takes a lot of time and energy to understand and setup. I'm also building new features to make future.porn more useful and get us one step closer to achieving our long-standing goals.

What I've been working on

thrust.funscript

For thrusting toys, I've added thrust.funscript. This brings us to a total of two funscript types, which gives patrons an option to choose between this and vibrate.funscript.

Improved Funscript UI

Each of the patron's toy's actuators displays in the video player as a small buttplug pictogram. Default funscripts are selected per actuator, based on the actuator type reported by Buttplug.js. Patrons have the option to assign a different funscript per actuator if they want to.

In this example image, we see my Lovense Edge 2 displayed as two buttplugs, because that toy has two discrete vibration actuators. The default for each actuator is vibrate.funscript, but I can assign thrust.funscript to any actuator if I want to. Obviously, Edge 2 isn't capable of thrusting, but the effect would be a slightly different (more oscillating) vibration profile that could be fun to experiment with.

v1/v2 hybrid torrents

Torrents are now generated by qBittorrent, using v1/v2 hybrid torrents. This took about a week of work to implement because there are very few command-line programs offering v2 torrent support. Several of the available tools that do support v2 up generating torrents that are incompatible with rTorrent, the software I'm using to seed torrents. Thinking about the future ahead, I wanted to ensure we include v2, so I had to come up with some other way to create hybrid torrents.

qBittorrent has hybrid torrent support, but it only recently got the ability to create those torrents via API. Because it's so new, there isn't much support or documentation on how to create the torrents using the API. After a lot of trial and error, I figured out how to access qBittorrent's API. Now, future.porn's backend task processor can programmably interact with a qBittorrent instance configured to create hybrid torrents and magnet links.

IPFS cluster maintenance

If you've tried to use IPFS to download any new VODs within the past few months, it's impossible because there are no IPFS nodes with the content. This is because the disk on my IPFS node has been full, with no space for new content. I've spent some money to rent more storage space so I can restore the cluster's function.

What's coming next

Feature freeze! ❄️πŸ₯ΆπŸ§Š

I'm intentionally putting a pause on adding new features so I can focus on deploying everything I've already built. I have a habit of trying to pack too many things into each update which adds complexity to the deployments, full of corner-case errors that have to be worked through before the new features can go live. This "freeze" is my way of making sure things actually make it out into the world and into your hands. Time to ship it! πŸš€

Optimizing the VOD build system

Last month I wrote about how VOD processing is really slow, and would take weeks to process all the VODs. It's still an issue, and I've discovered some showstopping bugs to squash before we can make it purr. As part of the feature freeze, speeding up VOD processing is one of the things that I'll be working on during the next 30 days.

Excitement!

The thing I'm most excited about getting in the hands of viewers is the vibrator playback plugin (buttplug.js / funscripts). I spent a lot of time on it, and I think it will make playing back VODs a lot more fun. I don't like sitting on unpublished updates for long, so I'm going to be pushing hard in the next 30 days to get this feature live.

Care to join?

Patrons support the site's continued development, and unlock exclusive features like the upcoming vibrator sync/playback. I'd also love to hear any thoughts you have in the comments below, or over on Discord

Thank you for your support

I couldn’t do this work without you. Thank you so much for being part of this journey.


More Creators