The Tahoe-LAFS decentralized secure filesystem.
Python JavaScript HTML Makefile CSS Shell Emacs Lisp
Switch branches/tags
Latest commit 7e39351 Jan 11, 2018 @meejah meejah Merge pull request #458 from meejah/2881.magic-folder-umask.0
don't set execute bit in default umask
Permalink
Failed to load latest commit information.
docs added link to RFC 822 Jan 6, 2018
integration hush a bunch of not-really-problems caught by the lgtm.com static ana… Dec 30, 2017
misc hush somewhat-real problems found by static analysis Dec 30, 2017
src/allmydata directories get +x, files do not Jan 9, 2018
static Eliminate mock dependency. Jul 17, 2015
.appveyor.yml blow away _trial_temp on windows Oct 31, 2017
.coveragerc tox: add "coverage" environment May 9, 2016
.gitignore add dockerfile for hacking with docker compose file for local environ… Sep 19, 2017
.travis.yml travis: only run integration test if the tor install succeeded Aug 10, 2017
COPYING.GPL Fix repeated 'the' in license text. Aug 19, 2011
COPYING.TGPPL.rst magic first line tells emacs to use utf8+bom Nov 8, 2013
CREDITS CREDITS: update Mar 30, 2016
Dockerfile Remove $HOME/.cache/ directory after building. Sep 26, 2016
Dockerfile.dev add dockerfile for hacking with docker compose file for local environ… Sep 19, 2017
MANIFEST.in setup.py/MANIFEST.in: include missing files Jan 19, 2017
Makefile make tox env for code-checks Aug 20, 2016
NEWS.rst NEWS/INSTALL/relnotes: release 1.12.1 Jan 19, 2017
README.rst additional subsections to make installation instructions less confusing Jan 6, 2018
Tahoe.home rename bin/allmydata-tahoe to bin/tahoe. Closes #155. Oct 11, 2007
docker-compose.yml add dockerfile for hacking with docker compose file for local environ… Sep 19, 2017
pyinstaller.spec Add support for binary builds with PyInstaller Aug 10, 2017
relnotes.txt NEWS/INSTALL/relnotes: release 1.12.1 Jan 19, 2017
setup.cfg setup.cfg: remove --find-links Mar 26, 2016
setup.py setup.py: use python_requires= to complain about py3, not an exception Aug 16, 2017
tox.ini importing twisted trial instead of allmydata trial Jan 4, 2018

README.rst

Tahoe-LAFS

Tahoe-LAFS is a Free and Open decentralized cloud storage system. It distributes your data across multiple servers. Even if some of the servers fail or are taken over by an attacker, the entire file store continues to function correctly, preserving your privacy and security.

For full documentation, please see http://tahoe-lafs.readthedocs.io/en/latest/ .

documentation status build status test coverage percentage

INSTALLING

There are three ways to install Tahoe-LAFS.

using OS packages

Pre-packaged versions are available for several operating systems:

  • Debian and Ubuntu users can apt-get install tahoe-lafs
  • NixOS, NetBSD (pkgsrc), ArchLinux, Slackware, and Gentoo have packages available, see OSPackages for details
  • Mac and Windows installers are in development.

via pip

If you don't use an OS package, you'll need Python 2.7 and pip. You may also need a C compiler, and the development headers for python, libffi, and OpenSSL. On a Debian-like system, use apt-get install build-essential python-dev libffi-dev libssl-dev python-virtualenv. On Windows, see docs/windows.rst.

Then, to install the most recent release, just run:

  • pip install tahoe-lafs

from source

To install from source (either so you can hack on it, or just to run pre-release code), you should create a virtualenv and install into that:

  • git clone https://github.com/tahoe-lafs/tahoe-lafs.git
  • cd tahoe-lafs
  • virtualenv --python=python2.7 venv
  • venv/bin/pip install --upgrade setuptools
  • venv/bin/pip install --editable .
  • venv/bin/tahoe --version

To run the unit test suite:

  • tox

You can pass arguments to trial with an environment variable. For example, you can run the test suite on multiple cores to speed it up:

  • TAHOE_LAFS_TRIAL_ARGS="-j4" tox

For more detailed instructions, read docs/INSTALL.rst .

Once tahoe --version works, see docs/running.rst to learn how to set up your first Tahoe-LAFS node.

LICENCE

Copyright 2006-2016 The Tahoe-LAFS Software Foundation

You may use this package under the GNU General Public License, version 2 or, at your option, any later version. You may use this package under the Transitive Grace Period Public Licence, version 1.0, or at your option, any later version. (You may choose to use this package under the terms of either licence, at your option.) See the file COPYING.GPL for the terms of the GNU General Public License, version 2. See the file COPYING.TGPPL for the terms of the Transitive Grace Period Public Licence, version 1.0.

See TGPPL.PDF for why the TGPPL exists, graphically illustrated on three slides.