Projects / lftp

lftp

lftp is a sophisticated command line based file transfer program. Supported protocols include FTP, HTTP, SFTP, and FISH. It has a multithreaded design allowing you to issue and execute multiple commands simultaneously or in the background. It also features mirroring capabilities and will reconnect and continue transfers in the event of a disconnection. Also, if you quit the program while transfers are still in progress, it will switch to nohup mode and finish the transfers in the background. Additional protocols supported: FTP over HTTP proxy, HTTPS and FTP over SSL, BitTorrent protocol. IPv6 is fully supported. There are lots of tunable parameters, including rate limitation, number of connections limitation and more.

Tags
Licenses
Operating Systems
Implementation

Recent releases

  •  18 Jun 2014 12:20

    Release Notes: This release fixed a coredump on startup when compiled with certain GCC versions, added a mkdir -q option for quiet operation, added glob --exist and --not-exist options, improved torrent status, and added piece availability statistics. Unconnectable torrent peers on trackerless torrents are removed.

    •  18 Jun 2014 12:19

      Release Notes: Piece availability is now shown in torrent status. A core dump in FTP when data connection fails was fixed. Default values of some settings were fixed. HTTP redirection handling was fixed. Compilation with GCC 4.8.3 was fixed.

      •  18 Jun 2014 12:19

        Release Notes: CPU usage was optimized for 10Gb/s transfers by using better data structures and algorithms. A new --env-password option was added for taking the password from the LFTP_PASSWORD environment variable. A new 'exit parent' subcommand was added. New http:accept-encoding, http:decode, and xfer:max-log-size settings were added. The last disconnect cause is now shown for a few seconds in the session status. Mirror status was improved. Torrent metadata is now saved on disk and loaded if available when needed. Torrent DHT search was improved. Exit behavior was improved to flush buffered commands. Transfer rate reporting was fixed for mirror --parallel.

        •  07 May 2014 11:00

          Release Notes: This release fixes mirror --loop to re-check base directory contents; fixes sftp and fish authentication by password with FreeBSD servers; fixed directory index parsing for some HTTP servers; fixes find command output to avoid an extra slash for plain files; and fixes several bugs that could cause a segfault.

          •  14 Oct 2013 08:57

            Release Notes: New mirror options --file/-f and -O. WebDAV fixes and improvements. A new FTP setting, use-utf8, to disable UTF-8 activation. Fixes handling of incorrect encoding of file names. Fixes compilation without libiconv. Fixes an occasional hang in mirroring. Kills SSH when terminating FISH or SFTP connections.

            Recent comments

            30 Dec 2010 20:52 thomp

            laupi's comment is pretty close - I haven't encountered a better command-line ftp/http/... client

            30 Dec 2006 19:40 LeroyTennison

            Re: Secure ftp


            > Works nice, thanks. I do have a

            > question. When using

            > ssl:verify-certificate what is required

            > for the certificate to be signed by a

            > known Certificate Authority? I'm

            > getting "Fatal: self-signed

            > certificate". This may be a vsftpd

            > problem because the only certificate I

            > found which works is created by 'openssl

            > req -new -x509 -nodes \

            > -out vsftpd.pem -keyout vsftpd.pem'.

            > However, I'm hoping to find a way around

            > this. Thanks for any help.

            Found a way around this, visit the vsftpd project to see my comments.

            Also made some other discoveries which I hope help someone else.

            lftp requires both ssl:cert-file and ssl:key-file in order to deliver it's certificate upon request.

            Also, when using ssl:verify-certificate, it reuires nsCertType = server as a part of the server's certificate.

            23 Nov 2006 21:46 LeroyTennison

            Secure ftp
            Works nice, thanks. I do have a question. When using ssl:verify-certificate what is required for the certificate to be signed by a known Certificate Authority? I'm getting "Fatal: self-signed certificate". This may be a vsftpd problem because the only certificate I found which works is created by 'openssl req -new -x509 -nodes \

            -out vsftpd.pem -keyout vsftpd.pem'. However, I'm hoping to find a way around this. Thanks for any help.

            27 Jan 2006 07:47 laupi

            Best ftp client ever
            Transferring the power of the shell to FTP. Couldn't get much better.

            26 Jan 2006 11:33 Shiryu

            Re: Building Lftp for aix 5.2


            > Good morning,

            > I would like to share some items I had

            > to fix building lftp in aix 5.2 env:

            >

            > Trying to configure and make lftp 3.0.3

            > in aix 5.2 using vacpp 6.0

            > and some libraries from aix toolbox for

            > linux app:

            > Readline-4.3.1

            > openssl-0.9.6m-1

            > I use this command:

            > ./configure --with-ssl=/usr/linux

            > --prefix=/usr/local5

            >

            > I got the following warning msg:

            >

            > configure: WARNING: term.h: present but

            > cannot be compiled

            > configure: WARNING: term.h: check for

            > missing prerequisite headers?

            > configure: WARNING: term.h: see the

            > Autoconf documentation

            > configure: WARNING: term.h: section

            > "Present But Cannot Be

            > Compiled"

            > configure: WARNING: term.h: proceeding

            > with the preprocessor's result

            > configure: WARNING: term.h: in the

            > future, the compiler will take

            > precedence

            > configure: WARNING: ##

            > ------------------------------------ ##

            > configure: WARNING: ## Report this to

            > lftp-bugs@lftp.yar.ru ##

            > configure: WARNING: ##

            > ------------------------------------ ##

            >

            > I have also found three little problems

            > in the sources:

            > 1) in the file post-config.h (line 25)

            > there is a comment

            > // should be included before any real

            > code.

            > I have to change in

            > /* should be included before any real

            > code. */

            > 2) in file src/getdate.c (if I remember

            > well) there is a <cntrl L > char

            > and

            > I deleted it.

            > 3) in file src/lftp_rl.c there is an

            > external veriable declaration:

            > extern int _rl_mark_modified_lines;

            > never defined

            >

            > To try to fix I defined it in

            > src/lftp_rl.h in this way:

            > int _rl_mark_modified_lines=0;

            >

            > I'm not sure it is the right thing to do

            > I would like to have an hint about this

            > point.

            >

            > In any case after these 3 little

            > modifications make all and make install

            > run fine.

            >

            > The program runs fine if I run it from a

            > telnet terminal window, if I use

            > ssh in place of telnet to open the

            > terminal the program hungs and there is

            > no way to see the lftp

            > prompt, I have to kill it and close the

            > ssh connection (I know it is strange).

            >

            > A last thing, I got the CVS snapshot

            > named 3.0.4rc2, and after the same 3

            > fixes

            > It worked fine in ssh windows too (!!).

            >

            > Any help to understand this apparently

            > strange behaviour will be

            > appreciated.

            >

            Can U please post a link to the binary?

            I tried you tips but couldnt compile the code.

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.