Skip to main content

The Long Access client

Project description

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
"`What is
Longaccess? <https://github.com/longaccess/longaccess-docs/blob/master/what_is_longaccess.md>`__\ "

Installation
------------

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

Dependencies
------------

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.

Usage
-----

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
``lacli -i``.

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.

Authentication
--------------

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
subsequent commands.

Netrc
~~~~~

The correct ``machine`` to add to ``.netrc`` for the service in
production at Longaccess is ``www.longaccess.com``. For example you need
this entry:

::

machine www.longaccess.com login user@domain.com password somep4ss

Example usage
-------------

An example scenario:

::

$ lacli login your@email.com
Password:
authentication succesfull as your@email.com
Save credentials? y
$ lacli archive list
No available archives.
$ lacli archive create /home/kouk/toread -t documents
Encrypting..
archive prepared
$ 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
status: completed
Certificate 68-H1BK saved.
Use lacli certificate list to see your certificates, or lacli certificate --help for more options
done.
$ lacli archive list
001 36MiB documents COMPLETE 68-H1BK
$ lacli certificate list
68-H1BK 36MiB documents
$ lacli certificate print 68-H1BK
Created files:
longaccess-68-H1BK.html
$

Secure removal
--------------

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>`__
(Windows, proprietary)
- `Eraser <http://eraser.heidi.ie/>`__ (Windows, open-source)

*\* or one has not been provided via the optional argument to the
``delete`` command.*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lacli-0.2.6.1.tar.gz (264.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page