Xenolith 
Xenolith is a command-line based tool that allows for files to be encrypted with public keys and decrypted by users who have . With the main components being FiloSottile's age and str4d's rage library for encryption, Xenolith uses ssh-rsa, ssh-ed25519, and age/rages's keygen as keys.
Installation
Requirements
-
Use Python 3.8.4 or higher
Installation
Install using pip
pip install xenolith
Usage
Xenolith uses 5 commands:
- xenolith
Contains a list of all the commands
- xenolith init [--encryption, -e]
Initializes the project in the given directory by creating a .secret folder. This folder contains a `recipients.txt` and `config.json` file.
Options:
-e, --encryption Specifies an encryption library (age, rage). Defaults to age
- xenolith encryption [age/rage]
Changes the encryption library to age or rage
- xenolith add [key]
Adds a public key (Recipient) to the list of recipients that can access an encrypted file.
- xenolith remove [key]
Removes a public key from the list of recipients. The key must match one of the keys found in `.secret/recipients.txt`
- xenolith encrypt [file_name]
With a given set of recipients, encrypts the given file and appends an .age suffix at the end.
- xenolith decrypt [key_file] [file_path]
With a given key and file, decrypts a file that have been previously encrypted.
Contributing
To get started:
- Download Python 3.8.4
- Set up Python's Virtual Environment
python3 -m venv venv - Download the project's requirements and run venv
pip install -r requirements.txt source ./venv/bin/activate - Install age and rage
- To test the application locally, run:
pip install --editable . - Tests can be run by executing
run_tests.shfound in thebin/folder
License
This project uses the MIT license.
Release files for xenolith 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xenolith-0.1.2-py2-none-any.whl | Python 2 | none | any | Details |
Release files / xenolith-0.1.2-py2-none-any.whl
| Download URL | xenolith-0.1.2-py2-none-any.whl |
|---|---|
| Size | 3.1 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
5540947919a96cca9b8b87f5c1e7b82916798d3e26b974f20d33b2314467d28d
|
|
BLAKE2b-256 checksum How to use checksums |
cb17ce289e9f45ae70ef170000ce6f4763d8ba4c90085e0b055337c262eeb26c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.4
|