100 RelatedProjects
mk.fg edited this page 2013-08-29 22:28:32 +00:00

Tahoe-LAFS extensions

There are several projects to extend Tahoe-LAFS or integrate it with other tools.

  • nejucomo's lafs-rpg read-only web proxy
  • Aaron Cordova's hadoop-lafs ([//pipermail/tahoe-dev/2009-August/002727.html announcement email])
  • nejucomo's hglafs [//pipermail/tahoe-dev/2010-June/004559.html announcement], home page
  • [//trac/tiddly_on_tahoe tiddly_on_tahoe] -- Zooko's plugin for TiddlyWiki so it can save itself to Tahoe-LAFS
  • GridBackup -- Shawn Willden's ambitious new backup tool project (pre-alpha state).
  • TahoeLAFS-android -- François Deppierraz's Tahoe-LAFS client for Android phones
  • puppet-tahoe -- François Deppierraz's Tahoe-LAFS plugin for Puppet; featured in [//~zooko/TWN10.html Tahoe-LAFS Weekly News issue 10]
  • FUSE interface in C by Keiichi Shima ; docs say that it is read-only for now (See also the FAQ Can I access files stored in Tahoe-LAFS via FUSE?.)
  • tahoe-tools, a set of assorted tools for working with Tahoe-LAFS grids. Includes a PHP-based frontend for repairing files, a rudimentary read-only gateway (with URL generator), a remote Tahoe-LAFS setup script, and upload shellscript. Everything is a bit dated, but will be (partially) updated soon.
  • pytahoe, a Python module for working with a Tahoe-LAFS web API from within Python applications. Fairly limited and read-only, but has the basics.
  • lafs-backup-tool -- another alternative tool to backup files to Tahoe-LAFS grid.
  • tahoe-lafs-public-clouds -- backend drivers for no-cost cloud providers (skydrive, box.net, u1).

Other tools can use Tahoe-LAFS:

  • duplicity has a Tahoe-LAFS backend (thanks originally to François Deppierraz)
  • duplicati has a Tahoe-LAFS backend
  • pyfilesystem has a Tahoe-LAFS backend (thanks originally to slush)

(see below for Tahoe-LAFS extensions -- dormant.)

Tips and Tricks

Tahoe-LAFS can be integrated into several other tools simply by adjusting some configuration settings. These include iCal, Bazaar, Perforce, and git-annex:

Spin-off Projects

These are projects that are currently primarily maintained by Tahoe-LAFS developers.

  • foolscap
  • [//trac/zfec zfec]
  • [//trac/pycryptopp pycryptopp]
  • [//trac/pyutil pyutil]

Dependencies

We are fortunate to have a vast library of high quality Free Software that we can re-use to build Tahoe-LAFS. We contribute patches and bug reports back to these projects. The following list is incomplete -- see also source:src/allmydata/_auto_deps.py.

  • Python
  • Twisted
  • gcc
  • Nevow
  • setuptools
  • OpenSSL

Other Projects

These projects have no specific relationship with our project, but they are similar in some ways and so may be of interest. We sometimes exchange ideas with the developers of some of these projects, especially on the p2p-hackers mailing list.

  • bup is a backup tool with "convergent variable-length block deduplication". It re-uses some of git's internals. featured in [//~zooko/TWN9.html Tahoe-LAFS Weekly News issue 9]; licence: GPLv2
  • backshift is a backup tool with "convergent variable-length block deduplication", as well as compression and incremental updates. written in Python; licence: GPLv3
  • HekaFS is a project to add encryption and other multi-tenancy features to Gluster filesystem. It is sponsored by RedHat, who recently bought Gluster; featured in [//~marlowe/TWN14.html Tahoe-LAFS Weekly News issue 14]; licence: GPLv3
  • Ugarit is a storage system inspired by Venti and implemented in Chicken Scheme. Immature—it currently can't use a remote backend, only a local POSIX filesystem. licence: BSD
  • GNUnet is an anonymous, censorship-resistant, file-sharing network. licence: GPLv2+
  • Camlistore is a distributed data store plus some ideas about synchronization, sharing, and modelling. licence: Apache
  • git is a decentralized revision control tool. No wait! It is a beautiful decentralized data store with a grotesque revision control tool built on top. (Zooko takes full responsibility for this careless slander.) licence: GPLv2
  • FreeNet is a long-running project to make a decentralized and censorship-resistant file-sharing network. featured in [//~zooko/TWN7.html Tahoe-LAFS Weekly News issue 7], FAQ in [/wiki/FAQ?version=54#Q1_5_what_s_the_difference_from_freenet FAQ 1.5]; licence: GPLv2

Perhaps Somewhat Influenced By Tahoe-LAFS (or maybe very much inspired by Tahoe-LAFS)

  • Firefox Sync (originally named "Weave") is a project to securely share your web browser metadata such as cookies, saved passwords, and bookmarks. Comes standard in Firefox. licence: Mozilla
  • Octavia is a new distributed filesystem inspired by Tahoe-LAFS and intended to improve on Tahoe-LAFS in performance and usability. It is very new and not yet usable except for experimentation. licence: GPL
  • Nilestore is a secure and fault tolerant distributed storage system built using Kompics component model framework following the design of Tahoe-LAFS. currently it implements the immutable file upload and download. featured in [//~zooko/TWN11.html Tahoe-LAFS Weekly News issue 11]; licence: GPLv2

Tahoe-LAFS extensions -- dormant

Possibly unmaintained. Pining for the fjords?

  • [macapp.py]source:trunk/mac@4434 -- Rob Kinninmont's Macintosh GUI
  • Andrej Falout's [//pipermail/tahoe-dev/2009-June/001976.html obackup]
  • [//pipermail/tahoe-dev/2010-March/004138.html Tahoe Explorer] -- a JavaScript-based UI and webapi interface by Toby Murray (see also ticket #1000)
  • tahoewapijs -- Nathan Wilcox's Tahoe-LAFS JavaScript library
  • [//trac/tahoe-w32-client tahoe-w32-client] -- a complete Windows product with filesystem integration (a virtual drive) and a GUI, written by allmydata.com and open-sourced, but not documented or announced
  • [//trac/tahoe-webdrive tahoe-webdrive] -- a complete JavaScript product, written by allmydata.com and open-sourced, but not documented or announced
  • [//trac/libtahoeclient_webapi libtahoeclient_webapi] -- Nils Durner's C client library for the Tahoe-LAFS webapi (pre-alpha state)
  • [trac/tahoe-iphone-client Tahoe-LAFS iPhone client] -- allmydata's iPhone client; featured in [~zooko/TWN13.html Tahoe-LAFS Weekly News issue 13]
  • RubyTahoe -- Ian Levesque's ruby client library for the Tahoe-LAFS webapi.
  • RubyTahoe -- David Triendl's fork of Ian's ruby client library with extended features.
  • RubyTahoe -- Terrell Russell's fork of David's fork of Ian's ruby client library, now with fewer warnings!
  • canopy -- A Django frontend to Tahoe-LAFS
  • DDBFS is a proof of concept for a data storage middleware
  • tahoe-music-player -- Josip Lisec's music playing app written in Javascript atop Tahoe-LAFS

See Also