xfer

xfer is an interactive, terminal-based file transfer client for S3, SFTP, SMB and WebDAV. It brings remote files to a familiar command prompt, with bookmarks, job control, recursive transfers and tab completion.

Written in Rust and inspired by lftp, xfer is free software, distributed under the GNU GPL version 3.


On this page: About · Protocols · Getting started · Documentation & downloads


About xfer

Browse a server, download a file, or upload a directory without leaving your terminal. A small per-session daemon keeps the connection and jobs alive when you detach; you can attach again while transfers are still running.

$ xfer
xfer> open sftp-home
xfer[sftp:/home/alice/]> ls
xfer[sftp:/home/alice/]> get report.pdf
xfer[sftp:/home/alice/]> put local-notes.txt

Use Ctrl-Z to background a job, jobs to list jobs, and fg to return to one. Command files and inline scripts are supported too.

See xfer in action

Terminal demonstration of xfer


Supported protocols

xfer is modeled after lftp, but is not a drop-in replacement; it does not support FTP or FTPS. See the manual for protocol limitations and security notes.


Getting started

Install from source with Rust 1.94.1 or newer:

cargo install --git https://github.com/antekone/xfer.git --locked

Or download a prebuilt Linux or macOS archive from GitHub Releases. The archives include the manual; cargo install installs the binary only.

Run xfer, then use open with a URL or a configured bookmark. Type help for commands. For bookmark examples and configuration, see the configuration guide and manual.


Documentation & downloads