= Tahoe-LAFS extensions = There are several projects to extend Tahoe-LAFS or integrate it with other tools. * nejucomo's [https://bitbucket.org/nejucomo/lafs-rpg/ lafs-rpg] read-only web proxy * Aaron Cordova's [http://code.google.com/p/hadoop-lafs hadoop-lafs] ([//pipermail/tahoe-dev/2009-August/002727.html announcement email]) * nejucomo's hglafs [//pipermail/tahoe-dev/2010-June/004559.html announcement], [http://bitbucket.org/nejucomo/hglafs home page] * [//trac/tiddly_on_tahoe tiddly_on_tahoe] -- Zooko's plugin for !TiddlyWiki so it can save itself to Tahoe-LAFS * [http://github.com/divegeek/GridBackup GridBackup] -- Shawn Willden's ambitious new backup tool project (pre-alpha state). * [http://github.com/ctrlaltdel/TahoeLAFS-android TahoeLAFS-android] -- François Deppierraz's Tahoe-LAFS client for Android phones * [http://github.com/ctrlaltdel/puppet-tahoe puppet-tahoe] -- François Deppierraz's Tahoe-LAFS plugin for Puppet; featured in [//~zooko/TWN10.html Tahoe-LAFS Weekly News issue 10] * [https://github.com/keiichishima/tahoefs/commits/master/ FUSE interface] in C by Keiichi Shima ; docs say that it is read-only for now (See also the FAQ [wiki:FAQ#Q23_FUSE Can I access files stored in Tahoe-LAFS via FUSE?].) * [https://github.com/joepie91/tahoe-tools 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. * [https://github.com/joepie91/pytahoe 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. * [https://github.com/mk-fg/lafs-backup-tool lafs-backup-tool] -- another alternative tool to backup files to Tahoe-LAFS grid. Other tools can use Tahoe-LAFS: * [http://duplicity.nongnu.org duplicity] has a Tahoe-LAFS backend (thanks originally to François Deppierraz) * [http://www.duplicati.com/ duplicati] has a Tahoe-LAFS backend * [http://code.google.com/p/pyfilesystem/ 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: * [wiki:TipsTricks The Tips and Tricks page] = Spin-off Projects = These are projects that are currently primarily maintained by Tahoe-LAFS developers. * [http://foolscap.lothar.com/trac 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 [http://lists.zooko.com/mailman/listinfo/p2p-hackers p2p-hackers mailing list]. * [https://github.com/apenwarr/bup 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 * [http://stromberg.dnsalias.org/~dstromberg/backshift/ backshift] is a backup tool with "convergent variable-length block deduplication", as well as compression and incremental updates. written in Python; licence: GPLv3 * [http://hekafs.org HekaFS] is a project to add encryption and other multi-tenancy features to [http://gluster.org Gluster filesystem]. It is sponsored by [https://www.redhat.com/ RedHat], who recently bought Gluster; featured in [//~marlowe/TWN14.html Tahoe-LAFS Weekly News issue 14]; licence: GPLv3 * [http://www.kitten-technologies.co.uk/project.php?project=ugarit 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 * [http://gnunet.org GNUnet] is an anonymous, censorship-resistant, file-sharing network. licence: GPLv2+ * [http://camlistore.org/ Camlistore] is a distributed data store plus some ideas about synchronization, sharing, and modelling. licence: Apache * [http://git-scm.com/ 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 * [http://freenetproject.org 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) = * [http://www.mozilla.org/en-US/mobile/sync/ 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 * [http://noncombatant.org/octavia/ 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 * [http://code.google.com/p/nilestore/ Nilestore] is a secure and fault tolerant distributed storage system built using [http://kompics.sics.se/ 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? * [source:trunk/mac@4434 macapp.py] -- 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) * [https://bitbucket.org/nejucomo/tahoewapi.js 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 [wiki:AllmydataDotComPage allmydata.com] and open-sourced, but not documented or announced * [//trac/tahoe-webdrive tahoe-webdrive] -- a complete !JavaScript product, written by [wiki:AllmydataDotComPage 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] * [http://github.com/ianlevesque/rubytahoe/ RubyTahoe] -- Ian Levesque's ruby client library for the Tahoe-LAFS webapi. * [http://github.com/soult/rubytahoe/ RubyTahoe] -- David Triendl's fork of Ian's ruby client library with extended features. * [http://github.com/trel/rubytahoe/ RubyTahoe] -- Terrell Russell's fork of David's fork of Ian's ruby client library, now with fewer warnings! * [http://github.com/thraxil/canopy canopy] -- A Django frontend to Tahoe-LAFS * [http://forge.bearstech.com/trac/wiki/DDBFS DDBFS] is a proof of concept for a data storage middleware * [https://github.com/josip/tahoe-music-player tahoe-music-player] -- Josip Lisec's music playing app written in Javascript atop Tahoe-LAFS = See Also = * Our [wiki:Dev Dev page], especially the [wiki:Extensions developing Extensions page] * Our [wiki:Bibliography Bibliography page].