Install
Get the ferry binary
FileFerry is pre-1.0. The command package is prepared for crates.io, and tagged binary releases are configured through cargo-dist. Build from source remains the most direct path until the first public tag is cut.
Install with Cargo
The crates.io package is ferry-cli and it installs a binary named ferry.
cargo install ferry-cli --version 0.1.1Build from source
You need a recent stable Rust toolchain (1.95 or newer). Clone the repo and build the workspace:
git clone https://github.com/dunamismax/fileferry
cd fileferry
cargo build --workspace --release
# The native binary lands at:
# target/release/ferry
Drop target/release/ferry somewhere on your PATH โ for example ~/.local/bin on Linux or /usr/local/bin on macOS.
First steps after install
# Confirm the build:
ferry version
# Receive in the foreground on a known port:
ferry recv --listen 0.0.0.0:53318 --dest ~/Downloads/ferry
# Or keep a headless receiver alive across sessions:
ferry daemon --listen 0.0.0.0:53318 --dest ~/Downloads/ferry
# From another machine, send through discovery when available:
ferry send stephen-mbp ./vacation.zip
# Or send directly to a known listener address:
ferry send 192.168.1.42:53318 ./vacation.zip
Tagged release artifacts
- Tagged releases are produced by
cargo-dist. - Linux:
x86_64-unknown-linux-gnuandaarch64-unknown-linux-gnutarballs. - macOS:
x86_64-apple-darwinandaarch64-apple-darwintarballs. - Windows:
x86_64-pc-windows-msvczip. - Homebrew tap, AUR package, Scoop and Winget manifests are on the roadmap.
- SHA-256 checksums and signing notes ship with each release.
Verifying a build
# Workspace verification matches CI:
cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
cargo build --workspace