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.1

Build 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-gnu and aarch64-unknown-linux-gnu tarballs.
  • macOS: x86_64-apple-darwin and aarch64-apple-darwin tarballs.
  • Windows: x86_64-pc-windows-msvc zip.
  • 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