Hey everyone! I built this Firefox extension to solve a problem I was having - downloading funscripts and videos, then needing to rename one or the other, one at a time. You’re still doing that here, but a lot faster. If I feel like the algorithm gets good enough maybe I’ll have it auto rename, or at least have a pop up if it thinks there’s a good enough match…
What it does
Tracks your downloads and tries to match up funscripts with their videos automatically. It’s pretty decent at figuring out which files belong together, even when the naming is inconsistent. Of course, the scope seems to be increasing every time I touch it
Now with:
automatic grouping of multi-axis scripts
use the + sign to add any stragglers
configurable output folder for matches
if the file names already match when they make it to your watched folder, they’ll get sent to the output folder automatically, if configured.
Support for subfolders in your output folder on a per-match basis
‘Variation’ support if folders are configured, accessible in “Match mode”
there’s an “Is Variation” toggle, clicking it will show the list of folders in your output folder, sorted by match probability
When selected, the script is moved to the folder, while retaining its original name
DOESN’T HANDLE GROUPED SCRIPTS RIGHT NOW
Current status
Current version: 0.1.4
Added installer scripts for windows, will need others to test that it actually works. Requires python 3.6+
Features that work
Automatically tracks funscript and video downloads
Smart matching algorithm that ignores brackets, creator tags, quality markers, etc.
Visual interface with match confidence indicators
One-click renaming with the native host
Badge showing how many unmatched files you have
Pop-out window if you want more space
Dark/light themes and customization
Installation
Download the .xpi from releases and install it in Firefox.
Download the .zip from releases for your corresponding platform - included is an installer script to set up the native host (this is required for renaming/folder watching)
Known issues
You tell me
“Add variant” function doesn’t handle groups yet - bewareFixed
Feedback
This is my first Firefox extension so probably has rough edges. Let me know what breaks or what would make it more useful. I have some approximate knowledge but definitely no full fledged programmer. Most of this was with claude code, with heavy handed directions XD
I’ve made some adjustments/fixes but haven’t updated the package yet. If you want to try it out, you can load the temporary extension from the manifest file in about:debugging
Added grouping, multi axis tracking, ability to rename base name in “match mode”
The “+” icon should start “group mode”, if for some reason multi axis scripts have different base names (ie, from different users)
Some minor ux/ui changes as well, and the ability to move matched files to a designated folder
Todo:
considering ways to implement .srt matching
would be cool to have a small db to track downloaded and matched scripts/videos to get notified if you’re downloading a script you already have
if database gets implemented, have a UI to show scripts, with an “add variant” button to make a hardlink to a video for an existing script but with name matching the variant funscript (maybe this could be handled via the existing stash plugin I’ve seen - or possibly both, as an option for folks that don’t run stash)
for variants, maybe in match menu after selecting a funscript, have an “is variant” toggle to change the list from unmatched videos to already-matched videos
I haven’t tested the new version yet, but I’ll try to take a look at it later.
I wrote a script that shows if I’ve liked a post on the main page and I only like scripts I download. I did that because I would forget if I had that script yet or not, so I can definitely see that being useful in general.
I use the stash plugin as well, so I only have single video with all of the variant scripts in the same folder.
On that note, maybe an option to create a new folder with the same basename as the video and script and move them both into it? That’s how I organize all of my videos, since it contains all scripts to the same folder with the video.
Good idea, I haven’t used the plugin so I wasn’t sure if that was handled by having them in the same folder or if it created hardlinks for each video variant.
I just have all of my files in one folder xD
So maybe have a “Group matches by folder” toggle in the config and have variants populated that way. Maybe wouldn’t even need a database if not making hardlinks, just mount the stash drive and use that as the output folder, and read the output folder for existing matches when adding variants.
Database might be more performant, though… something to toy around with. I’ll need to look into how the plugin handles tracking if at all
Added “Is Variant” checkbox if “Organize in subfolders” is checked
when checked, will list folders in ‘matched’ directory - selected folder will move the script into that folder without changing the name.
you still have the opportunity to rename in this mode
todo:
not sure how the folder listing will handle having thousands of files… need to test
in the case of above, i should look into a lightweight database if this is problematic - update native host scripts for windows - maybe just update the script to instead of point to the python file, have the script create the file. done