Skip to main content

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 Run tests

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

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 the bin/ folder

License

This project uses the MIT license.

Project details


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

xenolith-0.1.2-py2-none-any.whl (3.1 kB view details)

Uploaded Python 2

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

Hashes for xenolith-0.1.2-py2-none-any.whl
Algorithm Hash digest
SHA256 5540947919a96cca9b8b87f5c1e7b82916798d3e26b974f20d33b2314467d28d
MD5 c497bd1ca4bd70c4be668852e49595ad
BLAKE2b-256 cb17ce289e9f45ae70ef170000ce6f4763d8ba4c90085e0b055337c262eeb26c

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