This page covers the various ways to install unFTP, including precompiled binaries, package repositories, building from source, and Docker images.

Binaries

Precompiled binaries for unFTP are available for these targets:

  • unftp_x86_64-unknown-linux-gnu - Linux x86_64, dynamically linked with PAM support.
  • unftp_x86_64-unknown-linux-musl - Linux x86_64, statically linked without PAM support.
  • unftp_aarch64-unknown-linux-musl - Linux ARM64, statically linked without PAM support.
  • unftp_x86_64-apple-darwin - macOS Intel.
  • unftp_aarch64-apple-darwin - macOS Apple silicon.
  • unftp_x86_64-pc-windows-msvc.exe - Windows x86_64.

Check the assets for the release you are using; older releases do not include the Linux ARM64 binary.

To install with Curl:

Linux (static, no PAM):

curl -L https://github.com/Cloudinvoke/unFTP/releases/download/v0.16.0/unftp_x86_64-unknown-linux-musl \
  | sudo tee /usr/local/bin/unftp > /dev/null && sudo chmod +x /usr/local/bin/unftp

Linux (dynamic with PAM support):

curl -L https://github.com/Cloudinvoke/unFTP/releases/download/v0.16.0/unftp_x86_64-unknown-linux-gnu \
  | sudo tee /usr/local/bin/unftp > /dev/null && sudo chmod +x /usr/local/bin/unftp

macOS Intel:

curl -L https://github.com/Cloudinvoke/unFTP/releases/download/v0.16.0/unftp_x86_64-apple-darwin \
  | sudo tee /usr/local/bin/unftp > /dev/null && sudo chmod +x /usr/local/bin/unftp

macOS ARM:

curl -L https://github.com/Cloudinvoke/unFTP/releases/download/v0.16.0/unftp_aarch64-apple-darwin \
  | sudo tee /usr/local/bin/unftp > /dev/null && sudo chmod +x /usr/local/bin/unftp

To install using package repositories

AUR

yay -S unftp

FreeBSD Ports

pkg install ftp/unftp

Nixpkgs

nix-shell -p uradvd

From Source

You'll need Rust 1.67.1 (including cargo) or higher to build unFTP. Then:

cargo install unftp

and find unftp in ~/.cargo/bin/unftp. You may want to add ~/.cargo/bin to your PATH if you haven't done so. The above merely creates the binary there, it won't start it as a service at the moment.

Docker Images

See the Docker section

Now that we've covered installation, let's proceed to starting unFTP.

Powered by Doctave