Just the file
The minimum viable Trove. One Python script. Drop it anywhere. Run it.
Download faveat_trove.pyTrove is a single Python file you drop into any folder. Friends on your local network browse and download from any web browser — no apps, no accounts, no cloud, no telemetry. Stdlib only.
Why this exists
Your friend has a phone full of photos. You want to keep a few. The path between those two facts has somehow become an absurdity.
The options are all wrong. Upload everything to someone else's server, then download. Plug in a cable, hope the OS cooperates, dig through DCIM/Camera. Run a third-party "file manager" that wants permission to read every byte on the device, then asks to share more than you meant to share.
Trove is the missing tool: one file you drop into the folder you want to share. Run it. Read off the URL. Your friend taps it on their phone, sees the folder in their browser, picks what they want. The server stops when you press Ctrl-C. No accounts were created. No data left the network.
It's the way LAN file sharing should have always been.
v0.1 — Read-only file sharing for the local network. Zero external dependencies. 150-test security suite. Single file you can audit in an afternoon.
— state of the project, May 2026
How it works
There's nothing to configure. The folder you launch from is the folder you share. That's the whole mental model.
Put faveat_trove.py in the folder you want to share.
One command, in that folder.
python3 faveat_trove.py
Trove prints a URL with an auth token (and a QR code for phones).
Friend opens the link. Browses, previews, downloads. Done.
Why it matters
Features
Trove does one thing — let your friends browse a folder over the network — and tries to do every part of that thing well.
Grid, list, and details (with sortable columns). Choose what fits.
Full-text with prefix-match boost, accent-insensitive, copper highlights.
In-browser preview for images, audio, video, PDFs, and text.
Pick the files you want. Trove zips and streams them.
Pass --cert + --key. mkcert workflow documented.
192-bit CSPRNG. HttpOnly cookie after first hit. Identical 401s.
Pure-Python encoder. Scan from a phone — no typing tokens.
Dark, light, full keyboard navigation, in-browser help modal.
Privacy commitment
Trove can't leak data because the architecture doesn't allow for it. There is no telemetry, because there is no network code that calls home. There is no cloud, because there is no server but yours.
--bind 127.0.0.1 to restrict to this machine only.Get Trove
Trove is one file. Download it directly, or clone the full repo with tests, README, and brand assets.
The minimum viable Trove. One Python script. Drop it anywhere. Run it.
Download faveat_trove.pySource, 150-test security suite, README with mkcert / Termux / HTTPS guides, brand assets.
Open on Codeberg →Stand on the shoulders
This site collects nothing. The HTML is static, fully self-contained, and makes zero external network requests. No analytics, no tracking pixels, no cookies, no fingerprinting scripts, no third-party fonts. Brand assets, fonts, and styles are all served inline from this same file.
Trove the application (the Python file) collects nothing either. It binds to your local network, serves files you point it at, and shuts down when you press Ctrl-C. It logs requests to standard output (stdout) for debugging, but nothing is written to disk. No phoning home. No update checks. No telemetry endpoints to disable, because none were ever built.
If you find evidence that contradicts any of the above, please file an issue at the Codeberg repository.
Trove is licensed under the GNU General Public License version 3 or later. In addition, Faveat Software publishes the following directives — voluntary commitments we ask of users and forks:
These directives are not legally binding — the GPL is what governs your rights. They are an invitation to build software the way it should be built: for the people who use it.