Towards a Freenet Filesystem

David McNab <[email protected]>
Newsgroups gmane.network.freenet.general
Message-ID <[email protected]>
Hi,

Your ideas are needed.

I'm in the early stages of implementing a linux filesystem for freenet,
based on the FUSE (userspace filesystem) framework.

The idea is to empower users and app developers, so they can type:

  $ mount -t freenetfs /dev/fuse /mnt/freenet -o <options>

or alternatively, have in their /etc/fstab the entry:

  /dev/fuse /mnt/freenet freenetfs <options> 0 0

and end up with freenet mounted at /mnt/freenet

The purpose is to allow seamless integration with freenet of any
application which accesses the filesystem. One use of this would be
allowing people to edit sensitive OpenOffice documents, and store
the files completely within freenet, and allow others to read these
anonymously.

So far, I'm thinking through some options for a directory tree model,
and here's what I've got so far:

  /
     - the root (d'oh)
  /keys/
     - returns empty directory listing
  /keys/KSK@somekey
  /keys/SSK@anotherkey/name
  /keys/USK@yetanotherkey/name/version
  /keys/CHK@yetanotherfreakinkey
     - performs a GET of the given key from freenet, and allows it
       to be read like a file. First line is <mimetype>\n
  /privatekeys/SSK@anotherkeyprivate/name
     - the filename 'SSK@anotherkeyprivate' is the private key
       corresponding to /keys/SSK@anotherkey/name
     - reading from this file produces a single line, the equivalent
       public key
     - writing to this file performs a freenet PUT. First line written
       should be <mimetype>\n, then the raw key data
  /cmd/
     - a pseudo-directory allowing commands to be sent to the fs, via
       reading/writing pseudo-files
  /cmd/genkey
     - reading this file produces an SSK@ keypair
  /usr/
     - contains a set of named subdirectories, where the mapping of
       physical freenet key to logical name is governed by config
       file settings, such as:

         [userdirs]
         fred=freenet:USK@privateblah1/name
         mary=freenet:USK@privateblah2/name

       so reads from '/usr/fred/' become a read to
       '/keys/USK@publicblah1/name, and writes to /usr/fred
       become a write to '/privatekeys/USK@privateblah1'.

If anyone gets some ideas to improve this model, please reply to this
thread.

-- 
Cheers
David

_______________________________________________
chat mailing list
[email protected]
Archived: http://news.gmane.org/gmane.network.freenet.general
Unsubscribe at http://emu.freenetproject.org/cgi-bin/mailman/listinfo/chat
Or mailto:[email protected]?subject=unsubscribe
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.