Skip to main content

support tool and API for Autocrypt mail agents

Project description

muacrypt is a support tool for implementing Autocrypt Level 1 compliant mail agents. Autocrypt state is kept in one or more accounts which process and produce autocrypt headers from respective incoming and outgoing e-mail. Each account is tied to a set of e-mail addresses, specified as a regular expression. Functionality is exposed through a command line tool muacrypt and a Python api obtained through import muacrypt. There is an evolving plugin architecture which allows to add and modify behaviour of muacrypt.

This README is intended to help contributors to get setup with running tests and using the command line tool. The online docs at

https://muacrypt.readthedocs.io

contain more documentation about overall goals of the project.

testing

To use the code and run tests you need to have installed:

  • the command line client “gpg”, optionally “gpg2”, available through “gnupg” and “gnugp2” on debian.

  • something to speed up gpg key creation, e.g. by installing “rng-tools” on debian.

  • python2.7 and python3.5 including headers (“python2.7-dev” and “python3.5-dev” on debian).

  • “tox” to run automated tests (“python-tox” on Debian)

In one installation command on Debian:

apt install gnupg2 rng-tools python2.7-dev python3.5-dev python-tox

Afterwards you can run all tests:

$ tox

installation

You’ll need the command line client “gpg”, optionally “gpg2”, available through “gnupg” and “gnugp2” on debian.

To install the muacrypt command line tool you can install the “muacrypt” python package into your virtual environment of choice. If you don’t know about python’s virtual environments you may just install the debian package “python-pip” and then use “pip” to install the muacrypt library and command line too:

$ pip install --user muacrypt

The muacrypt command line tool will be installed into $HOME/.local/bin which needs to be in your PATH.

installation for development

If you plan to work/modify the sources and have a github checkout we strongly recommend to create and activate a python virtualenv and then once use pip without sudo in edit mode:

$ virtualenv venv
$ source venv/bin/activate
$ pip install -e .

Changes you subsequently make to the sources will be available without further installing the muacrypt package again.

running the command line

After installation simply run the main command:

muacrypt

to see available sub commands and options. Start by initializing an Autocrypt account which will maintain its own keyring and not interfere with your possibly existing gpg default keyring:

$ muacrypt add-account

Afterwards you can create an Autocrypt header for an email address:

$ muacrypt make-header x@example.org

You can process and integrate peer’s Autocrypt keys by piping an email message into the process-incoming subcommand:

$ muacrypt process-incoming <EMAIL_MESSAGE_FILE

At any point you can show the status of your muacrypt account:

$ muacrypt status

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

muacrypt-0.9.0.tar.gz (61.0 kB view details)

Uploaded Source

Built Distribution

muacrypt-0.9.0-py2.py3-none-any.whl (58.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file muacrypt-0.9.0.tar.gz.

File metadata

  • Download URL: muacrypt-0.9.0.tar.gz
  • Upload date:
  • Size: 61.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: devpi-server/4.7.1 (py2.7.13; linux2)

File hashes

Hashes for muacrypt-0.9.0.tar.gz
Algorithm Hash digest
SHA256 8b9824f38a2ba6c1a2694ef409f09540de4bad623f1729275c62f77124b14bb7
MD5 fb7dbd930ed4f6e46d4e13fbf04d7ca8
BLAKE2b-256 716ae3670e126854b57a73f995ad7d2140e4604a72fc0a44fa6e1048e6d10730

See more details on using hashes here.

File details

Details for the file muacrypt-0.9.0-py2.py3-none-any.whl.

File metadata

  • Download URL: muacrypt-0.9.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 58.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: devpi-server/4.7.1 (py2.7.13; linux2)

File hashes

Hashes for muacrypt-0.9.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0fa5ba884ed1945d325d3c5f14f139dc5560eca83b2a79bb4b2ef86672952b6d
MD5 b9d0e5c241837760df30abc7de7602b8
BLAKE2b-256 225e7d0eb43ef672d2b09977f4aaf08eb0f66a4de3f43033ac87a2e46be2e55c

See more details on using hashes here.

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