Skip to main content

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.

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)

Table of built distributions (wheels) for xenolith 0.1.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.2 This release

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page