NAME
curlftpfs - mount a ftp host as a local directory
SYNOPSIS
curlftpfs [options] host path
DESCRIPTION
The program curlftpfs is a tool to mount remote ftp hosts as local
directories. It connects to the host FTP server and maps its directory
structure to the path directory.
curlftpfs is powered by libcurl for all transfer-related features. See
libcurl(3) for details. The filesystem part is implemented on top of
FUSE. See http://fuse.sourceforge.net/ for details.
FTP OPTIONS
-h/--help
Print help options.
-v/--verbose
Make libcurl print verbose debug output.
-V/--version
Print curlftpfs, libcurl and fuse versions.
-o Options are specified with a -o flag followed by a comma
separated string of options.
cacert=<file>
(SSL) Pass a string naming a file holding one or more
certificates to verify the peer with.
Note that option is by default set to the system
path where libcurl’s cacert bundle is assumed to be
stored, as established at build time.
capath=<directory>
(SSL) Tells curlftpfs to use the specified certificate
directory to verify the peer. The certificates must be in
PEM format, and the directory must have been processed
using the c_rehash utility supplied with openssl.
Using capath can allow curlftpfs to make connections much
more efficiently than using cacert if the cacert file
contains many CA certificates.
cert=<certificate>
(SSL) Tells curlftpfs to use the specified certificate
file. The default format is "PEM" and can be changed with
cert_type.
cert_type=<type>
(SSL) Tells curlftpfs what certificate type the provided
certificate is in. PEM, DER and ENG are recognized
types.
ciphers=<list of ciphers>
(SSL) Specifies which ciphers to use in the connection.
The list must be syntactically correct, it consists of
one or more cipher strings separated by colons. Commas
or spaces are also acceptable separators but colons are
normally used, , - and + can be used as operators.
Valid examples of cipher lists include ’RC4-SHA’,
´SHA1+DES’, ’TLSv1’ and ’DEFAULT’. The default list is
normally set when you compile OpenSSL.
Read up on SSL cipher list details on this URL:
http://www.openssl.org/docs/apps/ciphers.html
codepage=<name>
Sets the encoding the ftp server uses to encode file
names.
connect_timeout=<seconds>
Maximum time in seconds that you allow the connection to
the server to take. This only limits the connection
phase, once curlftpfs has connected this option is of no
more use.
custom_list=<command>
Command used by curlftpfs to list files. The default is
"LIST -a" but some servers might require extra options,
e.g. "LIST -la".
disable_eprt
Tell curlftpfs to disable the use of the EPRT and LPRT
commands when doing active FTP transfers. Curlftpfs will
normally always first attempt to use EPRT, then LPRT
before using PORT, but with this option, it will use PORT
right away. EPRT and LPRT are extensions to the original
FTP protocol, may not work on all servers but enable more
functionality in a better way than the traditional PORT
command.
disable_epsv
Tell curlftpfs to disable the use of the EPSV command
when doing passive FTP transfers. This is the default.
enable_epsv
Tell curlftpfs to enable the use of the EPSV command when
doing passive FTP transfers. Curlftpfs will first attempt
to use EPSV before PASV.
engine=<name>
Select the OpenSSL crypto engine to use for cipher
operations. Use:
curl --engine list
to print a list of build-time supported engines.
Note that not all (or none) of the engines may be
available at run-time.
ftpfs_debug
Make curlftpfs print lots of debug information. Useful
only in conjunction with the -d option.
ftp_method=<method>
Control what method curlftpfs should use to reach a file
on the server. The method argument should be one of the
following alternatives:
multicwd
curlftpfs does a single CWD operation for each
path part in the given URL. For deep hierarchies
this means very many commands. This is how
RFC1738 says it should be done. This is the
default but the slowest behavior.
singlecwd
curlftpfs does one CWD with the full target
directory and then operates on the file
"normally" (like in the multicwd case).
ftp_port=<address>
Reverses the initiator/listener roles when connecting
with ftp. This switch makes curlftpfs use the PORT
command instead of PASV. In practice, PORT tells the
server to connect to the client’s specified address and
port, while PASV asks the server for an ip address and
port to connect to. <address> should be one of:
interface
i.e "eth0" to specify which interface’s IP
address you want to use
IP address
i.e "192.168.10.1" to specify exact IP number
host name
i.e "my.host.domain" to specify machine
- make curlftpfs pick the same IP address that is
already used for the control connection
Disable the attempt to use the EPRT command instead of
PORT by using disable_eprt. EPRT is really PORT++.
httpproxy
Set the proxy type to HTTP. This is the default type.
interface=<name>
Pass a string as parameter. This set the interface name
to use as outgoing network interface. The name can
be an interface name, an IP address or a host name.
iocharset=<name>
Sets the charset used by the client side for codepage to
charset translation. Default: UTF8.
ipv4 If libcurl is capable of resolving an address to
multiple IP versions (which it is if it is ipv6-capable),
this option tells libcurl to resolve names to IPv4
addresses only.
ipv6 If libcurl is capable of resolving an address to
multiple IP versions (which it is if it is ipv6-capable),
this option tells libcurl to resolve names to IPv6
addresses only.
key=<key>
(SSL) Private key file name. Allows you to provide your
private key in this separate file. The default format is
"PEM" and can be changed with key_type.
key_type=<type>
(SSL) Pass a string in the format of your private key.
Supported formats are "PEM", "DER" and "ENG".
The format "ENG" enables you to load the private key
from a crypto engine. In this case key is used as an
identifier passed to the engine. You have to set the
crypto engine with engine option. "DER" format key file
currently does not work because of a bug in OpenSSL.
krb4=<level>
Enable kerberos4 authentication and use. The level must
be entered and should be one of ’clear’, ’safe’,
’confidential’ or ’private’. Should you use a level
that is not one of these, ’private’ will instead be used.
This option requires that the libcurl library was built
with kerberos4 support. This is not very common.
no_verify_hostname
(SSL) Curlftpfs will not verify the hostname when
connecting to a SSL enabled server.
no_verify_peer
(SSL) Curlftpfs will not verify the certificate when
connecting to a SSL enabled server.
pass=<password>
(SSL) Pass phrase for the private key.
proxy=<host[:port]>
Use specified HTTP proxy. If the port number is not
specified, it is assumed at port 1080.
This option overrides existing environment variables
that sets proxy to use. If there’s an environment
variable setting a proxy, you can set proxy to "" to
override it.
This options implies the proxytunnel option.
Starting with libcurl version 7.14.1, the proxy host can
be specified the exact same way as the proxy environment
variables, including protocol prefix (http://) and
embedded user + password.
proxytunnel
Tells curlftpfs to use a tunnel proxy. This option is
implied by the proxy option but you need to set it
manually if you use the proxy environment variable.
proxy_anyauth
Tells curl to pick a suitable authentication method when
communicating with the given proxy. This will cause
an extra request/response round-trip.
proxy_basic
Tells curlftpfs to use HTTP Basic authentication when
communicating with the given proxy. Basic is the default
authentication method curlftpfs is used with proxies.
proxy_digest
Tells curlftpfs to use HTTP Digest authentication when
communicating with the given proxy.
proxy_ntlm
Tells curlftpfs to use HTTP NTLM authentication when
communicating with the given proxy.
proxy_user=<user:password>
Specify user and password to use for proxy
authentication.
skip_pasv_ip
Tell curlftpfs to not use the IP address the server
suggests in its response to curlftpfs’s PASV command when
curlftpfs connects the data connection. Instead
curlftpfs will re-use the same IP address it already uses
for the control connection.
socks4 Set the proxy type to SOCKS4.
socks5 Set the proxy type to SOCKS5.
ssl Make curlftpfs use SSL/TLS for both control and data
connections.
sslv3 Forces curlftpfs to use SSL version 3 when negotiating
with a remote SSL server.
ssl_control
Make curlftpfs use SSL/TLS only for the control
connection.
ssl_try
Curlftpfs will try to use SSL/TLS for both the control
and data connections but if the server doesn’t support
it, it will still connect unencrypted.
tcp_nodelay
Turn on the TCP_NODELAY option. See the
curl_easy_setopt(3) man page for details about this
option.
tlsv1 (SSL) Forces curlftpfs to use TLS version 1 when
negotiating with a remote TLS server.
transform_symlinks
Append path to the absolute symlinks so that they still
point inside the ftp directory structure. Otherwise those
links will very probably be broken.
user=<user:password>
Specify user and password to use for server
authentication. Overrides netrc configuration.
utf8 Try to transfer file list with UTF-8 encoding. Send OPTS
UTF8 ON at the beginning of file list transfer.
FUSE OPTIONS
-d Enable FUSE debug output. Implies -f.
-f Run curlftpfs in foreground mode.
-r Mount read-only.
-s Disable multi-threaded operation.
-o Options are specified with a -o flag followed by a comma
separated string of options.
allow_other
Allow access to other users. By default the mount point
is only accessible to the user that mounted it and not
even to root.
allow_root
Allow access to root user. By default the mount point is
only accessible to the user that mounted it and not even
to root.
debug enable debug output
direct_io
use direct I/O
fsname=NAME
set filesystem name in mtab
gid=N set file group
hard_remove
immediate removal (don’t hide files)
kernel_cache
Let the kernel VFS do some caching of the files.
large_read
issue large read requests (2.4 only)
max_read=N
set maximum size of read requests
nonempty
allow mounts over non-empty file/dir
readdir_ino
try to fill in d_ino in readdir
uid=N set file owner
umask=M
set file permissions (octal)
use_ino
let filesystem set inode numbers
AUTHORS
Robson Braga Araujo is the author and maintainer of CurlFtpFS.
WWW
http://curlftpfs.sourceforge.net
SEE ALSO
mount(8)