123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370 |
- .TH curlftpfs 1 "25 May 2007" "CurlFtpFS-NG 0.9.3" "CurlFtpFS-NG Manual"
- .SH NAME
- curlftpfs \- mount a ftp host as a local directory
- .SH SYNOPSIS
- .B curlftpfs [options]
- .I host path
- .SH DESCRIPTION
- The program
- .B curlftpfs
- is a tool to mount remote ftp hosts as local directories. It connects to the
- .I host
- FTP server and maps its directory structure to the
- .I path
- directory.
- curlftpfs is powered by libcurl for all transfer-related features. See
- .BR libcurl (3)
- for details. The filesystem part is implemented on top of FUSE.
- See
- .BR https://github.com/libfuse/libfuse
- for details.
- .SH FTP OPTIONS
- .TP
- .B "-h/--help"
- Print help options.
- .TP
- .B "-v/--verbose"
- Make libcurl print verbose debug output.
- .TP
- .B "-V/--version"
- Print curlftpfs, libcurl and fuse versions.
- .TP
- .B \-o
- Options are specified with a
- .B \-o
- flag followed by a comma separated string of options.
- .RS
- .TP
- .B 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.
- .TP
- .B 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
- \fBcapath\fP can allow curlftpfs to make connections much more
- efficiently than using \fBcacert\fP if the \fBcacert\fP file contains many CA
- certificates.
- .TP
- .B cert=<certificate>
- (SSL) Tells curlftpfs to use the specified certificate file. The default format
- is "PEM" and can be changed with \fBcert_type\fP.
- .TP
- .B cert_type=<type>
- (SSL) Tells curlftpfs what certificate type the provided certificate is in.
- PEM, DER and ENG are recognized types.
- .TP
- .B 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: \fIhttp://www.openssl.org/docs/apps/ciphers.html\fP
- .TP
- .B codepage=<name>
- Sets the encoding the ftp server uses to encode file names.
- .TP
- .B 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.
- .TP
- .B 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".
- .TP
- .B 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.
- .TP
- .B disable_epsv
- Tell curlftpfs to disable the use of the EPSV command when doing passive FTP
- transfers. This is the default.
- .TP
- .B 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.
- .TP
- .B engine=<name>
- Select the OpenSSL crypto engine to use for cipher operations. Use:
- .br
- .B "curl \-\-engine list"
- .br
- to print a list of build-time supported engines. Note that not
- all (or none) of the engines may be available at run-time.
- .TP
- .B ftpfs_debug
- Make curlftpfs print lots of debug information. Useful only in conjunction with
- the
- .B \-d
- option.
- .TP
- .B 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:
- .RS
- .IP 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.
- .IP singlecwd
- curlftpfs does one CWD with the full target directory and then operates on the
- file \&"normally" (like in the multicwd case).
- .RE
- .TP
- .B 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:
- .RS
- .IP interface
- i.e "eth0" to specify which interface's IP address you want to use
- .IP "IP address"
- i.e "192.168.10.1" to specify exact IP number
- .IP "host name"
- i.e "my.host.domain" to specify machine
- .IP "-"
- make curlftpfs pick the same IP address that is already used for the control
- connection
- .RE
- .RS
- Disable the
- attempt to use the EPRT command instead of PORT by using \fIdisable_eprt\fP.
- EPRT is really PORT++.
- .RE
- .TP
- .B httpproxy
- Set the proxy type to HTTP. This is the default type.
- .TP
- .B 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.
- .TP
- .B iocharset=<name>
- Sets the charset used by the client side for codepage to charset translation.
- Default: UTF8.
- .TP
- .B 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.
- .TP
- .B 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.
- .TP
- .B 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
- \fBkey_type\fP.
- .TP
- .B 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 \fBkey\fP is used as an identifier passed to the engine.
- You have to set the crypto engine with \fBengine\fP option. "DER" format key
- file currently does not work because of a bug in OpenSSL.
- .TP
- .B 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.
- .TP
- .B no_verify_hostname
- (SSL) Curlftpfs will not verify the hostname when connecting to a SSL enabled
- server.
- .TP
- .B no_verify_peer
- (SSL) Curlftpfs will not verify the certificate when connecting to a SSL
- enabled server.
- .TP
- .B pass=<password>
- (SSL) Pass phrase for the private key.
- .TP
- .B 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 \fBproxytunnel\fP 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.
- .TP
- .B proxytunnel
- Tells curlftpfs to use a tunnel proxy. This option is implied by the
- \fBproxy\fP option but you need to set it manually if you use the \fIproxy\fP
- environment variable.
- .TP
- .B 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.
- .TP
- .B 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.
- .TP
- .B proxy_digest
- Tells curlftpfs to use HTTP Digest authentication when communicating with the
- given proxy.
- .TP
- .B proxy_ntlm
- Tells curlftpfs to use HTTP NTLM authentication when communicating with the
- given proxy.
- .TP
- .B proxy_user=<user:password>
- Specify user and password to use for proxy authentication.
- .TP
- .B 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.
- .TP
- .B socks4
- Set the proxy type to SOCKS4.
- .TP
- .B socks5
- Set the proxy type to SOCKS5.
- .TP
- .B ssl
- Make curlftpfs use SSL/TLS for both control and data connections.
- .TP
- .B sslv3
- Forces curlftpfs to use SSL version 3 when negotiating with a remote SSL
- server.
- .TP
- .B ssl_control
- Make curlftpfs use SSL/TLS only for the control connection.
- .TP
- .B 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.
- .TP
- .B tcp_nodelay
- Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for
- details about this option.
- .TP
- .B tlsv1
- (SSL) Forces curlftpfs to use TLS version 1 when negotiating with a remote TLS
- server.
- .TP
- .B transform_symlinks
- Append
- .I path
- to the absolute symlinks so that they still point inside the ftp directory
- structure. Otherwise those links will very probably be broken.
- .TP
- .B user=<user:password>
- Specify user and password to use for server authentication. Overrides
- netrc configuration.
- .TP
- .B utf8
- Try to transfer file list with UTF-8 encoding. Send OPTS UTF8 ON at the
- beginning of file list transfer.
- .SH FUSE OPTIONS
- .TP
- .B "-d"
- Enable FUSE debug output. Implies \fB-f\fP.
- .TP
- .B "-f"
- Run curlftpfs in foreground mode.
- .TP
- .B "-r"
- Mount read-only.
- .TP
- .B "-s"
- Disable multi-threaded operation.
- .TP
- .B \-o
- Options are specified with a
- .B \-o
- flag followed by a comma separated string of options.
- .RS
- .TP
- .B 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.
- .TP
- .B 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.
- .TP
- .B debug
- enable debug output
- .TP
- .B direct_io
- use direct I/O
- .TP
- .B fsname=NAME
- set filesystem name in mtab
- .TP
- .B gid=N
- set file group
- .TP
- .B hard_remove
- immediate removal (don't hide files)
- .TP
- .B kernel_cache
- Let the kernel VFS do some caching of the files.
- .TP
- .B large_read
- issue large read requests (2.4 only)
- .TP
- .B max_read=N
- set maximum size of read requests
- .TP
- .B nonempty
- allow mounts over non-empty file/dir
- .TP
- .B readdir_ino
- try to fill in d_ino in readdir
- .TP
- .B uid=N
- set file owner
- .TP
- .B umask=M
- set file permissions (octal)
- .TP
- .B use_ino
- let filesystem set inode numbers
- .SH AUTHORS
- Joseph Lansdowne is the maintainer of CurlFtpFS-NG.
- Robson Braga Araujo is the original author of CurlFtpFS.
- .SH WWW
- http://ikn.org.uk/CurlFtpFS-NG
- .SH "SEE ALSO"
- .BR mount (8)
|