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 (announcement email)
- nejucomo's hglafs announcement, home page
- 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 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.
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 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 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 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 Tahoe-LAFS Weekly News issue 7, FAQ in 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 Tahoe-LAFS Weekly News issue 11; licence: GPLv2
Tahoe-LAFS extensions -- dormant
Possibly unmaintained. Pining for the fjords?
- macapp.py -- Rob Kinninmont's Macintosh GUI
- Andrej Falout's obackup
- Tahoe Explorer -- a JavaScript-based UI and webapi interface by Toby Murray (see also ticket #1000)
- tahoewapijs -- Nathan Wilcox's Tahoe-LAFS JavaScript library
- 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
- tahoe-webdrive -- a complete JavaScript product, written by allmydata.com and open-sourced, but not documented or announced
- libtahoeclient_webapi -- Nils Durner's C client library for the Tahoe-LAFS webapi (pre-alpha state)
- Tahoe-LAFS iPhone client -- allmydata's iPhone client; featured in 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
- Our Dev page, especially the developing Extensions page
- Our Bibliography page.