LFTP – sophisticated file transfer program

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.

Features include:

  • 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 GPL v3


LFTP is written in C++. Learn C++ with our recommended free books and free tutorials.

Return to FTP Clients Home Page | Return to Command-line FTP Clients Home Page

Read our complete collection of recommended free and open source software. The collection covers all categories of software.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.