** lftp-0.10.0

This package `lftp' contains the following components:

   lftp
      cool command line ftp client.

   ftpget
      a simple non-interactive tool for downloading files

   parallelftp
      Uses several connections to download single file. It can
      be useful to download a file ASAP trough a busy link.

All these programs are written in C++ and based on class Ftp.

The class Ftp allows reliable deliver of files via ftp
protocol, it hides all the details from application and allows
asynchronous operation. Redial and reget are done as necessary.
It also speeds up ftp operations by sending several commands at
once and then checks all the responces. It seems that the
latter sometimes does not work, but syncronous mode can be used
in such cases (`set sync-mode y' in lftp).

Note that sending several commands is considered as violation
or protocol, but RFC959 says: ``The user-process sending
another command before the completion reply would be in
violation of protocol; but server-FTP processes should queue
any commands that arrive while a preceding command is in
progress.''

It is known that some network software dealing with address
translation works incorrectly in case of several FTP commands
in one network packet.


lftp
~~~~
lftp is quite a powerful ftp client. It uses GNU readline to
read commands. It uses shell-like command syntax allowing you
to launch several commands in parallel in background (&).

Some commands allow redirecting its output (cat, ls) to file or
via pipe to external command. Commands can be started
conditionally based on termination status of previous command
(&&, ||). Also, it is possible to group commands within () and
execute them in background. All background jobs are executed in
the same single process. You can bring a foreground job to
background with ^Z and back with command `wait'.

When you think you are done but some jobs are not yet finished,
you can just exit and lftp will move itself to nohup mode in
background, allowing you use your shell.

lftp has reliable put, reput, mirror, as long with many other
commands. Use command `help' to learn more.

On startup, lftp executes `~/.lftprc'. You can place aliases
and `set' commands there. Some people prefer to see full protocol
debug, use `debug' to turn the debug on.

lftp has the following settable variables (you can also use
`set' to see all variables and their values):
 * long-running - (seconds) time of command execution, which is
considered as `long' and a beep is done before next prompt. 0
meand off.
 * ls-default - (string) default ls argument
 * norest-mode - (bool) whether to use REST command
 * prompt - (string) prompt. lftp recognizes some bash escapes,
such as \u, \h, \w.
 * remote-completion - (bool) whether to use remote completion.
 * sync-mode - (bool) send one command at a time and wait for
responce. Might be useful if buggy ftp server or router is
used.


Systems
~~~~~~~
The package is known to compile on Solaris2.5, Linux,
FreeBSD2.1.5 and SCO v5.0(gcc/gmake). If you can't compile it
on your system, let me know.


Author
~~~~~~
Author: Alexander V. Lukyanov <lav@video.yars.free.net>
Postal address: Aviatorov st. 80-45, Yaroslavl 150051, Russia

Comments and bug reports are welcome.
