The Longaccess client
This is the prototype client program for interacting with the Longaccess service. It is usable via the command line on systems that have Python 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?"
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. For other platforms or purposes you can download or clone the source repository, create a virtualenv if needed, and install the client via
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
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 loginset up credentials to use with other commands
lacli archivehelps you manage archives
lacli certificatehelps you manage certificates
lacli capsuleslet's you view your available capsules
lacli serverruns the RPC server. You normally do not need this.
Alternatively one may run the program interactively by running
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:
- as global arguments, e.g.
lacli -u user -p pass archive list .... If a password is not provided you will be prompted for one.
- as entries in your
.netrcfile. This way you will not have to provide them everytime (but you should keep your
- by using the
logincommand. If authentication is succesfull you will be prompted to save the credentials in
.netrcas above for future use. If interactive the credentials will be used for subsequent commands.
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 firstname.lastname@example.org password somep4ss
An example scenario:
$ lacli login email@example.com Password: authentication succesfull as firstname.lastname@example.org 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 $
When removing archives and certificates from the disk the program supports secure 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:
* or one has not been provided via the optional argument to the