Xenolith is a command-line based tool that allows for files to be encrypted with public keys and decrypted by users who have permission
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xenolith-0.1.2-py2-none-any.whl.
File metadata
- Download URL: xenolith-0.1.2-py2-none-any.whl
- Upload date:
- Size: 3.1 kB
- Tags: Python 2
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5540947919a96cca9b8b87f5c1e7b82916798d3e26b974f20d33b2314467d28d
|
|
| MD5 |
c497bd1ca4bd70c4be668852e49595ad
|
|
| BLAKE2b-256 |
cb17ce289e9f45ae70ef170000ce6f4763d8ba4c90085e0b055337c262eeb26c
|