EroScripts is a community for scripts that sync up interactive sex toys with porn. Learn more.

To discover, download, and help choose what gets scripted, create an account.


I'd like to commision someone to get the handy working with Stash

Stash organises your porn collection and makes a server on the localhost that allows playback from browsers. At present there is no funscript support but I (someone with 0 knowledge on coding) think there are a few ways support could be added relatively simply.

I think the easiest way to go about this would be to base a chrome extension off of the url builder on handyfeeling as Stash serves up local streaming urls for video playback or to create something similar to @Nodude’s theHandy support for PornHub extension.

I don’t know how much work this would be but assuming its not a herculean task I’d be happy to provide a few days worth of beer/pizza money for anyone willing to give it a shot.


Great idea. Maybe contact the creator! :slight_smile:
The app even have a Discord. Maybe ask around in there: Stash

Or make a feature request on Github: Issues · stashapp/stash · GitHub

Bounty can be added to feature request here: Contribute to StashApp - Open Collective

I considered asking in their discord but figured that it was unlikely to take priority as none of the developers appear to have interactive toys so wouldn’t have any use for the feature.

I also think it might be easier to implement by having a script player recognise it as a source the way handy control does with deovr.

Xbvr works with funscripts because deovr has funscript integration built in, it worked before funscripts were even mentioned on the xbvr discord.

Stash uses JWPlayer which has no funscript support by default. From my (uneducated) perspective it’d be much easier to alter one of the existing pieces of software used for funscript playback, that people here have already created, to work with stash as just a video player than it would to natively build it into stash starting from the ground up.

That said I didn’t know about bounties for feature requests on GitHub and will set one up.

1 Like

I don’t know what the easiest path is, but if it was implemented directly in Stash or as a plug-in, it would mean support for phones and iPads. Right now it’s not easy to play script from phones or iPads, but with Stash you could just access it on the network and play videos.

I hate that I have to use my PC :roll_eyes: Handy support in Stash would be a really elegant solution.

1 Like

For JWPlayer, I’d use the hooks to call the Handy APIs rather than forking the player itself.

The other half of this would be serving the funscripts, which should be a relatively straightforward change to the server around scene files. I’m assuming that people will use the same method of naming the scripts with the same name, but a new extension, making the check for script support an os.Stat call. (It’d be nice to calculate this on scan, making it a sortable field, exposing it in the UI, etc. Or having it implicitly tag with “interactive” if present.)

I’m most familiar with the backend language here, but I’ve done small amounts of UI work. I’ll see what I can get working.


You seem to know what your talking about :smiley:

I’m still trying to figure out how to set up the bounty on GitHub but if you get peckish while thinking pm me and I’ll buy you a pizza

Here’s a branch: GitHub - UnluckyChemical765/stash at funscript

Assumes .funscript files are next to the .mp4 files, if so, the scene is considered interactive.
Interactive scenes can be filtered and sorted for.
Set the Handy connection key in the interface settings and any interactive scene will automatically try to sync playback.

It uses @defucilis 's thehandy library to do the Handy API calls, or I would have punted on the serverTimeOffset stuff.

I’ll poke around on the Discord and see if they’re open to a PR going upstream. Don’t worry about the bounty, or donate to the main project via their OpenCollective.


You’re amazing :grin:

@Inventiv3919 Built from my fork, backup your .sqlite file first, no warranties, yadda yadda.


You’re too kind :heart:

Its running on docker and stash is functioning normally. I’ve entered my handy connection key, done a full rescan and filtered by interactive but my handy doesnt react. IstheHandy library compatible with the latest fw3 beta?

It should be? Latest FW3 versions claimed to support the older API without the “fw3” prefix. I’ll upgrade later and give it a shot.

Edit: found the issue, needed to URL encode the script link as FW3 is stricter.


Once again thank you, you truly are awesome!

edit: to be clear its working like a dream :smile:

Thanks for the great work on this, and congrats on getting your PR merged.

It’s available in the development branch/docker build now :+1:

If the funscript feature could be implemented for osr2/osr6 in stash too, that would be awesome!!!

I still need to implement a few features like script delay, but I think adding support for Bluetooth stuff via is next on my list.

However, I don’t think OSRx support is easy. It can’t be browser based, like the others. There’s probably a few things that can make it work (browser plugins? VirtualHere?) , but I don’t have a device to mess around with.


Hi may i know when bluetooth support via buttplug will be added ?? can’t wait to use my keon with stash ! Awesome work btw keep it up :blush:

Anybody try this out on the Quest? Not a fan of DeoVR (Skybox or SLR for me) but either way when I tried, I had trouble getting the url to access the nonstandard port.

there is a remote software that work in browsers for the OSR2/SR6.

1 Like

I can access it from deovr and it works fine (no previews though) although I prefer Firefox vr as you can resize it more comfortably

1 Like