Peer-to-peer document vault
BinaryFerret keeps every note, doc, and file in sync across all the computers you own — directly, machine-to-machine, with no account and no cloud in the middle. Write in your own editor; it’s just there, everywhere.
$ curl -fsSL https://get.binaryferret.com/install.sh | sh Downloads a prebuilt binary to ~/.local/bin/binaryferret.
Read it first? View the script.
The problem
You have a favorite editor. You have more than one computer. So you email files to yourself, dig through half-synced cloud folders, and give up editing in some web textbox that isn’t your editor. It should just be there — on this machine, in your editor, right now.
With BinaryFerret, it is.
What you get
Your vault is just a folder of Markdown, images, and PDFs. Open it in neovim, VS Code, anything — the same files, always current, on every machine.
Changes replicate directly between your computers, machine to machine. No account, no server in the middle holding your files hostage.
Every sync connection is mutually authenticated and TLS-encrypted. Nothing crosses the wire in the clear.
Every machine is identified by a cryptographic key and must be explicitly approved before it can join. No unknown device ever syncs your files.
Ships as a single, statically linked ~1.5 MB musl binary. It bundles and drives a pinned Syncthing for you — you just run one small CLI.
The core is AGPL-licensed and open for anyone to inspect and self-host. Security you can read, not just trust.
How it works
One command drops a single binary on each of your machines.
Pick a folder. It becomes your synced document vault.
Show one machine’s ID, request from another, approve. Done.
Edit anything in the vault — it syncs to your peers automatically.
Under the hood, BinaryFerret downloads a pinned, private Syncthing v1.30.0, generates its keys, runs it bound to localhost, and drives it entirely over its local REST API. You never touch a config file.
Get started
$ curl -fsSL https://get.binaryferret.com/install.sh | sh Prefer options? BINARYFERRET_ENABLE_SERVICE=1 also installs the systemd
user service; BINARYFERRET_FROM_SOURCE=1 builds with cargo instead of
downloading. If ~/.local/bin isn’t on your PATH, the
installer tells you how to add it.
binaryferret init ~/vault # create a vault
binaryferret service install --now # auto-start on login (optional)
# On machine A — print this machine's device ID:
binaryferret pair --show
# On machine B — request to pair with A:
binaryferret pair --with <A's-device-id>
# Back on machine A — approve the request:
binaryferret pair --accept
binaryferret status # peers, sync state, conflicts Edit anything in ~/vault and it syncs to your paired machines
automatically — text, PDFs, images, and more. Every command also accepts --json for scripting.
Docby’s tip: run binaryferret doctor any time
things look off — it checks your setup and can fix common problems with --fix.
Coming next
BinaryFerret is a Phase-1 MVP: installing, initializing a vault, pairing machines, and automatic peer-to-peer sync all work now. These are on the roadmap:
A device you control that keeps a canonical copy online, so your vault is reachable even when your desktops are asleep.
Your entire vault, one tap away on your phone, served over HTTPS from your own hub.
Turn any doc into a revocable view-only link or a polished PDF — attach it to an email straight from your desktop.