A small Rust CLI for moving files across slow, lossy, or intermittent links. Lock-free, content-addressed, parity-verified — no central server.
One line on Linux or macOS. Static single binary, ~8 MB, no runtime dependencies.
$ curl -fsSL https://frostvex.icu/install.sh | sh
Or grab a release from the install guide — pre-built binaries for x86_64 and aarch64. Windows users see below.
Frostvex synchronizes directories the way rsync tries to, but reworked for the kind of network most of us actually have — flaky home links, mobile hotspots, ssh sessions that reset every fifteen minutes. Three guarantees:
Concurrent reads and writes against a single pool, without a global lock. Backed by a small CRDT for the manifest.
Content-addressed delta transfer. On a typical photo library, the wire sees 0.5–2% of the file size after first sync.
BLAKE3 hashes on every chunk plus Reed-Solomon parity blocks. frostvex verify --strict catches silent corruption.
No mandatory central server. Pull from a laptop, push to a NAS, sync across a mesh — all over QUIC.
Initialize a pool, point it at a remote, sync. That's the whole common path.
Inspect what's there:
The full quickstart walks through pull, peer discovery, and conflict resolution.
I've used rsync for fifteen years and Syncthing for five. Both are good. But:
Frostvex is what I built when I got tired of papering over those edges with shell scripts. It's not trying to replace any of them — it's trying to fill a narrow slot: move a directory between two boxes I trust, on a link I don't trust, and tell me if anything went wrong.
Some honest non-goals — frostvex is probably wrong for you if: