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.sh
found 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
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
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 |