LFTP is a sophisticated, command line interface, file retrieving tool that supports FTP, HTTP, FISH, SFTP, HTTPS and FTPS protocols. The software has a comprehensive set of features, yet keeps its interface as simple and easy as possible.
LFTP’s main two advantages over other ftp clients are reliability and the ability to perform tasks in background. It will reconnect and reget the file being transferred if the connection is dropped. Users can start a transfer in the background and continue browsing the ftp site. It does this all in one process. When you have started background jobs and feel you are done, you can exit LFTP and it automatically moves to nohup mode and completes the transfers. It also has handy features as reput and mirror. This application can also download a file as quickly as possible by using several connections at the same time, maximising the bandwidth of the connection.
LFTP is scriptable, it can be used to mirror sites, it lets you copy files among remote servers (even between FTP and HTTP). It has an extensive online help. It supports bookmarks, and connecting to several ftp/http sites at the same time.
Key Features
- FTP and HTTP protocol support.
- FTP (e.g. TIS FWTK) and HTTP proxy support.
- FTP over HTTP proxy support (hftp and CONNECT method).
- HTTPS and FTPS protocols support using GNU TLS or OpenSSL library.
- Automatic OPIE/SKEY support in FTP protocol.
- FXP transfers support (between two FTP servers, bypassing client machine).
- FTP listings support: unix-style, NT, EPLF, OS/2, AS400, MacWebStar, MLSD.
- Automatic reconnect and retry of an operation on retriable errors or timeout.
- IPv6 support in both FTP and HTTP.
- FISH protocol support. It uses ssh with no special program on server side.
- SFTP protocol v3-v6 support.
- HTTP/1.1 keep-alive support.
- Partial WebDAV support.
- BitTorrent protocol support.
- Experimental support for SRV DNS records.
- SOCKS support (configure option).
- Modification time preservation (if server can report it).
- ‘reget’ and `reput’ support.
- Built-in mirror and reverse mirror (mirror -R).
- Transfer rate throttling for each connection and for all connections.
- Limit for number of connections to the same site. Interruption of background transfer to do a foreground operation when the limit is reached.
- Socket options tuning: buffer size and maximum segment size.
- Job queueing.
- Job execution at specified time.
- Comprehensive scripting support.
- URL recognition in most operations.
- Readline library is used for input.
- Context sensitive completion.
- Bash-like prompt extensions.
- Launching of local shell commands.
- Suspend support.
- Bookmarks.
- Aliases.
- Saving of last directory on each site. `cd -‘ to go there.
- Copying of files between two servers, e.g. between FTP and HTTP.
- Numerous settings which can be associated with a specific server or a group.
- Paging of remote files using external program.
- ‘zcat’ and `zmore’ support.
- Help for commands.
- Command history saved in a file.
- Transfer status includes rate and ETA.
- File listing cache.
- Background jobs (bash-like).
- Job output redirection to a file or to a program via pipe.
- Conditional commands depending on exit status of previous one.
- Loading of binary modules at run time (configure option).
- ‘pget’ to download a file using several connections ‘pget’ download can be continued as it saves a status file periodically.
- ‘mirror’ can download several files in parallel (–parallel option) and a single file with `pget’ (–use-pget-n option).
- Slots. Each slot is a separate session, switch using Meta-{1-9} or `slot’ command. Refer to a slot site using pseudo URL slot:name.
Website: lftp.yar.ru
Support: Man page
Developer: Alexander V. Lukyanov
License: GNU General Public License v3.0

LFTP is written in C++. Learn C++ with our recommended free books and free tutorials.
Related Software
| Command-line FTP Clients | |
|---|---|
| NcFTP | Popular console based user interface File Transfer Protocol (FTP) client program |
| LFTP | Mature open source file retrieving tool |
| termscp | Feature rich terminal file transfer and explorer, with support for SCP/SFTP/FTP/S3 |
| SuppaFTP | FTP/FTPS client library and built-in command-line FTP client |
| tnftp | Based on the original BSD FTP client |
| cbftp | Advanced, multi-purpose client that focuses on efficient large-scale data spreading |
| lssh | List-based ssh, scp, sftp client |
| atftp | Client/server implementation of the TFTP protocol |
| Yafc | Intended to be a replacement for the standard ftp program |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

