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