1lftp(1)                     General Commands Manual                    lftp(1)
2
3
4

NAME

6       lftp - Sophisticated file transfer program
7

SYNTAX

9       lftp [-d] [-e cmd] [-p port] [-u user[,pass]] [site]
10       lftp -f script_file
11       lftp -c commands
12       lftp --version
13       lftp --help
14
15

VERSION

17       This man page documents lftp version 4.8.1.
18
19

DESCRIPTION

21       lftp is a file transfer program that allows sophisticated FTP, HTTP and
22       other connections to other hosts. If site is specified then  lftp  will
23       connect  to that site otherwise a connection has to be established with
24       the open command.
25
26       lftp can handle several file access methods - FTP, FTPS,  HTTP,  HTTPS,
27       HFTP,  FISH, SFTP and file (HTTPS and FTPS are only available when lftp
28       is compiled with GNU TLS or  OpenSSL  library).  You  can  specify  the
29       method  to  use  in  `open  URL' command, e.g. `open http://www.us.ker
30       nel.org/pub/linux'. HFTP is ftp-over-http-proxy  protocol.  It  can  be
31       used   automatically   instead   of   FTP   if   ftp:proxy  is  set  to
32       `http://proxy[:port]'. Fish is a protocol working over an  ssh  connec‐
33       tion  to a unix account. SFtp is a protocol implemented in SSH2 as SFTP
34       subsystem.
35
36       Besides FTP-like protocols, lftp has support for BitTorrent protocol as
37       `torrent' command. Seeding is also supported.
38
39
40       Every  operation  in  lftp  is reliable, that is any non-fatal error is
41       handled properly and the  operation  is  repeated.  So  if  downloading
42       breaks,  it will be restarted from the point automatically. Even if FTP
43       server does not support the REST command, lftp will try to retrieve the
44       file from the very beginning until the file is transferred completely.
45
46       lftp  has shell-like command syntax allowing you to launch several com‐
47       mands in parallel in background (&). It is also possible to group  com‐
48       mands within () and execute them in background. All background jobs are
49       executed in the same single process. You can bring a foreground job  to
50       background with ^Z (c-z) and back with command `wait' (or `fg' which is
51       alias to `wait'). To list running jobs, use command `jobs'.  Some  com‐
52       mands allow redirecting their output (cat, ls, ...) to file or via pipe
53       to external command. Commands can be executed  conditionally  based  on
54       termination status of previous command (&&, ||).
55
56       If  you  exit lftp before all jobs are not finished yet, lftp will move
57       itself to nohup mode in background. The same thing happens with a  real
58       modem hangup or when you close an xterm.
59
60       lftp has built-in mirror which can download or update a whole directory
61       tree. There is also reverse mirror (mirror -R) which uploads or updates
62       a  directory  tree  on  server. Mirror can also synchronize directories
63       between two remote servers, using FXP if available.
64
65       There is command `at' to launch a job at specified time in current con‐
66       text,  command  `queue'  to queue commands for sequential execution for
67       current server, and much more.
68
69       On  startup,  lftp  executes  /etc/lftp.conf  and  then  ~/.lftprc  and
70       ~/.lftp/rc  (or  ~/.config/lftp/rc if ~/.lftp does not exist).  You can
71       place aliases and `set' commands there. Some people prefer to see  full
72       protocol  debug, use `debug' to turn the debug on. Use `debug 3' to see
73       only greeting messages and error messages.
74
75       lftp has a number of settable variables. You can use `set  -a'  to  see
76       all  variables  and  their  values or `set -d' to see list of defaults.
77       Variable names can be abbreviated and prefix can be omitted unless  the
78       rest becomes ambiguous.
79
80       If  lftp  was  compiled  with  OpenSSL  (configure  --with-openssl)  it
81       includes software developed by the  OpenSSL  Project  for  use  in  the
82       OpenSSL Toolkit. (http://www.openssl.org/)
83
84
85   Commands
86       ! shell command
87
88       Launch shell or shell command.
89
90            !ls
91
92       To do a directory listing of the local host.
93
94       alias  [name [value]]
95
96       Define  or undefine alias name. If value is omitted, the alias is unde‐
97       fined, else it takes the value value. If no argument is given the  cur‐
98       rent aliases are listed.
99
100            alias dir ls -lF
101            alias less zmore
102
103       at time [ -- command ]
104
105       Wait  until  the  given  time and execute given (optional) command. See
106       also at(1).
107
108       attach  [PID]
109
110       Attach the terminal to specified backgrounded lftp process.
111
112       bookmark  [subcommand]
113
114       The bookmark command controls bookmarks.
115
116       Site names can be used in the open command directly  as-is  or  in  any
117       command that accepts input URLs using the bm:site/path format.
118
119            add <name> [<loc>]   add  current place or given location to book‐
120                                 marks and bind to given name
121            del <name>           remove bookmark with name
122            edit                 start editor on bookmarks file
123            import <type>        import foreign bookmarks
124            list                 list bookmarks (default)
125
126       cache  [subcommand]
127
128       The cache command controls local memory cache.  The  following  subcom‐
129       mands are recognized:
130
131            stat        print cache status (default)
132
133            on|off      turn on/off caching
134            flush       flush cache
135            size lim    set memory limit, -1 means unlimited
136            expire Nx   set  cache  expiration time to N seconds (x=s) minutes
137                        (x=m) hours (x=h) or days (x=d)
138
139       cat files
140
141       cat outputs the remote file(s) to stdout.  (See  also  more,  zcat  and
142       zmore)
143
144       cd rdir
145
146       Change  current  remote  directory.   The  previous remote directory is
147       stored as `-'. You can do `cd -' to change  the  directory  back.   The
148       previous  directory for each site is also stored on disk, so you can do
149       `open site; cd -' even after lftp restart.
150
151       chmod [OPTS] mode files...
152
153       Change permission mask on remote files. The mode can be an octal number
154       or a symbolic mode (see chmod(1)).
155
156            -c, --changes     like verbose but report only when a change is made
157            -f, --quiet       suppress most error messages
158            -v, --verbose     output a diagnostic for every file processed
159            -R, --recursive   change files and directories recursively
160
161       close [-a]
162
163       Close  idle  connections.  By default only with the current server, use
164       -a to close all idle connections.
165
166       cls [OPTS] files...
167
168       `cls' tries to retrieve information about specified files  or  directo‐
169       ries  and outputs the information according to format options. The dif‐
170       ference between `ls' and `cls' is that `ls' requests the server to for‐
171       mat file listing, and `cls' formats it itself, after retrieving all the
172       needed information.
173
174            -1                         single-column output
175            -a, --all                  show dot files
176            -B, --basename             show basename of files only
177                --block-size=SIZ       use SIZ-byte blocks
178            -d, --directory            list directory entries instead of  con‐
179                                       tents
180            -F, --classify             append indicator (one of /@) to entries
181            -h, --human-readable       print  sizes  in  human readable format
182                                       (e.g., 1K)
183                --si                   likewise, but use powers  of  1000  not
184                                       1024
185            -k, --kilobytes            like --block-size=1024
186            -l, --long                 use a long listing format
187            -q, --quiet                don't show status
188            -s, --size                 print size of each file
189                --filesize             if  printing  size, only print size for
190                                       files
191            -i, --nocase               case-insensitive pattern matching
192            -I, --sortnocase           sort names case-insensitively
193            -D, --dirsfirst            list directories first
194                --sort=OPT             "name", "size", "date"
195            -S                         sort by file size
196                --user, --group,
197                --perms, --date,
198
199                --linkcount, --links   show individual fields
200                --time-style=STYLE     use specified time format
201
202       command cmd args...
203
204       execute given command ignoring aliases.
205
206       debug [OPTS] level|off
207
208       Switch debugging to level or turn it off. Options:
209
210            -T        truncate output file
211            -o <file> redirect debug output to the file
212            -c        show message context
213            -p        show PID
214            -t        show timestamps
215
216       echo [-n] string
217
218       Prints (echos) the given string to the display.
219
220       edit [OPTS] file
221
222       Retrieve remote file to a temporary location, run a local editor on  it
223       and upload the file back if changed. Options:
224
225            -k        keep the temporary file
226            -o <temp> explicit temporary file location
227
228       eval [-f format ] args...
229
230       without -f it executes given arguments as a command. With -f, arguments
231       are transformed into a new command. The format can contain  plain  text
232       and placeholders $0...$9 and $@, corresponding to the arguments.
233
234       exit [bg] [top] [parent] [kill] [code]
235
236       exit  will  exit  from  lftp  or move to background if there are active
237       jobs. If no job is active, code is passed to operating system as lftp's
238       termination  status.  If code is omitted, the exit code of last command
239       is used.
240
241       `exit bg' forces  moving  to  background  when  cmd:move-background  is
242       false.   `exit  top'  makes  top  level  `shell' (internal lftp command
243       executor) terminate.  `exit parent' terminates the  parent  shell  when
244       running  a  nested  script.  `exit kill' kills all numbered jobs before
245       exiting. The options can be combined, e.g.  `at 08:00 -- exit top  kill
246       &' kills all jobs and makes lftp exit at specified time.
247
248       fg
249
250       Alias for `wait'.
251
252       find [OPTS] directory...
253
254       List files in the directory (current directory by default) recursively.
255       This can help with servers lacking ls -R support. You can redirect out‐
256       put of this command. Options:
257
258            -d MD, --max-depth=MD   specify maximum scan depth
259            -l,    --ls             use long listing format
260
261       ftpcopy
262
263       Obsolete. Use one of the following instead:
264            get ftp://... -o ftp://...
265            get -O ftp://... file1 file2...
266            put ftp://...
267            mput ftp://.../*
268            mget -O ftp://... ftp://.../*
269       or  other  combinations  to  get FXP transfer (directly between two FTP
270       servers).  lftp would fallback to plain copy (via client) if FXP trans‐
271       fer cannot be initiated or ftp:use-fxp is false.
272
273       get [-E] [-a] [-c] [-e] [-P N] [-O base] rfile [-o lfile] ...
274
275       Retrieve  the  remote  file rfile and store it as the local file lfile.
276       If -o is omitted, the file is stored to local file named as  base  name
277       of  rfile.  You can get multiple files by specifying multiple instances
278       of rfile (and -o lfile). Does not expand wildcards, use mget for that.
279
280            -c          continue, reget
281            -E          delete source files after successful transfer
282            -e          delete target file before the transfer
283            -a          use ascii mode (binary is the default)
284            -P N        download N files in parallel
285            -O <base>   specifies base directory or URL where files should  be
286                        placed
287
288       Examples:
289            get README
290            get README -o debian.README
291            get README README.mirrors
292            get README -o debian.README README.mirrors -o debian.mirrors
293            get README -o ftp://some.host.org/debian.README
294            get README -o ftp://some.host.org/debian-dir/   (end slash is important)
295
296       get1 [OPTS] rfile
297
298       Transfer a single file. Options:
299
300            -o <lfile>                  destination  file name (default - base‐
301                                        name of rfile)
302            -c                          continue, reget
303            -E                          delete source  files  after  successful
304                                        transfer
305            -a                          use ascii mode (binary is the default)
306            -d                          create the directory of the target file
307            --source-region=<from-to>   transfer  specified  region  of  source
308                                        file
309            --target-position=<pos>     position in target file to  write  data
310                                        at
311
312       glob  [OPTS] [command] patterns
313
314       Glob  given patterns containing metacharacters and pass result to given
315       command or return appropriate exit code.
316
317            -f            plain files (default)
318            -d            directories
319            -a            all types
320            --exist       return zero exit code when the patterns expand to non-empty list
321            --not-exist   return zero exit code when the patterns expand to an empty list
322
323       Examples:
324            glob echo *
325            glob --exist *.csv && echo "There are *.csv files"
326
327       help [cmd]
328
329       Print help for cmd or if no cmd was specified print a list of available
330       commands.
331
332       jobs [OPTS] [job_no...]
333
334       List  running  jobs.  If job_no is specified, only list a job with that
335       number.  Options:
336
337            -v   verbose, several -v increase verbosity
338            -r   list just one specified job without recursion
339
340       kill all|job_no
341
342       Delete specified job with job_no or all jobs.  (For job_no see jobs)
343
344       lcd ldir
345
346       Change current local directory ldir. The previous  local  directory  is
347       stored as `-'. You can do `lcd -' to change the directory back.
348
349       ln [-s] existing-file new-link
350
351       Make  a hard/symbolic link to an existing file.  Option -s selects cre‐
352       ation of a symbolic link.
353
354       local command
355
356       Run specified command with local directory file:// session  instead  of
357       remote session. Examples:
358            local pwd
359            local ls
360            local mirror /dir1 /dir2
361
362       lpwd
363
364       Print current working directory on local machine.
365
366       ls params
367
368       List  remote  files. You can redirect output of this command to file or
369       via pipe to external command.  By default, ls output is cached, to  see
370       new listing use rels or cache flush.
371
372       mget [-c] [-d] [-a] [-E] [-e] [-P N] [-O base] files
373
374       Gets selected files with expanded wildcards.
375
376            -c          continue, reget.
377            -d          create  directories the same as file names and get the
378                        files into them instead of current directory.
379            -E          delete source files after successful transfer
380            -e          delete target file before the transfer
381            -a          use ascii mode (binary is the default)
382            -P N        download N files in parallel
383            -O <base>   specifies base directory or URL where files should  be
384                        placed
385
386       mirror [OPTS] [source [target]]
387
388       Mirror specified source directory to the target directory.
389
390       By  default  the  source is remote and the target is a local directory.
391       When using -R, the source directory is local and the target is  remote.
392       If  the  target directory is omitted, base name of the source directory
393       is used.  If both directories are omitted,  current  local  and  remote
394       directories are used.
395
396       The source and/or the target may be URLs pointing to directories.
397
398       If  the  target directory ends with a slash (except the root directory)
399       then base name of the source directory is appended.
400
401            -c,      --continue                 continue a mirror job if  pos‐
402                                                sible
403            -e,      --delete                   delete  files  not  present at
404                                                the source
405                     --delete-excluded          delete files excluded  at  the
406                                                target
407                     --delete-first             delete old files before trans‐
408                                                ferring new ones
409                     --depth-first              descend  into   subdirectories
410                                                before transferring files
411                     --scan-all-first           scan  all  directories  recur‐
412                                                sively   before   transferring
413                                                files
414            -s,      --allow-suid               set  suid/sgid  bits according
415                                                to the source
416                     --allow-chown              try to set owner and group  on
417                                                files
418                     --ascii                    use   ascii   mode   transfers
419                                                (implies --ignore-size)
420                     --ignore-time              ignore  time   when   deciding
421                                                whether to download
422                     --ignore-size              ignore   size   when  deciding
423                                                whether to download
424                     --only-missing             download only missing files
425                     --only-existing            download  only  files  already
426                                                existing at target
427            -n,      --only-newer               download  only newer files (-c
428                                                won't work)
429                     --upload-older             upload even files  older  than
430                                                the target ones
431                     --transfer-all             transfer all files, even seem‐
432                                                ingly the same at  the  target
433                                                site
434                     --no-empty-dirs            don't create empty directories
435                                                (implies --depth-first)
436            -r,      --no-recursion             don't go to subdirectories
437                     --recursion=MODE           go to subdirectories on a con‐
438                                                dition
439                     --no-symlinks              don't create symbolic links
440            -p,      --no-perms                 don't set file permissions
441                     --no-umask                 don't   apply  umask  to  file
442                                                modes
443            -R,      --reverse                  reverse mirror (put files)
444            -L,      --dereference              download  symbolic  links   as
445                                                files
446                     --overwrite                overwrite  plain files without
447                                                removing them first
448                     --no-overwrite             remove  and  re-create   plain
449                                                files instead of overwriting
450            -N,      --newer-than=SPEC          download only files newer than
451                                                specified time
452                     --older-than=SPEC          download only files older than
453                                                specified time
454                     --size-range=RANGE         download  only files with size
455                                                in specified range
456            -P,      --parallel[=N]             download N files in parallel
457                     --use-pget[-n=N]           use  pget  to  transfer  every
458                                                single file
459                     --on-change=CMD            execute  the  command  if any‐
460                                                thing has been changed
461
462
463                     --loop                     repeat mirror until no changes
464                                                found
465            -i RX,   --include=RX               include matching files
466            -x RX,   --exclude=RX               exclude matching files
467            -I GP,   --include-glob=GP          include matching files
468            -X GP,   --exclude-glob=GP          exclude matching files
469                     --include-rx-from=FILE
470                     --exclude-rx-from=FILE
471                     --include-glob-from=FILE
472                     --exclude-glob-from=FILE   load  include/exclude patterns
473                                                from the file, one per line
474            -f FILE, --file=FILE                mirror  a   single   file   or
475                                                globbed       group      (e.g.
476                                                /path/to/*.txt)
477            -F DIR,  --directory=DIR            mirror a single  directory  or
478                                                globbed       group      (e.g.
479                                                /path/to/dir*)
480            -O DIR,  --target-directory=DIR     target base path or URL
481            -v,      --verbose[=level]          verbose operation
482                     --log=FILE                 write lftp commands being exe‐
483                                                cuted to FILE
484                     --script=FILE              write  lftp  commands to FILE,
485                                                but don't execute them
486                     --just-print, --dry-run    same as --script=-
487                     --max-errors=N             stop  after  this  number   of
488                                                errors
489                     --skip-noaccess            don't  try  to  transfer files
490                                                with no read access.
491                     --use-cache                use cached directory listings
492                     --Remove-source-files      remove  source   files   after
493                                                transfer (use with caution)
494                     --Remove-source-dirs       remove source files and direc‐
495                                                tories  after  transfer   (use
496                                                with   caution).    Top  level
497                                                directory is  not  removed  if
498                                                it's name ends with a slash.
499                     --Move                     same as --Remove-source-dirs
500            -a                                  same as --allow-chown --allow-
501                                                suid --no-umask
502            RX is an extended regular expression, just like in egrep(1).
503
504       GP is a glob pattern, e.g. `*.zip'.
505
506       Include and exclude options can be specified multiple times.  It  means
507       that a file or directory would be mirrored if it matches an include and
508       does not match to excludes after the include, or does  not  match  any‐
509       thing  and  the  first check is exclude. Directories are matched with a
510       slash appended.
511
512       Note that symbolic links are  not  created  when  uploading  to  remote
513       server,  because  FTP  protocol cannot do it. To upload files the links
514       refer to, use `mirror -RL' command (treat symbolic links as files).
515
516       For options --newer-than and --older-than you can either specify a file
517       or   time   specification   like  that  used  by  at(1)  command,  e.g.
518       `now-7days' or `week ago'. If you specify  a  file,  then  modification
519       time of that file will be used.
520
521       Verbosity level can be selected using --verbose=level option or by sev‐
522       eral -v options, e.g. -vvv. Levels are:
523            0 - no output (default)
524            1 - print actions
525            2 - +print not deleted file names (when -e is not specified)
526            3 - +print directory names which are mirrored
527
528       --only-newer turns off file size comparison and uploads/downloads  only
529       newer  files  even  if  size  is  different. By default older files are
530       transferred and replace newer ones.
531
532       --upload-older allows replacing newer  remote  files  with  older  ones
533       (when the target side is remote). Some remote back-ends cannot preserve
534       timestamps so the default is to keep newer files.
535
536       Recursion mode can be one of  `always',  `never',  `missing',  `newer'.
537       With  the  option `newer' mirror compares timestamps of directories and
538       enters a directory only if it is older or missing on the  target  side.
539       Be  aware that when a file changes the directory timestamp may stay the
540       same, so mirror won't process that directory.
541
542       The options --file and --directory may be used multiple times and  even
543       mixed provided that base directories of the paths are the same.
544
545       You  can  mirror  between  two  servers  if you specify URLs instead of
546       directories.  FXP is  automatically  used  for  transfers  between  FTP
547       servers, if possible.
548
549       Some  FTP  servers hide dot-files by default (e.g. .htaccess), and show
550       them only when LIST command is used with -a option. In such case try to
551       use `set ftp:list-options -a'.
552
553       --depth-first, --no-empty-dirs and setting mirror:no-empty-dirs=true.
554
555       mkdir [-p] [-f] dir(s)
556
557       Make  remote  directories. If -p is used, make all components of paths.
558       The -f option makes mkdir quiet and suppresses messages.
559
560       module module [ args ]
561
562       Load given module using dlopen(3) function. If  module  name  does  not
563       contain a slash, it is searched in directories specified by module:path
564       variable.   Arguments  are  passed   to   module_init   function.   See
565       README.modules for technical details.
566
567       more files
568
569       Same  as  `cat  files  |  more'. if PAGER is set, it is used as filter.
570       (See also cat, zcat and zmore)
571
572       mput [-c] [-d] [-a] [-E] [-e] [-P N] [-O base] files
573
574       Upload files with wildcard expansion. By default it uses the base  name
575       of local name as remote one. This can be changed by `-d' option.
576
577            -c          continue, reput
578            -d          create  directories  the same as in file names and put
579                        the files into them instead of current directory
580            -E          delete source files after successful transfer (danger‐
581                        ous)
582            -e          delete target file before the transfer
583            -a          use ascii mode (binary is the default)
584            -P N        upload N files in parallel
585            -O <base>   specifies  base directory or URL where files should be
586                        placed
587
588       mrm file(s)
589
590       Same as `glob rm'. Removes specified file(s) with wildcard expansion.
591
592       mmv [-O directory] file(s) directory
593
594       Move specified files to a target directory. The target directory can be
595       specified after -O option or as the last argument.
596
597            -O <dir>   specifies  the  target  directory where files should be
598                       placed
599
600       mv file1 file2
601
602       Rename file1 to file2. No wildcard exmapsion is performed.  If you give
603       more  than  two arguments, or the last argument ends with a slash, then
604       mmv command is executed instead.
605
606       nlist [args]
607
608       List remote file names
609
610       open [OPTS] site
611
612       Select a server by host name, URL or bookmark. When an URL or  bookmark
613       is  given,  automatically  change  the current working directory to the
614       directory of the URL.  Options:
615
616            -e cmd            execute the command just after selecting the server
617            -u user[,pass]    use the user/password for authentication
618            -p port           use the port for connection
619            -s slot           assign the connection to this slot
620            -d                enable debug
621            -B                don't look up bookmarks
622            --user user       use the user for authentication
623            --password pass   use the password for authentication
624            --env-password    take password from LFTP_PASSWORD environment variable
625            site              host name, URL or bookmark name
626
627       pget [OPTS] rfile [-o lfile]
628
629       Gets the specified file using several connections. This  can  speed  up
630       transfer,  but  loads the net and server heavily impacting other users.
631       Use only if you really have to transfer the file ASAP.  Options:
632
633            -c           continue  transfer.  Requires  lfile.lftp-pget-status
634                         file.
635            -n maxconn   set  maximum  number of connections (default is taken
636                         from pget:default-n setting)
637
638       put [-E] [-a] [-c] [-e] [-P N] [-O base] lfile [-o rfile]
639
640       Upload lfile with remote name rfile. If -o omitted, the  base  name  of
641       lfile  is  used as remote name. Does not expand wildcards, use mput for
642       that.
643
644            -o <rfile>   specifies remote file name  (default  -  basename  of
645                         lfile)
646            -c           continue,  reput. It requires permission to overwrite
647                         remote files
648            -E           delete source files after successful  transfer  (dan‐
649                         gerous)
650            -e           delete target file before the transfer
651            -a           use ascii mode (binary is the default)
652            -P N         upload N files in parallel
653            -O <base>    specifies base directory or URL where files should be
654                         placed
655
656       pwd [-p]
657
658       Print current remote URL. Use `-p' option to show password in the URL.
659
660       queue [-n num ] cmd
661
662       Add the given command to queue for sequential execution. Each site  has
663       its  own  queue.  `-n'  adds  the  command before the given item in the
664       queue. Don't try to queue `cd' or `lcd' commands, it may confuse  lftp.
665       Instead  do the cd/lcd before `queue' command, and it will remember the
666       place in which the command is to be done. It is possible to queue up an
667       already  running job by `queue wait <jobno>', but the job will continue
668       execution even if it is not the first in queue.
669
670       `queue stop' will stop the queue, it will not execute any new commands,
671       but already running jobs will continue to run. You can use `queue stop'
672       to create an empty stopped queue. `queue start' will resume queue  exe‐
673       cution.  When you exit lftp, it will start all stopped queues automati‐
674       cally.
675
676       `queue' with no arguments will either create a stopped queue  or  print
677       queue status.
678
679       queue --delete|-d [index or wildcard expression]
680
681       Delete  one  or more items from the queue. If no argument is given, the
682       last entry in the queue is deleted.
683
684       queue --move|-m <index or wildcard expression> [index]
685
686       Move the given items before the given queue index, or to the end if  no
687       destination is given.
688
689            -q   Be quiet.
690            -v   Be verbose.
691            -Q   Output  in a format that can be used to re-queue. Useful with
692                 --delete.
693
694       Examples:
695            > get file &
696            [1] get file
697            > queue wait 1
698            > queue get another_file
699            > cd a_directory
700            > queue get yet_another_file
701
702            queue -d 3             Delete the third item in the queue.
703            queue -m 6 4           Move the sixth item in the queue before the
704                                   fourth.
705            queue -m "get*zip" 1   Move all commands matching "get*zip" to the
706                                   beginning of the queue.  (The order of  the
707                                   items is preserved.)
708            queue -d "get*zip"     Delete all commands matching "get*zip".
709
710       quote cmd
711
712       For  FTP  -  send  the command uninterpreted. Use with caution - it can
713       lead to unknown remote state and thus will cause reconnect. You  cannot
714       be  sure  that  any change of remote state because of quoted command is
715       solid - it can be reset by reconnect at any time.
716
717       For  HTTP  -  specific  to  HTTP  action.  Syntax:  ``quote   <command>
718       [<args>]''.  Command may be ``set-cookie'' or ``post''.
719            open http://www.site.net
720            quote set-cookie "variable=value; othervar=othervalue"
721            set http:post-content-type application/x-www-form-urlencoded
722            quote post /cgi-bin/script.cgi "var=value&othervar=othervalue" > local_file
723
724       For  FISH - send the command uninterpreted. This can be used to execute
725       arbitrary commands on server. The command must not take input or  print
726       ###  at new line beginning. If it does, the protocol will become out of
727       sync.
728            open fish://server
729            quote find -name \*.zip
730
731       reget rfile [-o lfile]
732
733       Same as `get -c'.
734
735       rels [args]
736
737       Same as `ls', but ignores the cache.
738
739       renlist [args]
740
741       Same as `nlist', but ignores the cache.
742
743       repeat [OPTS] [[-d] delay] [command]
744
745       Repeat specified command with  a  delay  between  iterations.   Default
746       delay is one second, default command is empty.
747
748            -c <count>    maximum number of iterations
749            -d <delay>    delay between iterations
750            --while-ok    stop when command exits with non-zero code
751            --until-ok    stop when command exits with zero code
752            --weak        stop when lftp moves to background.
753
754       Examples:
755            repeat at tomorrow -- mirror
756            repeat 1d mirror
757
758       reput lfile [-o rfile]
759
760       Same as `put -c'.
761
762       rm [-r] [-f] files
763
764       Remove  remote  files.  Does not expand wildcards, use mrm for that. -r
765       is for recursive directory remove. Be careful, if something goes  wrong
766       you can lose files. -f suppress error messages.
767
768       rmdir dir(s)
769
770       Remove remote directories.
771
772       scache [session]
773
774       List cached sessions or switch to specified session.
775
776       set [var [val]]
777
778       Set  variable  to given value. If the value is omitted, unset the vari‐
779       able.  Variable name has format  ``name/closure'',  where  closure  can
780       specify  exact  application  of the setting. See below for details.  If
781       set is called with no variable then only altered settings  are  listed.
782       It can be changed by options:
783
784            -a   list all settings, including default values
785            -d   list only default values, not necessary current ones
786
787       site site_cmd
788
789       Execute  site command site_cmd and output the result.  You can redirect
790       its output.
791
792       sleep interval
793
794       Sleep given time interval and exit. Interval is in seconds by  default,
795       but  can  be  suffixed  with  'm', 'h', 'd' for minutes, hours and days
796       respectively.  See also at.
797
798       slot [name]
799
800       Select specified slot or list all slots allocated. A slot is a  connec‐
801       tion  to a server, somewhat like a virtual console. You can create mul‐
802       tiple slots connected to different servers and switch between them. You
803       can  also  use  slot:name as a pseudo-URL evaluating to that slot loca‐
804       tion.
805
806       Default readline binding allows quick switching between slots named 0-9
807       using Meta-0 - Meta-9 keys (often you can use Alt instead of Meta).
808
809       source file
810       source -e command
811
812       Execute  commands recorded in file file or returned by specified exter‐
813       nal command.
814            source ~/.lftp/rc
815            source -e echo help
816
817       suspend
818
819       Stop lftp process. Note that transfers will be also stopped  until  you
820       continue the process with shell's fg or bg commands.
821
822       torrent [OPTS] torrent-files...
823
824       Start  BitTorrent  process  for the given torrent-files, which can be a
825       local file, URL, magnet link or  plain  info_hash  written  in  hex  or
826       base32.   Local  wildcards are expanded. Existing files are first vali‐
827       dated unless --force-valid option is given. Missing  pieces  are  down‐
828       loaded.  Files  are  stored  in  specified directory or current working
829       directory by  default.  Seeding  continues  until  ratio  reaches  tor‐
830       rent:stop-on-ratio setting or time of torrent:seed-max-time runs out.
831
832       Options:
833
834            -O <directory>           specifies   base  directory  where  files
835                                     should be placed
836            --force-valid            skip file validation  (if  you  are  sure
837                                     they are ok).
838            --only-new               stop  if the metadata is known already or
839                                     the torrent is complete.
840            --only-incomplete        stop if the torrent is already complete.
841            --dht-bootstrap=<node>   bootstrap DHT by sending a query to spec‐
842                                     ified  node.   This option should be used
843                                     just once to fill the local  node  cache.
844                                     Port  number  may  be  given after colon,
845                                     default is 6881.  Here are some nodes for
846                                     bootstrapping:    dht.transmissionbt.com,
847                                     router.utorrent.com,       router.bittor‐
848                                     rent.com.
849            --share                  share  specified  file or directory using
850                                     BitTorrent  protocol.  Magnet   link   is
851                                     printed when it's ready.
852
853       user user [pass]
854       user URL [pass]
855
856       Use  specified  info  for remote login. If you specify an URL with user
857       name, the entered password will be cached so that future URL references
858       can use it.
859
860       version
861
862       Print lftp version.
863
864       wait [jobno]
865       wait all
866
867       Wait for specified job to terminate. If jobno is omitted, wait for last
868       backgrounded job.
869
870       `wait all' waits for all jobs to terminate.
871
872       zcat files
873
874       Same as cat, but filter each file through zcat. (See also cat, more and
875       zmore)
876
877       zmore files
878
879       Same  as  more,  but filter each file through zcat. (See also cat, zcat
880       and more)
881
882
883   Settings
884       On  startup,  lftp  executes  ~/.lftprc  and  ~/.lftp/rc  (or   ~/.con‐
885       fig/lftp/rc  if  ~/.lftp  does  not  exist).  You can place aliases and
886       `set' commands there. Some people prefer to see  full  protocol  debug,
887       use `debug' to turn the debug on.
888
889       There  is also a system-wide startup file in /etc/lftp.conf.  It can be
890       in different directory, see FILES section.
891
892       lftp has the following settable variables (you can also use `set -a' to
893       see all variables and their values):
894
895       bmk:save-passwords (boolean)
896              save  plain  text  passwords in ~/.local/share/lftp/bookmarks or
897              ~/.lftp/bookmarks on `bookmark add' command.  Off by default.
898
899       cache:cache-empty-listings (boolean)
900              When false, empty listings are not cached.
901
902       cache:enable (boolean)
903              When false, cache is disabled.
904
905       cache:expire (time interval)
906              Positive cache entries expire in this time interval.
907
908       cache:expire-negative (time interval)
909              Negative cache entries expire in this time interval.
910
911       cache:size (number)
912              Maximum cache size. When exceeded, oldest cache entries will  be
913              removed from cache.
914
915       cmd:at-exit (string)
916              the  commands  in string are executed before lftp exits or moves
917              to background.
918
919       cmd:at-exit-bg (string)
920              the commands in string are  executed  before  backgrounded  lftp
921              exits.
922
923       cmd:at-exit-fg (string)
924              the  commands  in  string  are  executed  before foreground lftp
925              exits.
926
927       cmd:at-background (string)
928              the commands in string are executed before lftp moves  to  back‐
929              ground.
930
931       cmd:at-terminate (string)
932              the  commands  in  string  are  executed  before lftp terminates
933              (either backgrounded or foreground).
934
935       cmd:at-finish (string)
936              the commands in string are executed once when all jobs are done.
937
938       cmd:at-queue-finish (string)
939              the commands in string are executed once  when  all  jobs  in  a
940              queue are done.
941
942       cmd:cls-completion-default (string)
943              default cls options for displaying completion choices. For exam‐
944              ple, to make completion listings show file sizes,  set  cmd:cls-
945              completion-default to `-s'.
946
947       cmd:cls-default (string)
948              default  cls  command options. They can be overridden by explic‐
949              itly given options.
950
951       cmd:cls-exact-time (boolean)
952              when true, cls would try to get  exact  file  modification  time
953              even if it means more requests to the server.
954
955       cmd:csh-history (boolean)
956              enables csh-like history expansion.
957
958       cmd:default-protocol (string)
959              The  value is used when `open' is used with just host name with‐
960              out protocol. Default is `ftp'.
961
962       cmd:fail-exit (boolean)
963              if true, exit when a command fails and the following command  is
964              unconditional  (i.e.  does  not begin with || or &&). lftp exits
965              after the unconditional command is issued without executing it.
966
967       cmd:interactive (tri-boolean)
968              when true, lftp acts interactively, handles terminal signals and
969              outputs  some  extra  messages.  Default  is auto and depends on
970              stdin being a terminal.
971
972       cmd:long-running (seconds)
973              time of command execution, which is considered as `long'  and  a
974              beep is done before next prompt. 0 means off.
975
976       cmd:ls-default (string)
977              default ls argument
978
979       cmd:move-background (boolean)
980              when  false,  lftp  refuses to go to background when exiting. To
981              force it, use `exit bg'.
982
983       cmd:move-background-detach (boolean)
984              when true (default), lftp detaches itself from the control  ter‐
985              minal  when  moving to background, it is possible to attach back
986              using `attach' command; when false, lftp  tricks  the  shell  to
987              move lftp to background process group and continues to run, then
988              fg shell command brings lftp back to foreground  unless  it  has
989              done all jobs and terminated.
990
991       cmd:prompt (string)
992              The prompt. lftp recognizes the following backslash-escaped spe‐
993              cial characters that are decoded as follows:
994              \@     insert @ if the current remote site user is not default
995              \a     an ASCII bell character (07)
996              \e     an ASCII escape character (033)
997              \h     the remote hostname you are connected to
998              \n     newline
999              \s     the name of the client (lftp)
1000              \S     current slot name
1001              \u     the username of the remote site user you are logged in as
1002              \U     the     URL     of     the     remote     site     (e.g.,
1003                     ftp://g437.ub.gu.se/home/james/src/lftp)
1004              \v     the version of lftp (e.g., 2.0.3)
1005              \w     the current working directory at the remote site
1006              \W     the  base  name  of  the current working directory at the
1007                     remote site
1008              \l     the current working directory at the local site
1009              \L     the base name of the current  working  directory  at  the
1010                     local site
1011              \nnn   the character corresponding to the octal number nnn
1012              \\     a backslash
1013              \?     skips next character if previous substitution was empty.
1014              \[     begin  a sequence of non-printing characters, which could
1015                     be used to embed a terminal  control  sequence  into  the
1016                     prompt
1017              \]     end a sequence of non-printing characters
1018
1019
1020       cmd:parallel (number)
1021              Number  of  jobs  run  in  parallel in non-interactive mode. For
1022              example, this may be useful for scripts with multiple `get' com‐
1023              mands.  Note that setting this to a value greater than 1 changes
1024              conditional execution behaviour, basically  makes  it  inconsis‐
1025              tent.
1026
1027       cmd:queue-parallel (number)
1028              Number of jobs run in parallel in a queue.
1029
1030       cmd:remote-completion (boolean)
1031              a boolean to control whether or not lftp uses remote completion.
1032              When true, Tab key guesses if the word being completed should be
1033              a  remote  file name. Meta-Tab does remote completion always. So
1034              you can force remote completion with Meta-Tab  when  cmd:remote-
1035              completion is false or when the guess is wrong.
1036
1037       cmd:save-cwd-history (boolean)
1038              when   true,   lftp   saves   last   CWD   of   each   site   to
1039              ~/.local/share/lftp/cwd_history or ~/.lftp/cwd_history, allowing
1040              to do ``cd -'' after lftp restart. Default is true.
1041
1042       cmd:save-rl-history (boolean)
1043              when     true,     lftp     saves     readline     history    to
1044              ~/.local/share/lftp/rl_history or  ~/.lftp/rl_history  on  exit.
1045              Default is true.
1046
1047       cmd:show-status (boolean)
1048              when  false, lftp does not show status line on terminal. Default
1049              is true.
1050
1051       cmd:set-term-status (boolean)
1052              when true, lftp  updates  terminal  status  if  supported  (e.g.
1053              xterm).  The  closure for this setting is the terminal type from
1054              TERM environment variable.
1055
1056       cmd:status-interval (timeinterval)
1057              the time interval between status updates.
1058
1059       cmd:stifle-rl-history (number)
1060              the number of lines to keep in readline history.
1061
1062       cmd:term-status (string)
1063              the format string to use to display terminal status. The closure
1064              for  this  setting  is  the  terminal type from TERM environment
1065              variable. Default uses ``tsl'' and ``fsl'' termcap values.
1066
1067              The following escapes are supported:
1068
1069                   \a   bell
1070                   \e   escape
1071                   \n   new line
1072                   \s   "lftp"
1073                   \v   lftp version
1074                   \T   the status string
1075
1076       cmd:time-style (string)
1077              This setting is the default value for cls --time-style option.
1078
1079       cmd:trace (boolean)
1080              when true, lftp prints the commands it executes (like sh -x).
1081
1082       cmd:verify-host (boolean)
1083              if true, lftp resolves host name immediately in `open'  command.
1084              It  is  also possible to skip the check for a single `open' com‐
1085              mand if `&' is given, or if ^Z is pressed during the check.
1086
1087       cmd:verify-path (boolean)
1088              if true, lftp checks the path given in `cd' command.  It is also
1089              possible  to  skip the check for a single `cd' command if `&' is
1090              given, or if ^Z is pressed during the check.  Examples:
1091                   set cmd:verify-path/hftp://* false
1092                   cd directory &
1093
1094       cmd:verify-path-cached (boolean)
1095              When false, `cd' to a directory known  from  cache  as  existent
1096              will  succeed  immediately.   Otherwise  the  verification  will
1097              depend on cmd:verify-path setting.
1098
1099       color:use-color (tri-boolean)
1100              when true, cls command and completion output colored file  list‐
1101              ings  according  to color:dir-colors setting.  When set to auto,
1102              colors are used when output is a terminal.
1103
1104       color:dir-colors (string)
1105              file listing color description. By default the value of  LS_COL‐
1106              ORS environment variable is used. See dircolors(1).
1107
1108       dns:SRV-query (boolean)
1109              query for SRV records and use them before gethostbyname. The SRV
1110              records are only used if port is not explicitly  specified.  See
1111              RFC2052 for details.
1112
1113       dns:cache-enable (boolean)
1114              enable  DNS  cache.  If  it is off, lftp resolves host name each
1115              time it reconnects.
1116
1117       dns:cache-expire (time interval)
1118              time to  live  for  DNS  cache  entries.  It  has  format  <num‐
1119              ber><unit>+,  e.g.   1d12h30m5s  or just 36h. To disable expira‐
1120              tion, set it to `inf' or `never'.
1121
1122       dns:cache-size (number)
1123              maximum number of DNS cache entries.
1124
1125       dns:fatal-timeout (time interval)
1126              limit the time for DNS queries. If DNS server is unavailable too
1127              long,  lftp  will  fail  to  resolve  a  given host name. Set to
1128              `never' to disable.
1129
1130       dns:order (list of protocol names)
1131              sets the order of DNS queries. Default is ``inet6  inet''  which
1132              means  first  look up address in inet6 family, then inet and use
1133              them in that order.  To disable inet6 (AAAA)  lookup,  set  this
1134              variable to ``inet''.
1135
1136       dns:use-fork (boolean)
1137              if  true,  lftp will fork before resolving host address. Default
1138              is true.
1139
1140       dns:max-retries (number)
1141              If zero, there is no limit on the number of times lftp will  try
1142              to lookup an address.  If > 0, lftp will try only this number of
1143              times to look up an address of each address family in dns:order.
1144
1145       dns:name (string)
1146              This setting can be used to substitute a host  name  alias  with
1147              another  name  or IP address. The host name alias is used as the
1148              setting closure, the substituted name or IP address  is  in  the
1149              value. Multiple names or IP addresses can be separated by comma.
1150
1151       file:charset (string)
1152              local character set. It is set from current locale initially.
1153
1154       file:use-lock (boolean)
1155              when  true, lftp uses advisory locking on local files when open‐
1156              ing them.
1157
1158       file:use-fallocate (boolean)
1159              when true, lftp uses fallocate(2) or posix_fallocate(3) to  pre-
1160              allocate storage space and reduce file fragmentation in pget and
1161              torrent commands.
1162
1163       fish:auto-confirm (boolean)
1164              when true, lftp answers ``yes'' to all ssh questions, in partic‐
1165              ular  to the question about a new host key. Otherwise it answers
1166              ``no''.
1167
1168       fish:charset (string)
1169              the character set used by fish server in requests,  replies  and
1170              file listings.  Default is empty which means the same as local.
1171
1172       fish:connect-program (string)
1173              the  program  to  use for connecting to remote server. It should
1174              support `-l' option for user name, `-p' for port number. Default
1175              is  `ssh  -a -x'. You can set it to `rsh', for example. For pri‐
1176              vate key authentication add `-i' option with the key file.
1177
1178       fish:shell (string)
1179              use specified shell on server side. Default is /bin/sh. On  some
1180              systems,  /bin/sh  exits  when doing cd to a non-existent direc‐
1181              tory. lftp can handle that but it has to reconnect.  Set  it  to
1182              /bin/bash for such systems if bash is installed.
1183
1184       ftp:acct (string)
1185              Send  this  string  in  ACCT  command after login. The result is
1186              ignored.  The closure for this setting has format user@host.
1187
1188       ftp:anon-pass (string)
1189              sets the password used for anonymous FTP access  authentication.
1190              Default is "lftp@".
1191
1192       ftp:anon-user (string)
1193              sets the user name used for anonymous FTP access authentication.
1194              Default is "anonymous".
1195
1196       ftp:auto-sync-mode (regex)
1197              if first server message matches this regex, turn  on  sync  mode
1198              for that host.
1199
1200       ftp:catch-size (boolean)
1201              when  there  is  no  support for SIZE command, try to catch file
1202              size from the "150 Opening data connection" reply.
1203
1204       ftp:charset (string)
1205              the character set used by FTP server in  requests,  replies  and
1206              file  listings.  Default is empty which means the same as local.
1207              This setting is only used when the server does not support UTF8.
1208
1209       ftp:client (string)
1210              the name of FTP client to send with CLNT command,  if  supported
1211              by server.  If it is empty, then no CLNT command will be sent.
1212
1213       ftp:compressed-re (regex)
1214              files with matching name will be considered compressed and "MODE
1215              Z" will not be used for them.
1216
1217       ftp:bind-data-socket (boolean)
1218              bind data socket to the interface of control connection (in pas‐
1219              sive  mode).   Default is true, exception is the loopback inter‐
1220              face.
1221
1222       ftp:fix-pasv-address (boolean)
1223              if true, lftp will try to correct address returned by server for
1224              PASV  command  in  case when server address is in public network
1225              and PASV returns an address from a private network. In this case
1226              lftp would substitute server address instead of the one returned
1227              by PASV command, port number would not be changed.   Default  is
1228              true.
1229
1230       ftp:fxp-passive-source (boolean)
1231              if  true,  lftp  will try to set up source FTP server in passive
1232              mode first, otherwise destination one. If first  attempt  fails,
1233              lftp  tries  to set them up the other way. If the other disposi‐
1234              tion fails too, lftp falls back to plain copy. See also ftp:use-
1235              fxp.
1236
1237       ftp:home (string)
1238              Initial directory. Default is empty string which means auto. Set
1239              this to `/' if you don't like the look of %2F in FTP  URLs.  The
1240              closure for this setting has format user@host.
1241
1242       ftp:ignore-pasv-address (boolean)
1243              If true, lftp uses control connection address instead of the one
1244              returned in PASV reply for data connection. This can  be  useful
1245              for broken NATs.  Default is false.
1246
1247       ftp:list-empty-ok (boolean)
1248              if  set  to false, empty lists from LIST command will be treated
1249              as incorrect, and another method (NLST) will be used.
1250
1251       ftp:list-options (string)
1252              sets options which are always appended to LIST command.  It  can
1253              be  useful to set this to `-a' if server does not show dot (hid‐
1254              den) files by default.  Default is empty.
1255
1256       ftp:mode-z-level (number)
1257              compression level (0-9) for uploading with MODE Z.
1258
1259       ftp:nop-interval (seconds)
1260              delay between NOOP commands when downloading  tail  of  a  file.
1261              This  is  useful  for FTP servers which send "Transfer complete"
1262              message before flushing data transfer. In such cases  NOOP  com‐
1263              mands can prevent connection timeout.
1264
1265       ftp:passive-mode (boolean)
1266              sets  passive  FTP  mode. This can be useful if you are behind a
1267              firewall or a dumb masquerading router.  In  passive  mode  lftp
1268              uses  PASV command, not the PORT command which is used in active
1269              mode. In passive mode lftp itself makes the data  connection  to
1270              the  server; in active mode the server connects to lftp for data
1271              transfer. Passive mode is the default.
1272
1273       ftp:port-ipv4 (ipv4 address)
1274              specifies an IPv4 address to send with PORT command. Default  is
1275              empty  which  means  to send the address of local end of control
1276              connection.
1277
1278       ftp:port-range (from-to)
1279              allowed port range for the local side of  the  data  connection.
1280              Format  is  min-max,  or  `full'  or `any' to indicate any port.
1281              Default is `full'.
1282
1283       ftp:prefer-epsv (boolean)
1284              use EPSV as preferred passive mode. Default is `false'.
1285
1286       ftp:proxy (URL)
1287              specifies FTP proxy to use.  To disable proxy set this to  empty
1288              string. Note that it is a FTP proxy which uses FTP protocol, not
1289              FTP over HTTP. Default value is taken from environment  variable
1290              ftp_proxy  if  it  starts  with  ``ftp://''.  If  your FTP proxy
1291              requires authentication, specify user name and password  in  the
1292              URL.   If  ftp:proxy starts with http:// then hftp protocol (FTP
1293              over HTTP proxy) is used instead of FTP automatically.
1294
1295       ftp:proxy-auth-type (string)
1296              When set to ``joined'', lftp  sends  ``user@proxy_user@ftp.exam‐
1297              ple.org'' as user name to proxy, and ``password@proxy_password''
1298              as password.
1299
1300              When set to ``joined-acct'', lftp  sends  ``user@ftp.example.org
1301              proxy_user''  (with space) as user name to proxy. The site pass‐
1302              word is sent as usual and the proxy password is expected in  the
1303              following ACCT command.
1304
1305              When  set  to  ``open'',  lftp  first sends proxy user and proxy
1306              password and then ``OPEN ftp.example.org''  followed  by  ``USER
1307              user''.  The site password is then sent as usual.
1308
1309              When  set to ``user'' (default), lftp first sends proxy user and
1310              proxy password and then ``user@ftp.example.org'' as  user  name.
1311              The site password is then sent as usual.
1312
1313              When   set  to  ``proxy-user@host'',  lftp  first  sends  ``USER
1314              proxy_user@ftp.example.org'', then proxy password. The site user
1315              and password are then sent as usual.
1316
1317       ftp:rest-list (boolean)
1318              allow  usage  of REST command before LIST command. This might be
1319              useful for large directories,  but  some  FTP  servers  silently
1320              ignore REST before LIST.
1321
1322       ftp:rest-stor (boolean)
1323              if false, lftp will not try to use REST before STOR. This can be
1324              useful for some buggy servers which corrupt  (fill  with  zeros)
1325              the file if REST followed by STOR is used.
1326
1327       ftp:retry-530 (regex)
1328              Retry  on server reply 530 for PASS command if text matches this
1329              regular expression.  This setting should be  useful  to  distin‐
1330              guish between overloaded server (temporary condition) and incor‐
1331              rect password (permanent condition).
1332
1333       ftp:retry-530-anonymous (regex)
1334              Additional  regular  expression  for   anonymous   login,   like
1335              ftp:retry-530.
1336
1337       ftp:site-group (string)
1338              Send  this  string in SITE GROUP command after login. The result
1339              is ignored.  The closure for this setting has format user@host.
1340
1341       ftp:skey-allow (boolean)
1342              allow sending skey/opie reply if server appears to  support  it.
1343              On by default.
1344
1345       ftp:skey-force (boolean)
1346              do  not send plain text password over the network, use skey/opie
1347              instead. If skey/opie is not available, assume failed login. Off
1348              by default.
1349
1350       ftp:ssl-allow (boolean)
1351              if  true,  try  to  negotiate SSL connection with FTP server for
1352              non-anonymous access. Default is true. This and other  SSL  set‐
1353              tings  are  only  available if lftp was compiled with an ssl/tls
1354              library.
1355
1356       ftp:ssl-auth (string)
1357              the argument for AUTH command, can be one of  SSL,  TLS,  TLS-P,
1358              TLS-C.  See RFC4217 for explanations. By default TLS or SSL will
1359              be used, depending on FEAT reply.
1360
1361       ftp:ssl-data-use-keys (boolean)
1362              if true, lftp loads ssl:key-file for protected  data  connection
1363              too.  When false, it does not, and the server can match data and
1364              control connections by session ID.  Default is true.
1365
1366       ftp:ssl-force (boolean)
1367              if true, refuse to send password in clear when server  does  not
1368              support SSL.  Default is false.
1369
1370       ftp:ssl-protect-data (boolean)
1371              if true, request SSL connection for data transfers. This is cpu-
1372              intensive but provides privacy. Default is false.
1373
1374       ftp:ssl-protect-fxp (boolean)
1375              if true, request SSL connection for data  transfer  between  two
1376              FTP  servers  in  FXP mode. CPSV or SSCN command will be used in
1377              that case. If SSL connection fails for some reason,  lftp  would
1378              try unprotected FXP transfer unless ftp:ssl-force is set for any
1379              of the two servers. Default is false.
1380
1381       ftp:ssl-protect-list (boolean)
1382              if true, request SSL connection for file list transfers. Default
1383              is true.
1384
1385       ftp:ssl-use-ccc (boolean)
1386              if  true, lftp would issue CCC command after logon, thus disable
1387              ssl protection layer on control connection.
1388
1389       ftp:stat-interval (time interval)
1390              interval between STAT commands. Default is 1 second.
1391
1392       ftp:strict-multiline (boolean)
1393              when true, lftp  strictly  checks  for  multiline  reply  format
1394              (expects  it to end with the same code as it started with). When
1395              false, this check is relaxed.
1396
1397       ftp:sync-mode (boolean)
1398              if true, lftp will send one command  at  a  time  and  wait  for
1399              response.  This  might  be  useful  if you are using a buggy FTP
1400              server or router. When it is off, lftp sends a pack of  commands
1401              and waits for responses - it speeds up operation when round trip
1402              time is significant.  Unfortunately it does not  work  with  all
1403              FTP  servers and some routers have troubles with it, so it is on
1404              by default.
1405
1406       ftp:timezone (string)
1407              Assume this timezone for time in listings returned by LIST  com‐
1408              mand.   This  setting can be GMT offset [+|-]HH[:MM[:SS]] or any
1409              valid      TZ      value      (e.g.       Europe/Moscow       or
1410              MSK-3MSD,M3.5.0,M10.5.0/3).  The  default  is GMT.  Set it to an
1411              empty value to assume local timezone  specified  by  environment
1412              variable TZ.
1413
1414       ftp:too-many-re (regexp)
1415              Decrease  the  dynamic  connection  limit  when  421  reply line
1416              matches this regular expression.
1417
1418       ftp:trust-feat (string)
1419              When true, assume that FEAT returned data are correct and  don't
1420              use common protocol extensions like SIZE, MDTM, REST if they are
1421              not listed.  Default is false.
1422
1423       ftp:use-abor (boolean)
1424              if false, lftp does not send ABOR command but closes  data  con‐
1425              nection immediately.
1426
1427       ftp:use-allo (boolean)
1428              when  true (default), lftp sends ALLO command before uploading a
1429              file.
1430
1431       ftp:use-feat (boolean)
1432              when  true  (default),  lftp  uses  FEAT  command  to  determine
1433              extended features of ftp server.
1434
1435       ftp:use-fxp (boolean)
1436              if  true,  lftp will try to set up direct connection between two
1437              ftp servers.
1438
1439       ftp:use-hftp (boolean)
1440              when ftp:proxy points to an http  proxy,  this  setting  selects
1441              hftp  method  (GET,  HEAD)  when  true,  and CONNECT method when
1442              false. Default is true.
1443
1444       ftp:use-ip-tos (boolean)
1445              when true, lftp uses IPTOS_LOWDELAY for control  connection  and
1446              IPTOS_THROUGHPUT for data connections.
1447
1448       ftp:lang (boolean)
1449              the  language  selected with LANG command, if supported as indi‐
1450              cated by FEAT response. Default  is  empty  which  means  server
1451              default.
1452
1453       ftp:use-mdtm (boolean)
1454              when  true  (default),  lftp uses MDTM command to determine file
1455              modification time.
1456
1457       ftp:use-mdtm-overloaded (boolean)
1458              when true, lftp uses two argument MDTM command to set file modi‐
1459              fication time on uploaded files. Default is false.
1460
1461       ftp:use-mlsd (boolean)
1462              when  true,  lftp will use MLSD command for directory listing if
1463              supported by the server.
1464
1465       ftp:use-mode-z (boolean)
1466              when true, lftp will use "MODE Z" if supported by the server  to
1467              perform compressed transfers.
1468
1469       ftp:use-site-idle (boolean)
1470              when  true,  lftp  sends `SITE IDLE' command with net:idle argu‐
1471              ment. Default is false.
1472
1473       ftp:use-site-utime (boolean)
1474              when true, lftp sends 5-argument `SITE  UTIME'  command  to  set
1475              file modification time on uploaded files. Default is true.
1476
1477       ftp:use-site-utime2 (boolean)
1478              when  true,  lftp  sends  2-argument `SITE UTIME' command to set
1479              file modification time on uploaded files. Default is  true.   If
1480              5-argument  `SITE  UTIME' is also enabled, 2-argument command is
1481              tried first.
1482
1483       ftp:use-size (boolean)
1484              when true (default), lftp uses SIZE command  to  determine  file
1485              size.
1486
1487       ftp:use-stat (boolean)
1488              if  true,  lftp  sends STAT command in FXP mode transfer to know
1489              how much data has been transferred. See also  ftp:stat-interval.
1490              Default is true.
1491
1492       ftp:use-stat-for-list (boolean)
1493              when  true,  lftp  uses STAT instead of LIST command. By default
1494              `.' is used as STAT argument. Using STAT, lftp  avoids  creating
1495              data connection for directory listing. Some servers require spe‐
1496              cial options for STAT,  use  ftp:list-options  to  specify  them
1497              (e.g. -la).
1498
1499       ftp:use-telnet-iac (boolean)
1500              when  true  (default),  lftp uses TELNET IAC command and follows
1501              TELNET protocol as specified in RFC959. When false, it does  not
1502              follow TELNET protocol and thus does not double 255 (0xFF, 0377)
1503              character and does not prefix ABOR and STAT commands with TELNET
1504              IP+SYNCH signal.
1505
1506       ftp:use-tvfs (tri-boolean)
1507              When  set  to auto, usage of TVFS feature depends on FEAT server
1508              reply. Otherwise this setting tells whether use it  or  not.  In
1509              short,  if a server supports TVFS feature then it uses unix-like
1510              paths.
1511
1512       ftp:use-utf8 (boolean)
1513              if true, lftp sends `OPTS UTF8 ON' to  the  server  to  activate
1514              UTF-8 encoding (if supported). Disable it if the file names have
1515              a different encoding and the server has a trouble with it.
1516
1517       ftp:use-quit (boolean)
1518              if true, lftp sends QUIT before disconnecting from  ftp  server.
1519              Default is true.
1520
1521       ftp:verify-address (boolean)
1522              verify  that  data  connection comes from the network address of
1523              control connection peer. This can possibly prevent data  connec‐
1524              tion  spoofing which can lead to data corruption. Unfortunately,
1525              this can fail for  certain  ftp  servers  with  several  network
1526              interfaces,  when  they  do  not  set  outgoing  address on data
1527              socket, so it is disabled by default.
1528
1529       ftp:verify-port (boolean)
1530              verify that data connection has port 20 (ftp-data) on its remote
1531              end.   This  can  possibly  prevent  data connection spoofing by
1532              users of remote host. Unfortunately, too many windows  and  even
1533              unix  ftp  servers forget to set proper port on data connection,
1534              thus this check is off by default.
1535
1536       ftp:web-mode (boolean)
1537              disconnect after closing data connection. This can be useful for
1538              totally broken ftp servers. Default is false.
1539
1540       ftps:initial-prot (string)
1541              specifies  initial  PROT setting for FTPS connections. Should be
1542              one of: C, S, E, P, or  empty.  Default  is  empty  which  means
1543              unknown,  so that lftp will use PROT command unconditionally. If
1544              PROT command turns out to be unsupported, then Clear mode  would
1545              be assumed.
1546
1547       hftp:cache (boolean)
1548              allow server/proxy side caching for ftp-over-http protocol.
1549
1550       hftp:cache-control (string)
1551              specify corresponding HTTP request header.
1552
1553       hftp:decode (boolean)
1554              when  true, lftp automatically decodes the entity in hftp proto‐
1555              col when Content-Encoding header value  matches  deflate,  gzip,
1556              compress, x-gzip or x-compress.
1557
1558       hftp:proxy (URL)
1559              specifies HTTP proxy for FTP-over-HTTP protocol (hftp). The pro‐
1560              tocol hftp cannot work without a HTTP proxy, obviously.  Default
1561              value  is taken from environment variable ftp_proxy if it starts
1562              with   ``http://'',   otherwise   from   environment    variable
1563              http_proxy.   If your FTP proxy requires authentication, specify
1564              user name and password in the URL.
1565
1566       hftp:use-allprop (boolean)
1567              if true, lftp will send `<allprop/>' request body in  `PROPFIND'
1568              requests, otherwise it will send an empty request body.
1569
1570       hftp:use-authorization (boolean)
1571              if  set  to  off,  lftp will send password as part of URL to the
1572              proxy. This may be required  for  some  proxies  (e.g.  M-soft).
1573              Default is on, and lftp will send password as part of Authoriza‐
1574              tion header.
1575
1576       hftp:use-head (boolean)
1577              if set to off, lftp will try to use `GET' instead of `HEAD'  for
1578              hftp  protocol.  While this is slower, it may allow lftp to work
1579              with some proxies which don't  understand  or  mishandle  ``HEAD
1580              ftp://'' requests.
1581
1582       hftp:use-mkcol (boolean)
1583              if  set to off, lftp will try to use `PUT' instead of `MKCOL' to
1584              create directories with hftp protocol. Default is off.
1585
1586       hftp:use-propfind (boolean)
1587              if set to off, lftp will not try to use `PROPFIND' to get direc‐
1588              tory  contents with hftp protocol and use `GET' instead. Default
1589              is off. When enabled, lftp will also use PROPPATCH to  set  file
1590              modification time after uploading.
1591
1592       hftp:use-range (boolean)
1593              when true, lftp will use Range header for transfer restart.
1594
1595       hftp:use-type (boolean)
1596              If  set to off, lftp won't try to append `;type=' to URLs passed
1597              to proxy.   Some  broken  proxies  don't  handle  it  correctly.
1598              Default is on.
1599
1600       http:accept,  http:accept-charset,  http:accept-encoding,  http:accept-
1601       language (string)
1602              specify corresponding HTTP request headers.
1603
1604       http:authorization (string)
1605              the authorization to use by default, when no user is  specified.
1606              The format is ``user:password''. Default is empty which means no
1607              authorization.
1608
1609       http:cache (boolean)
1610              allow server/proxy side caching.
1611
1612       http:cache-control (string)
1613              specify corresponding HTTP request header.
1614
1615       http:cookie (string)
1616              send this cookie to server. A closure is useful here:
1617                   set cookie/www.somehost.com "param=value"
1618
1619       http:decode (boolean)
1620              when true, lftp automatically decodes the entity  when  Content-
1621              Encoding header value matches deflate, gzip, compress, x-gzip or
1622              x-compress.
1623
1624       http:post-content-type (string)
1625              specifies value of Content-Type HTTP  request  header  for  POST
1626              method.  Default is ``application/x-www-form-urlencoded''.
1627
1628       http:proxy (URL)
1629              specifies  HTTP proxy. It is used when lftp works over HTTP pro‐
1630              tocol.   Default  value  is  taken  from  environment   variable
1631              http_proxy.  If your proxy requires authentication, specify user
1632              name and password in the URL.
1633
1634       http:put-method (PUT or POST)
1635              specifies which HTTP method to use on put.
1636
1637       http:put-content-type (string)
1638              specifies value of Content-Type  HTTP  request  header  for  PUT
1639              method.
1640
1641       http:referer (string)
1642              specifies  value for Referer HTTP request header. Single dot `.'
1643              expands to current directory URL. Default is `.'. Set  to  empty
1644              string to disable Referer header.
1645
1646       http:set-cookies (boolean)
1647              if  true,  lftp  modifies  http:cookie variables when Set-Cookie
1648              header is received.
1649
1650       http:use-allprop (boolean)
1651              if true, lftp will send `<allprop/>' request body in  `PROPFIND'
1652              requests, otherwise it will send an empty request body.
1653
1654       http:use-mkcol (boolean)
1655              if  set to off, lftp will try to use `PUT' instead of `MKCOL' to
1656              create directories with HTTP protocol. Default is on.
1657
1658       http:use-propfind (boolean)
1659              if set to off, lftp will not try to use `PROPFIND' to get direc‐
1660              tory  contents with HTTP protocol and use `GET' instead. Default
1661              is off. When enabled, lftp will also use PROPPATCH to set `Last-
1662              Modified' property after a file upload.
1663
1664       http:use-range (boolean)
1665              when true, lftp will use Range header for transfer restart.
1666
1667       http:user-agent (string)
1668              the string lftp sends in User-Agent header of HTTP request.
1669
1670       https:proxy (string)
1671              specifies  https  proxy. Default value is taken from environment
1672              variable https_proxy.
1673
1674       log:enabled (boolean)
1675              when true, the log messages are output. The closure for this and
1676              other  `log:'  variables is either `debug' for debug messages or
1677              `xfer' for transfer logging.
1678
1679       log:file (string)
1680              the target output file for logging. When empty, stderr is used.
1681
1682       log:level (number)
1683              the log verbosity level. Currently it's only defined for `debug'
1684              closure.
1685
1686       log:max-size (number)
1687              maximum size of the log file. When the size is reached, the file
1688              is renamed and started anew.
1689
1690       log:prefix-error (string)
1691
1692       log:prefix-note (string)
1693
1694       log:prefix-recv (string)
1695
1696       log:prefix-send (string)
1697              the prefixes for corresponding types of debug messages.
1698
1699       log:show-ctx (boolean)
1700
1701       log:show-pid (boolean)
1702
1703       log:show-time (boolean)
1704              select additional information in the log messages.
1705
1706       mirror:dereference (boolean)
1707              when true, mirror will dereference symbolic  links  by  default.
1708              You  can  override  it  by  --no-dereference  option. Default if
1709              false.
1710
1711       mirror:exclude-regex (regex)
1712              specifies default exclusion pattern.  You  can  override  it  by
1713              --include option.
1714
1715       mirror:include-regex (regex)
1716              specifies  default inclusion pattern. It is used just after mir‐
1717              ror:exclude-regex  is  applied.  It  is  never  used   if   mir‐
1718              ror:exclude-regex is empty.
1719
1720       mirror:no-empty-dirs (boolean)
1721              when   true,  mirror  doesn't  create  empty  directories  (like
1722              --no-empty-dirs option).
1723
1724       mirror:sort-by (string)
1725              specifies order of file transfers. Valid values are: name, name-
1726              desc,  size,  size-desc, date, date-desc. When the value is name
1727              or name-desc, then mirror:order setting also affects  the  order
1728              or transfers.
1729
1730       mirror:order (list of patterns)
1731              specifies  order  of  file  transfers when sorting by name. E.g.
1732              setting this to "*.sfv *.sum" makes  mirror  to  transfer  files
1733              matching  *.sfv  first,  then  ones  matching *.sum and then all
1734              other files. To process directories after other files, add  "*/"
1735              to the end of pattern list.
1736
1737       mirror:overwrite (boolean)
1738              when true, mirror will overwrite plain files instead of removing
1739              and re-creating them.
1740
1741       mirror:parallel-directories (boolean)
1742              if true, mirror will start processing of several directories  in
1743              parallel  when it is in parallel mode. Otherwise, it will trans‐
1744              fer files from a single directory before moving to other  direc‐
1745              tories.
1746
1747       mirror:parallel-transfer-count (number)
1748              specifies  number  of  parallel  transfers  mirror is allowed to
1749              start.  You can override it with --parallel option.   A  closure
1750              can  be matched against source or target host names, the minimum
1751              number greater than 0 is used.
1752
1753       mirror:require-source (boolean)
1754              When true, mirror requires a source directory  to  be  specified
1755              explicitly,  otherwise  it  is supposed to be the current direc‐
1756              tory.
1757
1758       mirror:set-permissions (boolean)
1759              When set to off, mirror won't try to  copy  file  and  directory
1760              permissions.   You can override it by --perms option. Default is
1761              on.
1762
1763       mirror:skip-noaccess (boolean)
1764              when true, mirror does not try to download files which are obvi‐
1765              ously inaccessible by the permission mask. Default is false.
1766
1767       mirror:use-pget-n (number)
1768              specifies -n option for pget command used to transfer every sin‐
1769              gle file under mirror.  A closure can be matched against  source
1770              or target host names, the minimum number greater than 0 is used.
1771              When the value is less than 2, pget is not used.
1772
1773       module:path (string)
1774              colon separated list of directories to look for modules. Can  be
1775              initialized by environment variable LFTP_MODULE_PATH. Default is
1776              `PKGLIBDIR/VERSION:PKGLIBDIR'.
1777
1778       net:connection-limit (number)
1779              maximum number of concurrent connections to  the  same  site.  0
1780              means unlimited.
1781
1782       net:connection-limit-timer (time interval)
1783              increase the dynamic connection limit after this time interval.
1784
1785       net:connection-takeover (boolean)
1786              if  true,  foreground  connections have priority over background
1787              ones and can interrupt background transfers to complete a  fore‐
1788              ground operation.
1789
1790       net:idle (time interval)
1791              disconnect  from  server after this idle time. Default is 3 min‐
1792              utes.
1793
1794       net:limit-rate (bytes per second)
1795              limit transfer rate on data connection. 0 means  unlimited.  You
1796              can specify two numbers separated by colon to limit download and
1797              upload rate separately.  Suffixes are supported, e.g. 100K means
1798              102400.
1799
1800       net:limit-max (bytes)
1801              limit accumulating of unused limit-rate. 0 means twice of limit-
1802              rate.
1803
1804       net:limit-total-rate (bytes per second)
1805              limit transfer rate of all connections in sum.  0  means  unlim‐
1806              ited.  You  can  specify two numbers separated by colon to limit
1807              download and upload rate separately.   Note  that  sockets  have
1808              receive  buffers  on  them,  this  can lead to network link load
1809              higher than this rate limit just after transfer  beginning.  You
1810              can  try  to  set net:socket-buffer to relatively small value to
1811              avoid this.
1812
1813       If you specify a closure, then rate limitation will be applied  to  sum
1814       of connections to a single matching host.
1815
1816       net:limit-total-max (bytes)
1817              limit  accumulating of unused limit-total-rate. 0 means twice of
1818              limit-total-rate.
1819
1820       net:max-retries (number)
1821              the maximum number of sequential tries of an  operation  without
1822              success.  0 means unlimited. 1 means no retries.
1823
1824       net:no-proxy (string)
1825              contains  comma separated list of domains for which proxy should
1826              not  be  used.   Default  is  taken  from  environment  variable
1827              no_proxy.
1828
1829       net:persist-retries (number)
1830              ignore  this number of hard errors. Useful to login to buggy FTP
1831              servers which reply 5xx when there is too many users.
1832
1833       net:reconnect-interval-base (seconds)
1834              sets the base minimal time between reconnects.  Actual  interval
1835              depends   on  net:reconnect-interval-multiplier  and  number  of
1836              attempts to perform an operation.
1837
1838       net:reconnect-interval-max (seconds)
1839              sets maximum reconnect interval.  When  current  interval  after
1840              multiplication by net:reconnect-interval-multiplier reaches this
1841              value (or exceeds it), it is reset back to  net:reconnect-inter‐
1842              val-base.
1843
1844       net:reconnect-interval-multiplier (real number)
1845              sets  multiplier  by which base interval is multiplied each time
1846              new attempt to perform an operation  fails.  When  the  interval
1847              reaches  maximum,  it is reset to base value. See net:reconnect-
1848              interval-base and net:reconnect-interval-max.
1849
1850       net:socket-bind-ipv4 (ipv4 address)
1851              bind all IPv4 sockets to specified address. This can  be  useful
1852              to  select a specific network interface to use. Default is empty
1853              which means not to bind  IPv4  sockets,  operating  system  will
1854              choose an address automatically using routing table.
1855
1856       net:socket-bind-ipv6 (ipv6 address)
1857              the same for IPv6 sockets.
1858
1859       net:socket-buffer (bytes)
1860              use  given  size  for  SO_SNDBUF and SO_RCVBUF socket options. 0
1861              means system default.
1862
1863       net:socket-maxseg (bytes)
1864              use given size for TCP_MAXSEG socket option. Not  all  operating
1865              systems support this option, but Linux does.
1866
1867       net:timeout (time interval)
1868              sets the network protocol timeout.
1869
1870       pget:default-n (number)
1871              default number of chunks to split the file to in pget.
1872
1873       pget:min-chunk-size (number)
1874              minimal chunk size to split the file to.
1875
1876       pget:save-status (time interval)
1877              save  pget transfer status this often. Set to `never' to disable
1878              saving of the status file.  The status is saved to a  file  with
1879              suffix .lftp-pget-status.
1880
1881       sftp:auto-confirm (boolean)
1882              when true, lftp answers ``yes'' to all ssh questions, in partic‐
1883              ular to the question about a new host key. Otherwise it  answers
1884              ``no''.
1885
1886       sftp:charset (string)
1887              the  character  set  used  by SFTP server in file names and file
1888              listings.  Default is empty which means the same as local.  This
1889              setting  is only used for SFTP protocol version prior to 4. Ver‐
1890              sion 4 and later always use UTF-8.
1891
1892       sftp:connect-program (string)
1893              the program to use for connecting to remote  server.  It  should
1894              support `-l' option for user name, `-p' for port number. Default
1895              is `ssh -a -x'.  For private key authentication add `-i'  option
1896              with the key file.
1897
1898       sftp:max-packets-in-flight (number)
1899              The maximum number of unreplied packets in flight. If round trip
1900              time  is  significant,  you  should  increase  this  and   size-
1901              read/size-write. Default is 16.
1902
1903       sftp:protocol-version (number)
1904              The  protocol number to negotiate. Default is 6. The actual pro‐
1905              tocol version used depends on the server.
1906
1907       sftp:server-program (string)
1908              The server program implementing SFTP protocol. If  it  does  not
1909              contain  a  slash  `/', it is considered a ssh2 subsystem and -s
1910              option  is  used  when  starting  connect-program.   Default  is
1911              `sftp'. You can use rsh as transport level protocol like this:
1912                   set sftp:connect-program rsh
1913                   set sftp:server-program /usr/libexec/openssh/sftp-server
1914              Similarly you can run SFTP over SSH1.
1915
1916       sftp:size-read (number)
1917              Block size for reading. Default is 0x8000.
1918
1919       sftp:size-write (number)
1920              Block size for writing. Default is 0x8000.
1921
1922       ssl:ca-file (path to file)
1923              use specified file as Certificate Authority certificate.
1924
1925       ssl:ca-path (path to directory)
1926              use  specified  directory  as  Certificate Authority certificate
1927              repository (OpenSSL only).
1928
1929       ssl:check-hostname (boolean)
1930              when true, lftp checks if the host name used to connect  to  the
1931              server corresponds to the host name in its certificate.
1932
1933       ssl:crl-file (path to file)
1934              use specified file as Certificate Revocation List certificate.
1935
1936       ssl:crl-path (path to directory)
1937              use  specified directory as Certificate Revocation List certifi‐
1938              cate repository (OpenSSL only).
1939
1940       ssl:key-file (path to file)
1941              use specified file as your private key.  This  setting  is  only
1942              used  for  ftps and https protocols. For sftp and fish protocols
1943              use sftp:connect-program and  fish:connect-program  respectively
1944              (add `-i' option to ssh).
1945
1946       ssl:cert-file (path to file)
1947              use specified file as your certificate.
1948
1949       ssl:use-sni (boolean)
1950              when true, use Server Name Indication (SNI) TLS extension.
1951
1952       ssl:verify-certificate (boolean)
1953              if  set to yes, then verify server's certificate to be signed by
1954              a known Certificate Authority and not be on Certificate  Revoca‐
1955              tion  List. You can specify either host name or certificate fin‐
1956              gerprint in the closure.
1957
1958       ssl:priority (string)
1959              free form priority string for GnuTLS. If built with OpenSSL  the
1960              understood  values are + or - followed by SSL3.0, TLS1.0, TLS1.1
1961              or TLS1.2, separated by :. Example:
1962                   set ssl:priority "NORMAL:-SSL3.0:-TLS1.0:-TLS1.1:+TLS1.2"
1963
1964       torrent:ip (ipv4 address)
1965              IP address to send to the tracker. Specify it if you  are  using
1966              an HTTP proxy.
1967
1968       torrent:ipv6 (ipv6 address)
1969              IPv6  address  to  send  to the tracker. By default, first found
1970              global unicast address is used.
1971
1972       torrent:max-peers (number)
1973              maximum number of peers for a  torrent.  Least  used  peers  are
1974              removed to maintain this limit.
1975
1976       torrent:port-range (from-to)
1977              port  range  to accept connections on. A single port is selected
1978              when a torrent starts.
1979
1980       torrent:retracker (URL)
1981              explicit retracker URL, e.g. `http://retracker.local/announce'.
1982
1983       torrent:save-metadata (boolean)
1984              when true, lftp saves metadata of each torrent it works with  to
1985              ~/.local/share/lftp/torrent/md  or  ~/.lftp/torrent/md directory
1986              and loads it from there if necessary.
1987
1988       torrent:seed-max-time (time interval)
1989              maximum seed time. After this period of time a complete  torrent
1990              shuts  down independently of ratio. It can be set to infinity if
1991              needed.
1992
1993       torrent:seed-min-peers (number)
1994              minimum number of peers when the torrent is complete.  If  there
1995              are less, new peers are actively searched for.
1996
1997       torrent:stop-min-ppr (real number)
1998              minimum per-piece-ratio to stop seeding. Use it to avoid a situ‐
1999              ation when a popular piece  causes  quick  raise  of  the  total
2000              ratio.
2001
2002       torrent:stop-on-ratio (real number)
2003              torrent stops when it's complete and ratio reached this number.
2004
2005       torrent:timeout (time interval)
2006              maximum  time  without any progress. When it's reached, the tor‐
2007              rent shuts down.
2008
2009       torrent:use-dht (boolean)
2010              when true, DHT is used.
2011
2012       xfer:auto-rename(boolean)
2013              suggested filenames provided by the  server  are  used  if  user
2014              explicitly  sets  this option to `on'. As this could be security
2015              risk, default is off.
2016
2017       xfer:backup-suffix (string)
2018              a time format string (see strftime(3)) for backup file name when
2019              replacing an existing file.
2020
2021       xfer:clobber (boolean)
2022              if this setting is off, get commands will not overwrite existing
2023              files and generate an error instead.
2024
2025       xfer:destination-directory (path or URL to directory)
2026              This setting is used as default -O option for get and mget  com‐
2027              mands.   Default  is empty, which means current directory (no -O
2028              option).
2029
2030       xfer:disk-full-fatal (boolean)
2031              when true, lftp aborts a transfer if it cannot write target file
2032              because  of  full disk or quota; when false, lftp waits for disk
2033              space to be freed.
2034
2035       xfer:eta-period (seconds)
2036              the period over which weighted average  rate  is  calculated  to
2037              produce ETA.
2038
2039       xfer:eta-terse (boolean)
2040              show terse ETA (only high order parts). Default is true.
2041
2042       xfer:keep-backup (boolean)
2043              when  true, the backup file created before replacing an existing
2044              file is not removed after successful transfer.
2045
2046       xfer:make-backup (boolean)
2047              when true, lftp renames pre-existing  file  adding  xfer:backup-
2048              suffix instead of overwriting it.
2049
2050       xfer:max-redirections (number)
2051              maximum number of redirections. This can be useful for download‐
2052              ing over HTTP.  0 prohibits redirections.
2053
2054       xfer:parallel (number)
2055              the  default  number  of  parallel   transfers   in   a   single
2056              get/put/mget/mput command.
2057
2058       xfer:rate-period (seconds)
2059              the  period over which weighted average rate is calculated to be
2060              shown.
2061
2062       xfer:temp-file-name (string)
2063              temporary file name pattern, first asterisk is replaced  by  the
2064              original file name.
2065
2066       xfer:timeout (time interval)
2067              maximum  time  without  any transfer progress. It can be used to
2068              limit maximum time to retry a transfer from a  server  not  sup‐
2069              porting transfer restart.
2070
2071       xfer:use-temp-file (boolean)
2072              when true, a file will be transferred to a temporary file in the
2073              same directory and then renamed.
2074
2075       xfer:verify (boolean)
2076              when true, verify-command is launched after successful  transfer
2077              to  validate  file  integrity.  Zero  exit  code of that command
2078              should indicate correctness of the file.
2079
2080       xfer:verify-command (string)
2081              the command to validate file integrity. The only argument is the
2082              path to the file.
2083
2084
2085       The  name of a variable can be abbreviated unless it becomes ambiguous.
2086       The prefix before `:' can be omitted too. You can set one variable sev‐
2087       eral  times  for  different closures, and thus you can get a particular
2088       settings for particular state. The closure is  to  be  specified  after
2089       variable name separated with slash `/'.
2090
2091       The  closure  for `dns:', `net:', `ftp:', `http:', `hftp:' domain vari‐
2092       ables is currently just the host name as you specify it in  the  `open'
2093       command  (with  some  exceptions  where  closure  is  meaningless, e.g.
2094       dns:cache-size).  For some `cmd:' domain variables the closure is  cur‐
2095       rent  URL  without  path.   For  `log:' domain variables the closure is
2096       either `debug' or `xfer'.  For other  variables  it  is  not  currently
2097       used. See examples in the sample lftp.conf.
2098
2099       Certain  commands  and  settings take a time interval parameter. It has
2100       the format Nx[Nx...], where N is time amount (floating point) and x  is
2101       time  unit: d - days, h - hours, m - minutes, s - seconds. Default unit
2102       is second. E.g. 5h30m or 5.5h.  Also the interval  can  be  `infinity',
2103       `inf',  `never',  `forever'  -  it means infinite interval. E.g. `sleep
2104       forever' or `set dns:cache-expire never'.
2105
2106       Boolean settings can be one of (true, on, yes, 1, +) for a  True  value
2107       or one of (false, off, no, 0, -) for a False value.
2108
2109       Tri-boolean settings have either a boolean value or `auto'.
2110
2111       Integer  settings can have a suffix: k - kibi, m - mebi, g - gigi, etc.
2112       They can also have a prefix: 0 - octal, 0x - hexadecimal.
2113
2114
2115   FTP asynchronous mode (pipelining)
2116       Lftp can speed up FTP operations by sending several  commands  at  once
2117       and  then checking all the responses. See ftp:sync-mode variable. Some‐
2118       times this does not work, thus synchronous mode is the default. You can
2119       try  to  turn  synchronous  mode off and see if it works for you. It is
2120       known that some network software dealing with address translation works
2121       incorrectly in the case of several FTP commands in one network packet.
2122
2123       RFC959 says: ``The user-process sending another command before the com‐
2124       pletion reply would be in violation of protocol;  but  server-FTP  pro‐
2125       cesses  should queue any commands that arrive while a preceding command
2126       is in progress''. Also, RFC1123 says: ``Implementors  MUST  NOT  assume
2127       any  correspondence  between  READ boundaries on the control connection
2128       and the Telnet EOL sequences (CR LF).'' and ``a single  READ  from  the
2129       control connection may include more than one FTP command''.
2130
2131       So  it  must  be safe to send several commands at once, which speeds up
2132       operation a lot and seems to work with  all  Unix  and  VMS  based  ftp
2133       servers.  Unfortunately, windows based servers often cannot handle sev‐
2134       eral commands in one packet, and so cannot some broken routers.
2135
2136

OPTIONS

2138       -d     Switch on debugging mode.
2139
2140       -e commands
2141              Execute given commands and don't exit.
2142
2143       -p port
2144              Use the given port to connect.
2145
2146       -u user[,pass]
2147              Use the given username and  password  to  connect.  Remember  to
2148              quote  the  password properly in the shell. Also note that it is
2149              not secure to specify the password on command line, use ~/.netrc
2150              file   or   LFTP_PASSWORD  environment  variable  together  with
2151              --env-password option. Alternatively you can use ssh-based  pro‐
2152              tocols  with authorized keys, so you don't have to enter a pass‐
2153              word.
2154
2155       --norc Don't execute rc files from the home directory.
2156
2157       --rcfile file
2158              Execute commands from the file. May be specified multiple times.
2159
2160       -f script_file
2161              Execute commands in the file and exit.  This option must be used
2162              alone without other arguments (except --norc).
2163
2164       -c commands
2165              Execute  the  given commands and exit. Commands can be separated
2166              with a semicolon, `&&' or `||'. Remember to quote  the  commands
2167              argument  properly in the shell.  This option must be used alone
2168              without other arguments (except --norc).
2169
2170       Other open options may also be given on the lftp command line.
2171
2172

ENVIRONMENT VARIABLES

2174       The following environment variables are processed by lftp:
2175
2176       EDITOR Used as local editor for the edit command.
2177
2178       HOME   Used for (local) tilde (`~') expansion.
2179
2180       SHELL  Used by the ! command to determine the shell to run.
2181
2182       PAGER  This should be the name of the pager to use.  It's used  by  the
2183              more and zmore commands.
2184
2185       http_proxy, https_proxy
2186              Used to set initial http:proxy, hftp:proxy and https:proxy vari‐
2187              ables.
2188
2189       ftp_proxy
2190              Used to set initial ftp:proxy or hftp:proxy variables, depending
2191              on URL protocol used in this environment variable.
2192
2193       no_proxy
2194              Used to set initial net:no-proxy variable.
2195
2196       LFTP_MODULE_PATH
2197              Used to set initial module:path variable.
2198
2199       LFTP_HOME
2200              Used  to locate the directory that stores user-specific configu‐
2201              ration files. If unset, ~/.lftp will be used. Please  note  that
2202              if  this  directory does not exist, then XDG directories will be
2203              used.
2204
2205       LFTP_PASSWORD
2206              Used for --env-password open option.
2207
2208       LS_COLORS
2209              used to set initial color:dir-colors variable.
2210
2211       XDG_CONFIG_HOME, XDG_DATA_HOME, XDG_CACHE_HOME
2212              Used to locate the  directories  for  user-specific  files  when
2213              ~/.lftp  (or  $LFTP_HOME directory) does not exist. Defaults are
2214              ~/.config, ~/.local/share and ~/.cache respectively. The  suffix
2215              /lftp is appended to make the full path to the directories.
2216
2217

FILES

2219       /etc/lftp.conf
2220              system-wide   startup   file.   Actual   location   depends   on
2221              --sysconfdir configure option. It is /etc when prefix  is  /usr,
2222              /usr/local/etc by default.
2223
2224
2225       ~/.config/lftp/rc or ~/.lftp/rc, ~/.lftprc
2226              These files are executed on lftp startup after /etc/lftp.conf.
2227
2228       ~/.local/share/lftp/log or ~/.lftp/log
2229              The  file  things  are  logged to when lftp moves into the back‐
2230              ground in nohup mode.
2231
2232       ~/.local/share/lftp/transfer_log or ~/.lftp/transfer_log
2233              The file transfers are logged to when  log:enabled/xfer  setting
2234              is  set  to `yes'.  The location can be changed by log:file/xfer
2235              setting.
2236
2237       ~/.local/share/lftp/bookmarks or ~/.lftp/bookmarks
2238              The file is used to store lftp's bookmarks.   See  the  bookmark
2239              command.
2240
2241       ~/.local/share/lftp/cwd_history or ~/.lftp/cwd_history
2242              The file is used to store last working directories for each site
2243              visited.
2244
2245       ~/.local/share/lftp/bg/ or ~/.lftp/bg/
2246              The directory is used to store named  sockets  for  backgrounded
2247              lftp processes.
2248
2249       ~/.cache/lftp/DHT/ or ~/.lftp/DHT/"
2250              The  directory  is used to store DHT id and nodes cache for IPv4
2251              and IPv6.  File name suffix is the host name.
2252
2253       ~/.cache/lftp/edit/ or ~/.lftp/edit/"
2254              The directory is used to store temporary files for edit command.
2255
2256       ~/.local/share/lftp/torrent/md/ or ~/.lftp/torrent/md/"
2257              The directory is used to store torrent  metadata.  It  is  espe‐
2258              cially  useful  for  magnet links, cached metadata can be loaded
2259              from the directory.  It can also serve as torrent history,  file
2260              names are the info_hash of torrents.
2261
2262       ~/.netrc
2263              The  file  is  consulted  to get default login and password to a
2264              server when it is specified without a  protocol  to  the  `open'
2265              command.   Passwords  are also searched here if an URL with user
2266              name but with no password is used.
2267
2268

SEE ALSO

2270       ftpd(8), ftp(1)
2271       RFC854 (telnet), RFC959 (ftp),  RFC1123,  RFC1945  (http/1.0),  RFC2052
2272       (SRV  RR),  RFC2228  (ftp  security  extensions),  RFC2389  (ftp FEAT),
2273       RFC2428  (ftp/ipv6),  RFC2518  (WebDAV),  RFC2616  (http/1.1),  RFC2617
2274       (http/1.1  authentication),  RFC2640  (ftp  i18n),  RFC3659 (ftp exten‐
2275       sions), RFC4217 (ftp over ssl), BEP0003 (BitTorrent Protocol),  BEP0005
2276       (DHT  Protocol), BEP0006 (Fast Extension), BEP0007 (IPv6 Tracker Exten‐
2277       sion), BEP0009 (Extension for Peers to Send  Metadata  Files),  BEP0010
2278       (Extension   Protocol),   BEP0012  (Multitracker  Metadata  Extension),
2279       BEP0023 (Tracker Returns Compact Peer Lists), BEP0032  (DHT  Extensions
2280       for IPv6).
2281       https://tools.ietf.org/html/draft-preston-ftpext-deflate-04 (ftp
2282       deflate transmission mode),
2283       https://tools.ietf.org/html/draft-ietf-secsh-filexfer-13 (sftp).
2284       http://wiki.theory.org/BitTorrentSpecification
2285       http://www.bittornado.com/docs/multitracker-spec.txt
2286       http://www.rasterbar.com/products/libtorrent/dht_sec.html (DHT security
2287       extension)
2288       http://xbtt.sourceforge.net/udp_tracker_protocol.html (UDP tracker)
2289
2290

AUTHOR

2292       Alexander V. Lukyanov
2293       lav@yars.free.net
2294
2295

ACKNOWLEDGMENTS

2297       This  manual  page  was originally written by Christoph Lameter <clame‐
2298       ter@debian.org>, for the Debian GNU/Linux system. The page was improved
2299       and  updated  later by Nicolas Lichtmaier <nick@Feedback.com.ar>, James
2300       Troup   <J.J.Troup@comp.brad.ac.uk>   and   Alexander    V.    Lukyanov
2301       <lav@yars.free.net>.
2302
2303
2304
2305                                  10 Aug 2017                          lftp(1)
Impressum