forked fromzxcq/lftp-dev
- Notifications
You must be signed in to change notification settings - Fork0
License
NotificationsYou must be signed in to change notification settings
rch79/lftp-dev
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
** lftp-4.5.xThis package `lftp' contains the following components: lftp sophisticated command line file transfer program (ftp/http client, also supports several other protocols). lftpget shell script for downloading by URL, it calls `lftp -c'.lftp is written in C++ and uses a cooperative-threaded model.lftp~~~~lftp is sophisticated file transfer program with command line interface. Itsupports FTP, HTTP, FISH, SFTP and FILE (local FS) protocols. GNU Readlinelibrary is used for input. BitTorrent protocol is supported as built-in`torrent' command.Low level stuff supported: ftp proxy, http proxy, ftp over http, opie/skey,fxp transfers, automatic retrying on non-fatal errors and timeouts, ipv6,socks, http/1.1, sftp v3-v6. See FEATURES for more detailed list offeatures.Every operation in lftp is reliable, that is any non-fatal error is ignoredand the operation is retried. So if downloading breaks, it will berestarted from the point automatically. Even if ftp server does not supportREST command, lftp will try to retrieve the file from the very beginninguntil the file is transferred completely.lftp has shell-like command syntax allowing you to launch several commandsin parallel in background (&). It is also possible to group commands within() and execute them in background. All background jobs are executed in thesame single process. You can bring a foreground job to background with ^Z(c-z) and back with command `wait' (or `fg' which is alias to `wait'). Tolist running jobs, use command `jobs'. Some commands allow redirectingtheir output (cat, ls, ...) to file or via pipe to external command.Commands can be executed conditionally based on termination status ofprevious command (&&, ||).If you exit lftp when some jobs are not finished yet, lftp will move itselfto nohup mode in background. The same happens when you have a real modemhangup or when you close an xterm. It is possible to attach to backgroundedlftp instance using `attach' command in lftp, e.g. `lftp -c attach'.lftp has builtin mirror which can download or update a whole directorytree. There is also reverse mirror (mirror -R) which uploads or updates adirectory tree on server. It is also possible to synchronize two servers,FXP is used automatically if possible.There is command `at' to launch a job at specified time in current context,command `queue' to queue commands for sequential execution for currentserver, and much more.On startup, lftp executes /etc/lftp.conf and then ~/.lftprc and ~/.lftp/rc.You can place aliases and `set' commands there. Some people prefer to seefull protocol debug, use `debug' to turn the debug on. Use `debug 3' to seeonly greeting messages and error messages. if ~/.lftp directory does notexist, XDG directories are used instead: ~/.config/lftp, ~/.local/share/lftpand ~/.cache/lftp.lftp has a number of settable variables. You can use `set -a' to see allvariables and their values or `set -d' to see list of defaults. Variablenames can be abbreviated and prefix can be omitted unless the rest becomesambiguous.Use command `help' or read documentation (man lftp) to learn more.If lftp was compiled with ssl support, then it includes software developedby the OpenSSL Project for use in the OpenSSL Toolkit.(http://www.openssl.org/)Where to get~~~~~~~~~~~~By FTP:ftp://ftp.yar.ru/pub/source/lftp/By HTTP:http://lftp.yar.ru/ftp/By GIT (development):https://github.com/lavv17/lftpSee also the home page `http://lftp.yar.ru/'.Internals~~~~~~~~~All this is based on SMTask class which implements non-preemptivemultitasking via Do method. The method Do does a little bit of work, setswake up condition (block member) and returns.There are also some useful classes: Timer, TimeDate, *Buffer, xstring,xarray, xlist, xmap, xheap, Ref etc. Timers are ordered using a heap datastructure. Primitive classes were implemented with performance and lowmemory consumption in mind. Standard C++ library is not used, since lftpdevelopment started when it was not so standard yet (and boost did not evenexist).Access to remote files is performed via FileAccess class, which is baseclass for all protocols. NetAccess is for network file access. There isalso LocalAccess for local files access. SSH_Access is for SSH basedprotocols: FISH and SFTP.The class Ftp allows reliable deliver of files via ftp protocol, it hidesall the details from application and allows asynchronous operation.Reconnect and reget are done as necessary. It can also speed up ftpoperations by sending several commands at once and then checking all theresponses. It seems this sometimes does not work, so it is disabled bydefault. To turn it on, use `set sync-mode n' in lftp.Note that sending several commands is considered as violation or protocol,but RFC959 says: ``The user-process sending another command before thecompletion reply would be in violation of protocol; but server-FTPprocesses should queue any commands that arrive while a preceding commandis in progress.''It is known that some network software dealing with address translationworks incorrectly in case of several FTP commands in one network packet.Systems~~~~~~~The package is known to compile on Solaris(gcc), Linux, FreeBSD, NetBSD,SCO v5.0(gcc), IRIX(gcc), Tru64(gcc) and other systems. If you can'tcompile it on your system, let me know. It is possible that lftp version2.0 can be compiled with non-gcc compilers since it does not have gcc-isms,and it was successfully compiled by Sun C++ v5.0 compiler usingCXXFLAGS="-compat=4 -features=bool".Mailing list~~~~~~~~~~~~There is a mailing list for discussion of lftp and announcements. It ismanaged by mailman; to subscribe, send mail to lftp-subscribe@uniyar.ac.ru;to send letters to the list, send them to lftp@uniyar.ac.ru; tounsubscribe, send mail to lftp-unsubscribe@uniyar.ac.ru. This is a lowvolume list. See alsohttp://univ.uniyar.ac.ru/mailman/listinfo/lftp.There is also list lftp-devel@uniyar.ac.ru for snapshot announcements andother development.These lists are archived athttp://www.mail-archive.com/lftp%40uniyar.ac.ru/http://www.mail-archive.com/lftp-devel%40uniyar.ac.ru/Author~~~~~~Author: Alexander V. Lukyanov <lav@yars.free.net>My home page:http://lav.yar.ru/My other E-Mails: lav@yar.ru, lav@netis.ru, lavv17f@gmail.comOther people have contributed to lftp development, see the THANKS file.Comments and bug reports are welcome. Please send them to the list:<lftp@uniyar.ac.ru>. Subscribe if you want your messages to be sent to thelist quickly.License~~~~~~~Copyright (c) 1996-2014 by Alexander V. Lukyanov (lav@yars.free.net)LFTP is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with LFTP. If not, see <http://www.gnu.org/licenses/>.
About
No description, website, or topics provided.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Languages
- C58.1%
- C++33.8%
- Shell8.0%
- Perl0.1%