Skip to content

mbouaziz/xcurlftpfs

 
 

Repository files navigation

Note
========

XCurlFtpFS is a filesystem for accessing ftp hosts based on FUSE and
libcurl, as well as performing some actions (like symlinks) using
httpostfs protocol.

This is _not_ the official CurlFtpFS project, which can be found there:
http://curlftpfs.sourceforge.net/

I forked from clobrother, added commits from jomat (urlencode) and
taem (gitignore).

Clobrother just added some code the correctly handle filename which
contains url-special chars (actually, just # and %) by url-encoding
them:
 % -> %25
 # -> %23
Using that, curl will not translate them, and will target the correct
filename.

CurlFtpFS
=========

CurlFtpFS is a filesystem for accessing ftp hosts based on FUSE and
libcurl. It automatically reconnects if the server times out. 

My motivation to start this project was to learn how to program using
Curl (http://curl.haxx.se) and Fuse (http://fuse.sourceforge.net). I
also wanted to maintain my website (http://www.golaberto.com.br) using
the tools that I was used to, like cd, mv, cp and vim.

As the FTP protocol is not very feature rich, this filesystem does not
fulfill every constraint of a real filesystem, but it should be usable
for simple tasks like copying and editing files.

Requirements
============

glib-2.0
libcurl >= 7.17.0


Compilation and Installation
============================

autoreconf -i

./configure
make
make install

Usage
=====

curlftpfs <ftpsite> <mountpoint>

ex.:
curlftpfs ftp://ftp.sunet.se/ sunet/


Debugging
=========

curlftpfs -f -v -o debug,ftpfs_debug=3 <ftpsite> <mountpoint> 

(runs the curlftpfs in foreground and shows libcurl verbose debug output)  


Known Problems
==============

1) Several GUI application (gedit, leafpad,...) use open(O_RDWR) + seek mode for saving files 
which cannot be supported by the FTP protocol. Therefore saving files might throw an error.
Hopefully future kernels will provide special errno's to make it easier to 
deal with less capable file-systems.

2) There seems to be a bug in libcurl 7.18 which sometimes causes problems reading files. 
Should be fixed in libcurl >= 7.18.2

http://sourceforge.net/tracker/index.php?func=detail&aid=1951588&group_id=976&atid=100976




About

A FTP filesystem based on cURL and FUSE with options to use httpostfs features

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 67.6%
  • C 32.4%