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 hashes)

Uploaded Python 2

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