tahoe-lafs backend drivers for no-cost cloud providers
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

tahoe-lafs-public-clouds

Tahoe-LAFS backend drivers for no-cost cloud providers.

Project aims to provide necessary tools to allow using tahoe-lafs-provided client-side security mechanisms and interfaces with no-cost public cloud storage like skydrive, google drive and dropbox.

Previously, contents of this project were in my fork of tahoe-lafs (cloud-backend* branches), but as code style and some pactices used here look way different from upstream, decided that it'd be better to have a separate project, to have clear boundary and avoid any confusion.

Necessary cloud-backend abstractions isn't in current Tahoe-LAFS releases yet (as of 1.10a1), but available in LeastAuthority/tahoe-lafs repository (or a local fork at mk-fg/tahoe-lafs).

I intentionally avoid calling providers mentioned above "free" as their policies are usually openly hostile to users, developers or both, hence that word might be confusing and innacurate in such context.

Installation

Modules in pubclouds path of this repo correspond to backend drivers, which currently should be placed into "src/allmydata/storage/backends/cloud" directory inside tahoe-lafs source tree.

Dependency modules for these drivers are listed in the requirements.txt file and can be either installed by hand or added to "src/allmydata/_auto_deps.py" in tahoe-lafs, so that they'd be installed and updated alongside other tahoe-lafs deps.

Finally, CLOUD_INTERFACES variable in "src/allmydata/storage/backends/cloud/cloud_backend.py" should contain the new backends, for example:

CLOUD_INTERFACES = ("cloud.s3", "cloud.openstack", "cloud.googlestorage", "cloud.msazure", "cloud.skydrive")

As for the configuration - check out the doc/cloud.rst.

Alternatively, cloud-backend-drivers branch in a local fork has all the changes above merged, along with this project linked as a git submodule. Just clone that one and you're all set.

Useable public-cloud backends

This list doesn't include enterprise cloud drivers (such as s3, openstack, googlestorage, msazure), which are implemented upstream.

Space amounts in braces are for non-paid accounts, paid ones usually start from 5x+ of that number.

  • MS SkyDrive (7-25 GiB)

    Requires: txSkyDrive

  • Yandex Disk (8-10 GiB, doesn't need special driver - works great with davfs2)

  • box.net (5 GiB)

    Requires: txboxdotnet

  • Ubuntu One (5 GiB, experimental)

    Requires: txu1

  • Google Drive (5 GiB)

  • SugarSync (5 GiB)

  • Wuala (5 GiB)

  • Dropbox (2 GiB)

Fairly long (but still far from complete) list/matrix of such services can be found on wikipedia.

Note that a lot of backends can be used with local file cache and proprietary (backend-specific) synchronization tools.