fuseftp: Implementing userspace filesystems with Perl
Well, as I mentioned earlier, 2.6.14 has this nifty new FUSE feature, allowing the implementation of a file system in userspace. Unfortunately, there was no implementation of a FTP filesystem. Fortunately, there are Perl bindings for FUSE :-).
One can implement a userspace filesystem using the whole power of Perl, and that makes it quite easy. I implemented a basic ftp filesystem this morning, which uses Fuse.pm and Net::FTP to allow read only access to ftp servers. It works quite well and was really easy, so this might be the beginning of a couple of nice userspace filesystems written in Perl. I could actually create MegasusFS….
BTW, you can download fuseftp from my wiki page.
Usage is quite easy, you can simply:
marcus@hal2000:~: mkdir kernel marcus@hal2000:~: fuseftp kernel/ ftp.kernel.org & Successfully logged into ftp.kernel.org [1] 7150 marcus@hal2000:~: cd kernel/ marcus@hal2000:~/kernel: ls for_mirrors_only lost+found pub usr welcome.msg marcus@hal2000:~/kernel: cd .. marcus@hal2000:~: fusermount -u kernel/ [1]+ Done fuseftp kernel/ ftp.kernel.org