frostvex

v0.3.7 — released April 14, 2026

A small Rust CLI for moving files across slow, lossy, or intermittent links. Lock-free, content-addressed, parity-verified — no central server.

§ install

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.

Output of running the install script — detects platform, fetches release, verifies BLAKE3 signature, installs to /usr/local/bin

§ what it does

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:

Lock-free architecture

Concurrent reads and writes against a single pool, without a global lock. Backed by a small CRDT for the manifest.

Bandwidth-efficient

Content-addressed delta transfer. On a typical photo library, the wire sees 0.5–2% of the file size after first sync.

Verified parity

BLAKE3 hashes on every chunk plus Reed-Solomon parity blocks. frostvex verify --strict catches silent corruption.

Peer-to-peer

No mandatory central server. Pull from a laptop, push to a NAS, sync across a mesh — all over QUIC.

§ a quick taste

Initialize a pool, point it at a remote, sync. That's the whole common path.

Three commands: frostvex init creates a pool from ./photos, frostvex sync pushes changes to backup-srv:/srv/photos/, the run streams 12 changed files in 0.51s and verifies parity.

Inspect what's there:

frostvex stat shows pool path, file count and size, last sync time, parity status, bandwidth efficiency, and connected peers with average RTT.

The full quickstart walks through pull, peer discovery, and conflict resolution.

§ why another sync tool

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.

§ not for you

Some honest non-goals — frostvex is probably wrong for you if:

§ recent posts

All posts →