Complete replacement for Windows Explorer or File Finder
A file-level video CMS with hover scrubbing, XMP/TXT sidecars, right‑click transcode/upload actions, color‑coded thumbnails (full/trailer/footage), search, and a built-in video player.
If you're on a Windows you can simply run the boot.cmd file, or boot.sh if you're on Mac.
- Install Node.js to your computer
- Open CMD or Terminal on your PC
- Run Commands:
# Windows
# Download and install Chocolatey:
powershell -c "irm https://community.chocolatey.org/install.ps1|iex"
# Download and install Node.js:
choco install nodejs --version="24.12.0"# MacOS
# Download and install Homebrew
curl -o- https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash
# Download and install Node.js:
brew install node@24npm install
npm startIf you plan to use the transcode actions, install
ffmpegandffprobeand put them on your PATH or setFFMPEG_PATHandFFPROBE_PATHenv vars.
- File explorer rooted at folders from
config.json→"roots" - Hover over a thumbnail and scrub by moving your mouse across the tile
- Edit metadata in the right panel and Save Sidecars → creates:
video.xmp(minimal XMP withdc:*,xmp:*, and customav:*fields)video.meta.txt(Title, Description, Pornstars, Director)
- Context menu (right‑click) per file:
- Transcode 1080p / 4K / SD / Unwatermarked (scripts in
/actions) - Upload to… (stub script; adapt to your infra, e.g.
rclone/S3)
- Transcode 1080p / 4K / SD / Unwatermarked (scripts in
- Color borders: red = full, yellow = trailer, gray = footage
- Search across name/title/description/pornstars/tags/categories/sex rating
- Built-in player panel
Edit config.json and add your library folders under "roots". You can also click + Root in-app to add one for the current session.
The XMP uses common namespaces plus a custom av: namespace:
dc:title,dc:description,dc:subject(keywords/tags)xmp:Rating(0–5),xmpDM:shotNameav:Director,av:SexRating(non-nude|softcore|masturbation|hardcore XXX)av:AssetType(full|trailer|footage) → drives thumbnail border colorav:ReleaseDate,av:RecordingDateav:Pornstars(rdf:Bag),av:Categories(rdf:Bag)
Premiere reads standard
dc:*and somexmp:*fields; customav:*are for your app but remain in a plain, portable XMP sidecar.
Edit the scripts in /actions/*.bat or /*.sh. They receive the file path as the first argument. The provided scripts are simple templates—tune bitrates, codecs, watermarks, etc.
- Hover scrubbing uses
<video>fast seeks—quality depends on codec/seek index. - Poster is drawn by seeking to ~5% of duration and painting to
<canvas>. - For very large dirs, consider paging or pre-indexing (future enhancement).
- SMB/NFS/S3 providers can be plugged into
main.jsandpreload.jsas needed.
