The Longaccess client
This is the prototype client program for interacting with the
`Longaccess service <https://www.longaccess.com>`__. It is usable via
the command line on systems that have `Python <http://www.python.org>`__
installed but also requires a registered account. If you are unfamiliar
with other aspects of the Longaccess service a good place to start is
Longaccess? <https://github.com/longaccess/longaccess-docs/blob/master/what_is_longaccess.md>`__\ "
We have binary packages for certain platforms, like MacOS X, Windows 8
64-bit, Linux and FreeBSD. For more information see the `Longaccess
downloads page <https://downloads.longaccess.com>`__. For other
platforms or purposes you can download or clone the source repository,
create a `virtualenv <http://www.virtualenv.org>`__ if needed, and
install the client via ``pip``. E.g.:
pip install https://github.com/longaccess/longaccess-client/tarball/master
Note that currently, certain third-party libraries are required in
modified form. These special dependencies are described in
`requirements.txt <>`__ and can be automatically installed if the
following command is given:
pip install -r requirements.txt
The prebuilt binary packages are self-contained, i.e. they do not have
any hard external dependencies. There is however a soft dependency on an
external tool to securely delete files from the filesystem, see below
for more information. When installing from source most dependencies are
automatically installable via ``pip``. On some platforms the
installation might require manually installing development packages,
e.g. on [Fedora Linux] you might need to install the ``python2-devel``
package. Additional packages, like ``thrift`` and ``twisted`` are
necessary for the RPC server (used to communicate with GUI frontends).
Last, install the ```python-zipstream`` <>`__ package to enable
on-the-fly operations, requiring less temporary space on disk.
After installation the program is invoked as ``lacli``. Run it with no
arguments to see a synopsis of supported usages. In short, there are
four basic commands:
- ``lacli login`` set up credentials to use with other commands
- ``lacli archive`` helps you manage archives
- ``lacli certificate`` helps you manage certificates
- ``lacli capsules`` let's you view your available capsules
- ``lacli server`` runs the RPC server. You normally do not need this.
Alternatively one may run the program interactively by running
The ``lacli`` command supports certain global options which you can see
in the aforementioned synopsis. The only required argument however is
the authentication parameters which we discuss in the next section.
In order to use the service you must first have a username and password
for the service. You can provide them to the program in two ways:
1. as global arguments, e.g. ``lacli -u user -p pass archive list ...``.
If a password is not provided you will be prompted for one.
2. as entries in your ``.netrc`` file. This way you will not have to
provide them everytime (but you should keep your ``.netrc`` safe).
3. by using the ``login`` command. If authentication is succesfull you
will be prompted to save the credentials in ``.netrc`` as above for
future use. If interactive the credentials will be used for
The correct ``machine`` to add to ``.netrc`` for the service in
production at Longaccess is ``www.longaccess.com``. For example you need
machine www.longaccess.com login firstname.lastname@example.org password somep4ss
An example scenario:
$ lacli login email@example.com
authentication succesfull as firstname.lastname@example.org
Save credentials? y
$ lacli archive list
No available archives.
$ lacli archive create /home/kouk/toread -t documents
$ lacli archive list
001 36MiB documents LOCAL
$ lacli archive upload 1
/home/kouk/.longaccess/data/2013-10-18-documents.zip.crypt : |###################| ETA: 0:00:00 349.66 MB/s
Upload finished, waiting for verification
Press Ctrl-C to check manually later
Certificate 68-H1BK saved.
Use lacli certificate list to see your certificates, or lacli certificate --help for more options
$ lacli archive list
001 36MiB documents COMPLETE 68-H1BK
$ lacli certificate list
68-H1BK 36MiB documents
$ lacli certificate print 68-H1BK
When removing archives and certificates from the disk the program
supports `secure deletion <https://ssd.eff.org/tech/deletion>`__ through
an external program. In case a suitable removal program cannot be
found\* the client will complain and give further instructions.
Currently we automatically support the following tools, if they are
available on the system path:
- `srm <http://en.wikipedia.org/wiki/Srm_(Unix)>`__ (Mac, Unix)
- `shred <http://en.wikipedia.org/wiki/Shred_(Unix)>`__ (Unix)
- `sdelete <http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx>`__
- `Eraser <http://eraser.heidi.ie/>`__ (Windows, open-source)
*\* or one has not been provided via the optional argument to the
TODO: Brief introduction on what you do with files - including link to relevant help section.