|
Packit Service |
a2489d |
** lftp-4.5.x
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
This package `lftp' contains the following components:
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
lftp
|
|
Packit Service |
a2489d |
sophisticated command line file transfer program (ftp/http client,
|
|
Packit Service |
a2489d |
also supports several other protocols).
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
lftpget
|
|
Packit Service |
a2489d |
shell script for downloading by URL, it calls `lftp -c'.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
lftp is written in C++ and uses a cooperative-threaded model.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
lftp
|
|
Packit Service |
a2489d |
~~~~
|
|
Packit Service |
a2489d |
lftp is sophisticated file transfer program with command line interface. It
|
|
Packit Service |
a2489d |
supports FTP, HTTP, FISH, SFTP and FILE (local FS) protocols. GNU Readline
|
|
Packit Service |
a2489d |
library is used for input. BitTorrent protocol is supported as built-in
|
|
Packit Service |
a2489d |
`torrent' command.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Low level stuff supported: ftp proxy, http proxy, ftp over http, opie/skey,
|
|
Packit Service |
a2489d |
fxp transfers, automatic retrying on non-fatal errors and timeouts, ipv6,
|
|
Packit Service |
a2489d |
socks, http/1.1, sftp v3-v6. See FEATURES for more detailed list of
|
|
Packit Service |
a2489d |
features.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Every operation in lftp is reliable, that is any non-fatal error is ignored
|
|
Packit Service |
a2489d |
and the operation is retried. So if downloading breaks, it will be
|
|
Packit Service |
a2489d |
restarted from the point automatically. Even if ftp server does not support
|
|
Packit Service |
a2489d |
REST command, lftp will try to retrieve the file from the very beginning
|
|
Packit Service |
a2489d |
until the file is transferred completely.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
lftp has shell-like command syntax allowing you to launch several commands
|
|
Packit Service |
a2489d |
in parallel in background (&). It is also possible to group commands within
|
|
Packit Service |
a2489d |
() and execute them in background. All background jobs are executed in the
|
|
Packit Service |
a2489d |
same single process. You can bring a foreground job to background with ^Z
|
|
Packit Service |
a2489d |
(c-z) and back with command `wait' (or `fg' which is alias to `wait'). To
|
|
Packit Service |
a2489d |
list running jobs, use command `jobs'. Some commands allow redirecting
|
|
Packit Service |
a2489d |
their output (cat, ls, ...) to file or via pipe to external command.
|
|
Packit Service |
a2489d |
Commands can be executed conditionally based on termination status of
|
|
Packit Service |
a2489d |
previous command (&&, ||).
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
If you exit lftp when some jobs are not finished yet, lftp will move itself
|
|
Packit Service |
a2489d |
to nohup mode in background. The same happens when you have a real modem
|
|
Packit Service |
a2489d |
hangup or when you close an xterm. It is possible to attach to backgrounded
|
|
Packit Service |
a2489d |
lftp instance using `attach' command in lftp, e.g. `lftp -c attach'.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
lftp has builtin mirror which can download or update a whole directory
|
|
Packit Service |
a2489d |
tree. There is also reverse mirror (mirror -R) which uploads or updates a
|
|
Packit Service |
a2489d |
directory tree on server. It is also possible to synchronize two servers,
|
|
Packit Service |
a2489d |
FXP is used automatically if possible.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
There is command `at' to launch a job at specified time in current context,
|
|
Packit Service |
a2489d |
command `queue' to queue commands for sequential execution for current
|
|
Packit Service |
a2489d |
server, and much more.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
On startup, lftp executes /etc/lftp.conf and then ~/.lftprc and ~/.lftp/rc.
|
|
Packit Service |
a2489d |
You can place aliases and `set' commands there. Some people prefer to see
|
|
Packit Service |
a2489d |
full protocol debug, use `debug' to turn the debug on. Use `debug 3' to see
|
|
Packit Service |
a2489d |
only greeting messages and error messages. if ~/.lftp directory does not
|
|
Packit Service |
a2489d |
exist, XDG directories are used instead: ~/.config/lftp, ~/.local/share/lftp
|
|
Packit Service |
a2489d |
and ~/.cache/lftp.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
lftp has a number of settable variables. You can use `set -a' to see all
|
|
Packit Service |
a2489d |
variables and their values or `set -d' to see list of defaults. Variable
|
|
Packit Service |
a2489d |
names can be abbreviated and prefix can be omitted unless the rest becomes
|
|
Packit Service |
a2489d |
ambiguous.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Use command `help' or read documentation (man lftp) to learn more.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
If lftp was compiled with ssl support, then it includes software developed
|
|
Packit Service |
a2489d |
by the OpenSSL Project for use in the OpenSSL Toolkit.
|
|
Packit Service |
a2489d |
(http://www.openssl.org/)
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Where to get
|
|
Packit Service |
a2489d |
~~~~~~~~~~~~
|
|
Packit Service |
a2489d |
By FTP:
|
|
Packit Service |
a2489d |
ftp://ftp.yar.ru/pub/source/lftp/
|
|
Packit Service |
a2489d |
By HTTP:
|
|
Packit Service |
a2489d |
http://lftp.yar.ru/ftp/
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
By GIT (development):
|
|
Packit Service |
a2489d |
https://github.com/lavv17/lftp
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
See also the home page `http://lftp.yar.ru/'.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Internals
|
|
Packit Service |
a2489d |
~~~~~~~~~
|
|
Packit Service |
a2489d |
All this is based on SMTask class which implements non-preemptive
|
|
Packit Service |
a2489d |
multitasking via Do method. The method Do does a little bit of work, sets
|
|
Packit Service |
a2489d |
wake up condition (block member) and returns.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
There are also some useful classes: Timer, TimeDate, *Buffer, xstring,
|
|
Packit Service |
a2489d |
xarray, xlist, xmap, xheap, Ref etc. Timers are ordered using a heap data
|
|
Packit Service |
a2489d |
structure. Primitive classes were implemented with performance and low
|
|
Packit Service |
a2489d |
memory consumption in mind. Standard C++ library is not used, since lftp
|
|
Packit Service |
a2489d |
development started when it was not so standard yet (and boost did not even
|
|
Packit Service |
a2489d |
exist).
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Access to remote files is performed via FileAccess class, which is base
|
|
Packit Service |
a2489d |
class for all protocols. NetAccess is for network file access. There is
|
|
Packit Service |
a2489d |
also LocalAccess for local files access. SSH_Access is for SSH based
|
|
Packit Service |
a2489d |
protocols: FISH and SFTP.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
The class Ftp allows reliable deliver of files via ftp protocol, it hides
|
|
Packit Service |
a2489d |
all the details from application and allows asynchronous operation.
|
|
Packit Service |
a2489d |
Reconnect and reget are done as necessary. It can also speed up ftp
|
|
Packit Service |
a2489d |
operations by sending several commands at once and then checking all the
|
|
Packit Service |
a2489d |
responses. It seems this sometimes does not work, so it is disabled by
|
|
Packit Service |
a2489d |
default. To turn it on, use `set sync-mode n' in lftp.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Note that sending several commands is considered as violation or protocol,
|
|
Packit Service |
a2489d |
but RFC959 says: ``The user-process sending another command before the
|
|
Packit Service |
a2489d |
completion reply would be in violation of protocol; but server-FTP
|
|
Packit Service |
a2489d |
processes should queue any commands that arrive while a preceding command
|
|
Packit Service |
a2489d |
is in progress.''
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
It is known that some network software dealing with address translation
|
|
Packit Service |
a2489d |
works incorrectly in case of several FTP commands in one network packet.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Systems
|
|
Packit Service |
a2489d |
~~~~~~~
|
|
Packit Service |
a2489d |
The package is known to compile on Solaris(gcc), Linux, FreeBSD, NetBSD,
|
|
Packit Service |
a2489d |
SCO v5.0(gcc), IRIX(gcc), Tru64(gcc) and other systems. If you can't
|
|
Packit Service |
a2489d |
compile it on your system, let me know. It is possible that lftp version
|
|
Packit Service |
a2489d |
2.0 can be compiled with non-gcc compilers since it does not have gcc-isms,
|
|
Packit Service |
a2489d |
and it was successfully compiled by Sun C++ v5.0 compiler using
|
|
Packit Service |
a2489d |
CXXFLAGS="-compat=4 -features=bool".
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Mailing list
|
|
Packit Service |
a2489d |
~~~~~~~~~~~~
|
|
Packit Service |
a2489d |
There is a mailing list for discussion of lftp and announcements. It is
|
|
Packit Service |
a2489d |
managed by mailman; to subscribe, send mail to lftp-subscribe@uniyar.ac.ru;
|
|
Packit Service |
a2489d |
to send letters to the list, send them to lftp@uniyar.ac.ru; to
|
|
Packit Service |
a2489d |
unsubscribe, send mail to lftp-unsubscribe@uniyar.ac.ru. This is a low
|
|
Packit Service |
a2489d |
volume list. See also http://univ.uniyar.ac.ru/mailman/listinfo/lftp.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
There is also list lftp-devel@uniyar.ac.ru for snapshot announcements and
|
|
Packit Service |
a2489d |
other development.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
These lists are archived at
|
|
Packit Service |
a2489d |
http://www.mail-archive.com/lftp%40uniyar.ac.ru/
|
|
Packit Service |
a2489d |
http://www.mail-archive.com/lftp-devel%40uniyar.ac.ru/
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
You can also submit pull requests or issues to GitHub:
|
|
Packit Service |
a2489d |
https://github.com/lavv17/lftp
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Author
|
|
Packit Service |
a2489d |
~~~~~~
|
|
Packit Service |
a2489d |
Author: Alexander V. Lukyanov <lav@yars.free.net>
|
|
Packit Service |
a2489d |
My home page: http://lav.yar.ru/
|
|
Packit Service |
a2489d |
My other E-Mails: lav@yar.ru, lav@netis.ru, lavv17f@gmail.com
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Other people have contributed to lftp development, see the THANKS file.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
Comments and bug reports are welcome. Please send them to the list:
|
|
Packit Service |
a2489d |
<lftp@uniyar.ac.ru>. Subscribe if you want your messages to be sent to the
|
|
Packit Service |
a2489d |
list quickly.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
License
|
|
Packit Service |
a2489d |
~~~~~~~
|
|
Packit Service |
a2489d |
Copyright (c) 1996-2014 by Alexander V. Lukyanov (lav@yars.free.net)
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
LFTP is free software: you can redistribute it and/or modify
|
|
Packit Service |
a2489d |
it under the terms of the GNU General Public License as published by
|
|
Packit Service |
a2489d |
the Free Software Foundation, either version 3 of the License, or
|
|
Packit Service |
a2489d |
(at your option) any later version.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
This program is distributed in the hope that it will be useful,
|
|
Packit Service |
a2489d |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
a2489d |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit Service |
a2489d |
GNU General Public License for more details.
|
|
Packit Service |
a2489d |
|
|
Packit Service |
a2489d |
You should have received a copy of the GNU General Public License
|
|
Packit Service |
a2489d |
along with LFTP. If not, see <http://www.gnu.org/licenses/>.
|