curlftpfs.1 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. .TH curlftpfs 1 "25 May 2007" "CurlFtpFS-NG 0.9.3" "CurlFtpFS-NG Manual"
  2. .SH NAME
  3. curlftpfs \- mount a ftp host as a local directory
  4. .SH SYNOPSIS
  5. .B curlftpfs [options]
  6. .I host path
  7. .SH DESCRIPTION
  8. The program
  9. .B curlftpfs
  10. is a tool to mount remote ftp hosts as local directories. It connects to the
  11. .I host
  12. FTP server and maps its directory structure to the
  13. .I path
  14. directory.
  15. curlftpfs is powered by libcurl for all transfer-related features. See
  16. .BR libcurl (3)
  17. for details. The filesystem part is implemented on top of FUSE.
  18. See
  19. .BR https://github.com/libfuse/libfuse
  20. for details.
  21. .SH FTP OPTIONS
  22. .TP
  23. .B "-h/--help"
  24. Print help options.
  25. .TP
  26. .B "-v/--verbose"
  27. Make libcurl print verbose debug output.
  28. .TP
  29. .B "-V/--version"
  30. Print curlftpfs, libcurl and fuse versions.
  31. .TP
  32. .B \-o
  33. Options are specified with a
  34. .B \-o
  35. flag followed by a comma separated string of options.
  36. .RS
  37. .TP
  38. .B cacert=<file>
  39. (SSL) Pass a string naming a file holding
  40. one or more certificates to verify the peer with.
  41. Note that option is by default set to the system path where
  42. libcurl's cacert bundle is assumed to be stored, as established
  43. at build time.
  44. .TP
  45. .B capath=<directory>
  46. (SSL) Tells curlftpfs to use the specified certificate directory to verify the
  47. peer. The certificates must be in PEM format, and the directory must have been
  48. processed using the c_rehash utility supplied with openssl. Using
  49. \fBcapath\fP can allow curlftpfs to make connections much more
  50. efficiently than using \fBcacert\fP if the \fBcacert\fP file contains many CA
  51. certificates.
  52. .TP
  53. .B cert=<certificate>
  54. (SSL) Tells curlftpfs to use the specified certificate file. The default format
  55. is "PEM" and can be changed with \fBcert_type\fP.
  56. .TP
  57. .B cert_type=<type>
  58. (SSL) Tells curlftpfs what certificate type the provided certificate is in.
  59. PEM, DER and ENG are recognized types.
  60. .TP
  61. .B ciphers=<list of ciphers>
  62. (SSL) Specifies which ciphers to use in the connection. The list must be
  63. syntactically correct, it consists of one or more cipher strings separated by
  64. colons. Commas or spaces
  65. are also acceptable separators but colons are normally used, , - and + can
  66. be used as operators. Valid examples of cipher lists include 'RC4-SHA',
  67. \'SHA1+DES', 'TLSv1' and 'DEFAULT'. The default list is normally
  68. set when you compile OpenSSL.
  69. Read up on SSL cipher list details
  70. on this URL: \fIhttp://www.openssl.org/docs/apps/ciphers.html\fP
  71. .TP
  72. .B codepage=<name>
  73. Sets the encoding the ftp server uses to encode file names.
  74. .TP
  75. .B connect_timeout=<seconds>
  76. Maximum time in seconds that you allow the connection to the server to take.
  77. This only limits the connection phase, once curlftpfs has connected this option
  78. is of no more use.
  79. .TP
  80. .B custom_list=<command>
  81. Command used by curlftpfs to list files. The default is "LIST -a" but some
  82. servers might require extra options, e.g. "LIST -la".
  83. .TP
  84. .B disable_eprt
  85. Tell curlftpfs to disable the use of the EPRT and LPRT commands when doing
  86. active FTP transfers. Curlftpfs will normally always first attempt to use EPRT,
  87. then LPRT before using PORT, but with this option, it will use PORT right
  88. away. EPRT and LPRT are extensions to the original FTP protocol, may not work
  89. on all servers but enable more functionality in a better way than the
  90. traditional PORT command.
  91. .TP
  92. .B disable_epsv
  93. Tell curlftpfs to disable the use of the EPSV command when doing passive FTP
  94. transfers. This is the default.
  95. .TP
  96. .B enable_epsv
  97. Tell curlftpfs to enable the use of the EPSV command when doing passive FTP
  98. transfers. Curlftpfs will first attempt to use EPSV before PASV.
  99. .TP
  100. .B engine=<name>
  101. Select the OpenSSL crypto engine to use for cipher operations. Use:
  102. .br
  103. .B "curl \-\-engine list"
  104. .br
  105. to print a list of build-time supported engines. Note that not
  106. all (or none) of the engines may be available at run-time.
  107. .TP
  108. .B ftpfs_debug
  109. Make curlftpfs print lots of debug information. Useful only in conjunction with
  110. the
  111. .B \-d
  112. option.
  113. .TP
  114. .B ftp_method=<method>
  115. Control what method curlftpfs should use to reach a file on the
  116. server. The method argument should be one of the following alternatives:
  117. .RS
  118. .IP multicwd
  119. curlftpfs does a single CWD operation for each path part in the given URL. For
  120. deep hierarchies this means very many commands. This is how RFC1738 says it
  121. should be done. This is the default but the slowest behavior.
  122. .IP singlecwd
  123. curlftpfs does one CWD with the full target directory and then operates on the
  124. file \&"normally" (like in the multicwd case).
  125. .RE
  126. .TP
  127. .B ftp_port=<address>
  128. Reverses the initiator/listener roles when connecting with ftp. This
  129. switch makes curlftpfs use the PORT command instead of PASV. In practice, PORT
  130. tells the server to connect to the client's specified address and port, while
  131. PASV asks the server for an ip address and port to connect to. <address>
  132. should be one of:
  133. .RS
  134. .IP interface
  135. i.e "eth0" to specify which interface's IP address you want to use
  136. .IP "IP address"
  137. i.e "192.168.10.1" to specify exact IP number
  138. .IP "host name"
  139. i.e "my.host.domain" to specify machine
  140. .IP "-"
  141. make curlftpfs pick the same IP address that is already used for the control
  142. connection
  143. .RE
  144. .RS
  145. Disable the
  146. attempt to use the EPRT command instead of PORT by using \fIdisable_eprt\fP.
  147. EPRT is really PORT++.
  148. .RE
  149. .TP
  150. .B httpproxy
  151. Set the proxy type to HTTP. This is the default type.
  152. .TP
  153. .B interface=<name>
  154. Pass a string as parameter. This set the interface name to use as outgoing
  155. network interface. The name can be an interface name, an IP address or a
  156. host name.
  157. .TP
  158. .B iocharset=<name>
  159. Sets the charset used by the client side for codepage to charset translation.
  160. Default: UTF8.
  161. .TP
  162. .B ipv4
  163. If libcurl is capable of resolving an address to multiple IP versions
  164. (which it is if it is ipv6-capable), this option tells libcurl to resolve
  165. names to IPv4 addresses only.
  166. .TP
  167. .B ipv6
  168. If libcurl is capable of resolving an address to multiple IP versions
  169. (which it is if it is ipv6-capable), this option tells libcurl to resolve
  170. names to IPv6 addresses only.
  171. .TP
  172. .B key=<key>
  173. (SSL) Private key file name. Allows you to provide your private key in this
  174. separate file. The default format is "PEM" and can be changed with
  175. \fBkey_type\fP.
  176. .TP
  177. .B key_type=<type>
  178. (SSL) Pass a string in
  179. the format of your private key. Supported formats are "PEM", "DER" and
  180. "ENG".
  181. The format "ENG" enables you to load the private key from a crypto engine.
  182. In this case \fBkey\fP is used as an identifier passed to the engine.
  183. You have to set the crypto engine with \fBengine\fP option. "DER" format key
  184. file currently does not work because of a bug in OpenSSL.
  185. .TP
  186. .B krb4=<level>
  187. Enable kerberos4 authentication and use. The level must be entered and should
  188. be one of 'clear', 'safe', 'confidential' or 'private'. Should you use a
  189. level that is not one of these, 'private' will instead be used.
  190. This option requires that the libcurl library was built with kerberos4
  191. support. This is not very common.
  192. .TP
  193. .B no_verify_hostname
  194. (SSL) Curlftpfs will not verify the hostname when connecting to a SSL enabled
  195. server.
  196. .TP
  197. .B no_verify_peer
  198. (SSL) Curlftpfs will not verify the certificate when connecting to a SSL
  199. enabled server.
  200. .TP
  201. .B pass=<password>
  202. (SSL) Pass phrase for the private key.
  203. .TP
  204. .B proxy=<host[:port]>
  205. Use specified HTTP proxy. If the port number is not specified, it is assumed
  206. at port 1080.
  207. This option overrides existing environment variables that sets
  208. proxy to use. If there's an environment variable setting a proxy, you can
  209. set proxy to "" to override it.
  210. This options implies the \fBproxytunnel\fP option.
  211. Starting with libcurl version 7.14.1, the proxy host can be specified the
  212. exact same way as the proxy environment variables, including protocol prefix
  213. (http://) and embedded user + password.
  214. .TP
  215. .B proxytunnel
  216. Tells curlftpfs to use a tunnel proxy. This option is implied by the
  217. \fBproxy\fP option but you need to set it manually if you use the \fIproxy\fP
  218. environment variable.
  219. .TP
  220. .B proxy_anyauth
  221. Tells curl to pick a suitable authentication method when communicating with
  222. the given proxy. This will cause an extra request/response round-trip.
  223. .TP
  224. .B proxy_basic
  225. Tells curlftpfs to use HTTP Basic authentication when communicating with the
  226. given proxy. Basic is the default authentication method curlftpfs is used with
  227. proxies.
  228. .TP
  229. .B proxy_digest
  230. Tells curlftpfs to use HTTP Digest authentication when communicating with the
  231. given proxy.
  232. .TP
  233. .B proxy_ntlm
  234. Tells curlftpfs to use HTTP NTLM authentication when communicating with the
  235. given proxy.
  236. .TP
  237. .B proxy_user=<user:password>
  238. Specify user and password to use for proxy authentication.
  239. .TP
  240. .B skip_pasv_ip
  241. Tell curlftpfs to not use the IP address the server suggests in its response
  242. to curlftpfs's PASV command when curlftpfs connects the data connection.
  243. Instead curlftpfs will re-use the same IP address it already uses for the
  244. control connection.
  245. .TP
  246. .B socks4
  247. Set the proxy type to SOCKS4.
  248. .TP
  249. .B socks5
  250. Set the proxy type to SOCKS5.
  251. .TP
  252. .B ssl
  253. Make curlftpfs use SSL/TLS for both control and data connections.
  254. .TP
  255. .B sslv3
  256. Forces curlftpfs to use SSL version 3 when negotiating with a remote SSL
  257. server.
  258. .TP
  259. .B ssl_control
  260. Make curlftpfs use SSL/TLS only for the control connection.
  261. .TP
  262. .B ssl_try
  263. Curlftpfs will try to use SSL/TLS for both the control and data connections
  264. but if the server doesn't support it, it will still connect unencrypted.
  265. .TP
  266. .B tcp_nodelay
  267. Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for
  268. details about this option.
  269. .TP
  270. .B tlsv1
  271. (SSL) Forces curlftpfs to use TLS version 1 when negotiating with a remote TLS
  272. server.
  273. .TP
  274. .B transform_symlinks
  275. Append
  276. .I path
  277. to the absolute symlinks so that they still point inside the ftp directory
  278. structure. Otherwise those links will very probably be broken.
  279. .TP
  280. .B user=<user:password>
  281. Specify user and password to use for server authentication. Overrides
  282. netrc configuration.
  283. .TP
  284. .B utf8
  285. Try to transfer file list with UTF-8 encoding. Send OPTS UTF8 ON at the
  286. beginning of file list transfer.
  287. .SH FUSE OPTIONS
  288. .TP
  289. .B "-d"
  290. Enable FUSE debug output. Implies \fB-f\fP.
  291. .TP
  292. .B "-f"
  293. Run curlftpfs in foreground mode.
  294. .TP
  295. .B "-r"
  296. Mount read-only.
  297. .TP
  298. .B "-s"
  299. Disable multi-threaded operation.
  300. .TP
  301. .B \-o
  302. Options are specified with a
  303. .B \-o
  304. flag followed by a comma separated string of options.
  305. .RS
  306. .TP
  307. .B allow_other
  308. Allow access to other users. By default the mount point is only accessible to
  309. the user that mounted it and not even to root.
  310. .TP
  311. .B allow_root
  312. Allow access to root user. By default the mount point is only accessible to
  313. the user that mounted it and not even to root.
  314. .TP
  315. .B debug
  316. enable debug output
  317. .TP
  318. .B direct_io
  319. use direct I/O
  320. .TP
  321. .B fsname=NAME
  322. set filesystem name in mtab
  323. .TP
  324. .B gid=N
  325. set file group
  326. .TP
  327. .B hard_remove
  328. immediate removal (don't hide files)
  329. .TP
  330. .B kernel_cache
  331. Let the kernel VFS do some caching of the files.
  332. .TP
  333. .B large_read
  334. issue large read requests (2.4 only)
  335. .TP
  336. .B max_read=N
  337. set maximum size of read requests
  338. .TP
  339. .B nonempty
  340. allow mounts over non-empty file/dir
  341. .TP
  342. .B readdir_ino
  343. try to fill in d_ino in readdir
  344. .TP
  345. .B uid=N
  346. set file owner
  347. .TP
  348. .B umask=M
  349. set file permissions (octal)
  350. .TP
  351. .B use_ino
  352. let filesystem set inode numbers
  353. .SH AUTHORS
  354. Joseph Lansdowne is the maintainer of CurlFtpFS-NG.
  355. Robson Braga Araujo is the original author of CurlFtpFS.
  356. .SH WWW
  357. http://ikn.org.uk/CurlFtpFS-NG
  358. .SH "SEE ALSO"
  359. .BR mount (8)