The Tahoe-LAFS decentralized secure filesystem.
Go to file
Brian Warner c56a0a4ba9 fix unicode handling in server_id from YAML
YAML, like JSON, is all-unicode. StorageFarmBroker.set_static_servers()
is defined to take an all-unicode dictionary (the "storage:" key from
private/servers.yaml), so the server_id keys it gets will be unicode.
NativeStorageServer is defined to accept server_ids which are bytes (at
least it is now). The tests were only passing bytes into
set_static_servers(), whereas a real launch passed unicode in, causing a
problem when NativeStorageServer tried to base32.a2b() the pubkey and
choked on the unicode it received.

This fixes set_static_servers() to convert the server_id to bytes, and
changes NativeStorageServer to assert that it gets bytes. It also fixes
the test to match real usage more closely.
2016-08-28 02:42:51 -07:00
docs document tor/i2p/connections 2016-08-28 02:41:44 -07:00
misc make tox env for code-checks 2016-08-19 17:42:05 -07:00
src/allmydata fix unicode handling in server_id from YAML 2016-08-28 02:42:51 -07:00
static Eliminate mock dependency. 2015-07-17 22:12:25 +01:00
topfiles Split control and log to two separate tubs, remove control knobs. 2016-07-06 21:09:35 -07:00
.appveyor.yml turn on appveyor CI 2016-03-15 13:02:56 -07:00
.coveragerc tox: add "coverage" environment 2016-05-09 14:32:21 -07:00
.gitignore remove _appname.py file 2016-08-11 23:24:11 -07:00
.travis.yml travis: add codechecks, run before main tests 2016-08-19 17:42:05 -07:00
COPYING.GPL Fix repeated 'the' in license text. 2011-08-19 13:48:36 -07:00
COPYING.TGPPL.rst magic first line tells emacs to use utf8+bom 2013-11-08 21:08:05 +00:00
CREDITS CREDITS: update 2016-03-30 16:09:12 -07:00
Dockerfile Dockerfile: git-pull more history, to get a version string 2015-06-15 14:40:19 -07:00
Makefile make tox env for code-checks 2016-08-19 17:42:05 -07:00
MANIFEST.in tox.ini missing from MANIFEST 2016-04-12 19:46:49 -06:00
NEWS.rst NEWS: release 1.11.0 2016-03-30 16:09:28 -07:00
README.rst docs are now at readthedocs.io 2016-04-27 23:12:18 -07:00
relnotes.txt relnotes, docs: post-release fixups 2016-03-30 17:27:44 -07:00
setup.cfg setup.cfg: remove --find-links 2016-03-26 12:23:01 -07:00
setup.py remove _appname.py file 2016-08-11 23:24:11 -07:00
Tahoe.home rename bin/allmydata-tahoe to bin/tahoe. Closes #155. 2007-10-11 03:38:24 -07:00
tox.ini make tox env for code-checks 2016-08-19 17:42:05 -07:00

==========
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/ .

|readthedocs|  |travis|  |coveralls|

INSTALLING
==========

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.

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``

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 venv``
* ``venv/bin/pip install --editable .``
* ``venv/bin/tahoe --version``

To run the unit test suite:

* ``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.

.. _OSPackages: https://tahoe-lafs.org/trac/tahoe-lafs/wiki/OSPackages
.. _Mac: docs/OS-X.rst
.. _pip: https://pip.pypa.io/en/stable/installing/
.. _COPYING.GPL: https://github.com/tahoe-lafs/tahoe-lafs/blob/master/COPYING.GPL
.. _COPYING.TGPPL: https://github.com/tahoe-lafs/tahoe-lafs/blob/master/COPYING.TGPPL.rst
.. _TGPPL.PDF: https://tahoe-lafs.org/~zooko/tgppl.pdf

----

.. |readthedocs| image:: http://readthedocs.org/projects/tahoe-lafs/badge/?version=latest
    :alt: documentation status
    :target: http://tahoe-lafs.readthedocs.io/en/latest/?badge=latest

.. |travis| image:: https://travis-ci.org/tahoe-lafs/tahoe-lafs.png?branch=master
    :alt: build status
    :target: https://travis-ci.org/tahoe-lafs/tahoe-lafs

.. |coveralls| image:: https://coveralls.io/repos/tahoe-lafs/tahoe-lafs/badge.png?branch=master
    :alt: test coverage percentage
    :target: https://coveralls.io/r/tahoe-lafs/tahoe-lafs?branch=master