Skip to content

Instantly share code, notes, and snippets.

@melodie11
Created April 24, 2026 00:44
Show Gist options
  • Select an option

  • Save melodie11/b4587c5fd97df04a90be31d20b1ffaaa to your computer and use it in GitHub Desktop.

Select an option

Save melodie11/b4587c5fd97df04a90be31d20b1ffaaa to your computer and use it in GitHub Desktop.
Man lftp - part 5
ftp:web-mode (boolean)
disconnect after closing data connection. This can be useful for
totally broken ftp servers. Default is false.
ftps:initial-prot (string)
specifies initial PROT setting for FTPS connections. Should be one
of: C, S, E, P, or empty. Default is empty which means unknown, so
that lftp will use PROT command unconditionally. If PROT command
turns out to be unsupported, then Clear mode would be assumed.
hftp:cache (boolean)
allow server/proxy side caching for ftp-over-http protocol.
hftp:cache-control (string)
specify corresponding HTTP request header.
hftp:decode (boolean)
when true, lftp automatically decodes the entity in hftp protocol
when Content-Encoding header value matches deflate, gzip, com‐
press, x-gzip or x-compress.
hftp:proxy (URL)
specifies HTTP proxy for FTP-over-HTTP protocol (hftp). The proto‐
col hftp cannot work without a HTTP proxy, obviously. Default
value is taken from environment variable ftp_proxy if it starts
with ``http://'', otherwise from environment variable http_proxy.
If your FTP proxy requires authentication, specify user name and
password in the URL.
hftp:use-allprop (boolean)
if true, lftp will send `<allprop/>' request body in `PROPFIND'
requests, otherwise it will send an empty request body.
hftp:use-authorization (boolean)
if set to off, lftp will send password as part of URL to the
proxy. This may be required for some proxies (e.g. M-soft). De‐
fault is on, and lftp will send password as part of Authorization
header.
hftp:use-head (boolean)
if set to off, lftp will try to use `GET' instead of `HEAD' for
hftp protocol. While this is slower, it may allow lftp to work
with some proxies which don't understand or mishandle ``HEAD
ftp://'' requests.
hftp:use-mkcol (boolean)
if set to off, lftp will try to use `PUT' instead of `MKCOL' to
create directories with hftp protocol. Default is off.
hftp:use-propfind (boolean)
if set to off, lftp will not try to use `PROPFIND' to get direc‐
tory contents with hftp protocol and use `GET' instead. Default is
off. When enabled, lftp will also use PROPPATCH to set file modi‐
fication time after uploading.
hftp:use-range (boolean)
when true, lftp will use Range header for transfer restart.
hftp:use-type (boolean)
If set to off, lftp won't try to append `;type=' to URLs passed to
proxy. Some broken proxies don't handle it correctly. Default is
on.
http:accept, http:accept-charset, http:accept-encoding, http:accept-lan‐
guage (string)
specify corresponding HTTP request headers.
http:authorization (string)
the authorization to use by default, when no user is specified.
The format is ``user:password''. Default is empty which means no
authorization.
http:cache (boolean)
allow server/proxy side caching.
http:cache-control (string)
specify corresponding HTTP request header.
http:cookie (string)
send this cookie to server. A closure is useful here:
set cookie/www.somehost.com "param=value"
http:decode (boolean)
when true, lftp automatically decodes the entity when Content-En‐
coding header value matches deflate, gzip, compress, x-gzip or x-
compress.
http:post-content-type (string)
specifies value of Content-Type HTTP request header for POST
method. Default is ``application/x-www-form-urlencoded''.
http:proxy (URL)
specifies HTTP proxy. It is used when lftp works over HTTP proto‐
col. Default value is taken from environment variable http_proxy.
If your proxy requires authentication, specify user name and pass‐
word in the URL.
http:put-method (PUT or POST)
specifies which HTTP method to use on put.
http:put-content-type (string)
specifies value of Content-Type HTTP request header for PUT
method.
http:referer (string)
specifies value for Referer HTTP request header. Single dot `.'
expands to current directory URL. Default is `.'. Set to empty
string to disable Referer header.
http:set-cookies (boolean)
if true, lftp modifies http:cookie variables when Set-Cookie
header is received.
http:use-allprop (boolean)
if true, lftp will send `<allprop/>' request body in `PROPFIND'
requests, otherwise it will send an empty request body.
http:use-mkcol (boolean)
if set to off, lftp will try to use `PUT' instead of `MKCOL' to
create directories with HTTP protocol. Default is on.
http:use-propfind (boolean)
if set to off, lftp will not try to use `PROPFIND' to get direc‐
tory contents with HTTP protocol and use `GET' instead. Default is
off. When enabled, lftp will also use PROPPATCH to set `Last-Modi‐
fied' property after a file upload.
http:use-range (boolean)
when true, lftp will use Range header for transfer restart.
http:user-agent (string)
the string lftp sends in User-Agent header of HTTP request.
https:proxy (string)
specifies https proxy. Default value is taken from environment
variable https_proxy.
log:enabled (boolean)
when true, the log messages are output. The closure for this and
other `log:' variables is either `debug' for debug messages or
`xfer' for transfer logging.
log:file (string)
the target output file for logging. When empty, stderr is used.
log:level (number)
the log verbosity level. Currently it's only defined for `debug'
closure.
log:max-size (number)
maximum size of the log file. When the size is reached, the file
is renamed and started anew.
log:prefix-error (string)
log:prefix-note (string)
log:prefix-recv (string)
log:prefix-send (string)
the prefixes for corresponding types of debug messages.
log:show-ctx (boolean)
log:show-pid (boolean)
log:show-time (boolean)
select additional information in the log messages.
mirror:dereference (boolean)
when true, mirror will dereference symbolic links by default. You
can override it by --no-dereference option. Default if false.
mirror:exclude-regex (regex)
specifies default exclusion pattern. You can override it by --in‐
clude option.
mirror:include-regex (regex)
specifies default inclusion pattern. It is used just after mir‐
ror:exclude-regex is applied. It is never used if mirror:exclude-
regex is empty.
mirror:no-empty-dirs (boolean)
when true, mirror doesn't create empty directories (like
--no-empty-dirs option).
mirror:sort-by (string)
specifies order of file transfers. Valid values are: name, name-
desc, size, size-desc, date, date-desc. When the value is name or
name-desc, then mirror:order setting also affects the order or
transfers.
mirror:order (list of patterns)
specifies order of file transfers when sorting by name. E.g. set‐
ting this to "*.sfv *.sum" makes mirror to transfer files matching
*.sfv first, then ones matching *.sum and then all other files. To
process directories after other files, add "*/" to the end of pat‐
tern list.
mirror:overwrite (boolean)
when true, mirror will overwrite plain files instead of removing
and re-creating them.
mirror:parallel-directories (boolean)
if true, mirror will start processing of several directories in
parallel when it is in parallel mode. Otherwise, it will transfer
files from a single directory before moving to other directories.
mirror:parallel-transfer-count (number)
specifies number of parallel transfers mirror is allowed to start.
You can override it with --parallel option. A closure can be
matched against source or target host names, the minimum number
greater than 0 is used.
mirror:require-source (boolean)
When true, mirror requires a source directory to be specified ex‐
plicitly, otherwise it is supposed to be the current directory.
mirror:set-permissions (boolean)
When set to off, mirror won't try to copy file and directory per‐
missions. You can override it by --perms option. Default is on.
mirror:skip-noaccess (boolean)
when true, mirror does not try to download files which are obvi‐
ously inaccessible by the permission mask. Default is false.
mirror:use-pget-n (number)
specifies -n option for pget command used to transfer every single
file under mirror. A closure can be matched against source or
target host names, the minimum number greater than 0 is used.
When the value is less than 2, pget is not used.
module:path (string)
colon separated list of directories to look for modules. Can be
initialized by environment variable LFTP_MODULE_PATH. Default is
`PKGLIBDIR/VERSION:PKGLIBDIR'.
net:connection-limit (number)
maximum number of concurrent connections to the same site. 0 means
unlimited.
net:connection-limit-timer (time interval)
increase the dynamic connection limit after this time interval.
net:connection-takeover (boolean)
if true, foreground connections have priority over background ones
and can interrupt background transfers to complete a foreground
operation.
net:idle (time interval)
disconnect from server after this idle time. Default is 3 minutes.
net:limit-rate (bytes per second)
limit transfer rate on data connection. 0 means unlimited. You can
specify two numbers separated by colon to limit download and up‐
load rate separately. Suffixes are supported, e.g. 100K means
102400.
net:limit-max (bytes)
limit accumulating of unused limit-rate. 0 means twice of limit-
rate.
net:limit-total-rate (bytes per second)
limit transfer rate of all connections in sum. 0 means unlimited.
You can specify two numbers separated by colon to limit download
and upload rate separately. Note that sockets have receive
buffers on them, this can lead to network link load higher than
this rate limit just after transfer beginning. You can try to set
net:socket-buffer to relatively small value to avoid this.
If you specify a closure, then rate limitation will be applied to sum of
connections to a single matching host.
net:limit-total-max (bytes)
limit accumulating of unused limit-total-rate. 0 means twice of
limit-total-rate.
net:max-retries (number)
the maximum number of sequential tries of an operation without
success. 0 means unlimited. 1 means no retries.
net:no-proxy (string)
contains comma separated list of domains for which proxy should
not be used. Default is taken from environment variable no_proxy.
net:persist-retries (number)
ignore this number of hard errors. Useful to login to buggy FTP
servers which reply 5xx when there is too many users.
net:reconnect-interval-base (seconds)
sets the base minimal time between reconnects. Actual interval de‐
pends on net:reconnect-interval-multiplier and number of attempts
to perform an operation.
net:reconnect-interval-max (seconds)
sets maximum reconnect interval. When current interval after mul‐
tiplication by net:reconnect-interval-multiplier reaches this
value (or exceeds it), it is reset back to net:reconnect-interval-
base.
net:reconnect-interval-multiplier (real number)
sets multiplier by which base interval is multiplied each time new
attempt to perform an operation fails. When the interval reaches
maximum, it is reset to base value. See net:reconnect-interval-
base and net:reconnect-interval-max.
net:socket-bind-ipv4 (ipv4 address)
bind all IPv4 sockets to specified address. This can be useful to
select a specific network interface to use. Default is empty which
means not to bind IPv4 sockets, operating system will choose an
address automatically using routing table.
net:socket-bind-ipv6 (ipv6 address)
the same for IPv6 sockets.
net:socket-buffer (bytes)
use given size for SO_SNDBUF and SO_RCVBUF socket options. 0 means
system default.
net:socket-maxseg (bytes)
use given size for TCP_MAXSEG socket option. Not all operating
systems support this option, but Linux does.
net:timeout (time interval)
sets the network protocol timeout.
pget:default-n (number)
default number of chunks to split the file to in pget.
pget:min-chunk-size (number)
minimal chunk size to split the file to.
pget:save-status (time interval)
save pget transfer status this often. Set to `never' to disable
saving of the status file. The status is saved to a file with
suffix .lftp-pget-status.
sftp:auto-confirm (boolean)
when true, lftp answers ``yes'' to all ssh questions, in particu‐
lar to the question about a new host key. Otherwise it answers
``no''.
sftp:charset (string)
the character set used by SFTP server in file names and file list‐
ings. Default is empty which means the same as local. This set‐
ting is only used for SFTP protocol version prior to 4. Version 4
and later always use UTF-8.
sftp:connect-program (string)
the program to use for connecting to remote server. It should sup‐
port `-l' option for user name, `-p' for port number. Default is
`ssh -a -x'. For private key authentication add `-i' option with
the key file.
sftp:max-packets-in-flight (number)
The maximum number of unreplied packets in flight. If round trip
time is significant, you should increase this and size-read/size-
write. Default is 16.
sftp:protocol-version (number)
The protocol number to negotiate. Default is 6. The actual proto‐
col version used depends on the server.
sftp:server-program (string)
The server program implementing SFTP protocol. If it does not con‐
tain a slash `/', it is considered a ssh2 subsystem and -s option
is used when starting connect-program. Default is `sftp'. You can
use rsh as transport level protocol like this:
set sftp:connect-program rsh
set sftp:server-program /usr/libexec/openssh/sftp-server
Similarly you can run SFTP over SSH1.
sftp:size-read (number)
Block size for reading. Default is 0x8000.
sftp:size-write (number)
Block size for writing. Default is 0x8000.
ssl:ca-file (path to file)
use specified file as Certificate Authority certificate.
ssl:ca-path (path to directory)
use specified directory as Certificate Authority certificate
repository (OpenSSL only).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment