How to contribute

Peerfuse is a young project, and looking for developpers..

If you are interrested in Peerfuse, you can subscribe to our mailing list, or join our IRC Channel.

There is much work still to be done, so if you are a developper, a packager, if you like writing documentation etc., you can contact us!

Links

You can browse sources here.


Features

  • Peerfuse is a filesystem, it doesn't have any GUI to see which user is sharing what. To search for file, you can just use the find command or the find utility of your preferred desktop. (an optional GUI is still planned to handle annex tasks, like group handling on Peerfuse-net ...).
  • There is no central server, when you join a network, you just need to connect to one of the peers, to get in contact with the others.
  • The mounted partition is common to everyone, i.e. the tree in the mountpoint is the same for everyone.
    When you want to share a file with the world, you just have to copy it into the mountpoint and every (authorized) user will see the file and will be able to read or copy it.
  • Files are seamlessly downloaded from multiple peers, and read as if they were on your hard drive.
  • There is nonetheless a permission system, like on any UNIX filesystem.
    On peerfuse-net, each peer has a UID, and each file will have this UID for owner. After that, the UNIX permissions apply like always. Groups are also supported, assuming that an user is the owner of the group GID = UID. Hence it is him who adds users to his group.
    On peerfuse-lan, the UNIX system permissions are preserved. Hence, root on the local machine will be given the same access rights as the an other root user over the whole network.
  • Another powerful feature of peerfuse is to allow collaborative work. Each file can be be modified by users having enough permissions. It is then easy to imagine a project created on a peerfuse network, in a folder on which the group has read/write access. Each member of the group will be able to modify the project. It doesn't attempt to replace Subversion, but can be really useful to work on big binary files. Moreover, Peerfuse doesn't handle revision control, as soon as a modification is done on a file, all users see the modification
  • Peerfuse can work in disconnected mode, which means when you are not connected to the network, you can still start peerfuse and add, alter and delete files. The next time you join the network, the changes will be applied.
  • All communications are encrypted using OpenSSL, peers are authenticated with X509 certificates.
    peerfuse-net reinforces the security even more, with signing each message and file, encrypting the files available only to a part of the users (owner or group), certificates delivered by an authority to authenticate an user, etc.
  • UDP will probably be used on peerfuse-lan, to achieve optimal speed on a LAN network.
  • The transfers will be done as much as possible in a streaming fashion. The goal is to be able to read a video in a totally transparent way even when it is not already on the local computer. If the download speed is higher than the video's bitrate, no difference will be seen.

© 2008 Laurent Defert, Romain Bignon
Valid XHTML 1.1 and CSS.
Thanks to axestech.net for this website.