Blame README

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/>.