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

Supported protocols
- S3 & S3-compatible storage — browse buckets, transfer files and recursively copy directories.
- SFTP — connect through OpenSSH, using your SSH configuration, keys and agent.
- SMB — browse shares and work with files on a file server.
- WebDAV — access WebDAV servers over HTTP or HTTPS.
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.