Library for managing kosciuszko vaults
Project description
libkosciuszko
kosciuszko is a simple vault for storing secrets on GNU/Linux. It is heavily inspired by encnote.
This lib implements all basic features. See also kosciuszko-utils for CLI interfaces.
Rationale
All existing approaches to storing arbitrary secrets on Linux are shit. kosciuszko is a general purpose vault which supercedes all existing approaches. It uses standard technologies and so can easily be implemented in e.g. shell or any arbitrary language.
Method
Unsecured secrets are stored in a directory. This directory is then folded into a squashfs, and then encrypted with a GPG key. To access secrets, the process is simply reversed.
Usage
Import with python3 -m pip install --user libkosciuszko
. Create a kosciuszko object with
gpg_id = "example@example.com" # Email, key name, key ID etc
store = "example.kos" # Filename
kosciuszko = Kosciuszko(gpg_id, store)
There are several core methods.
kosciuszko.new() # Initialise a new store
ls = kosciuszko.list() # List contents of a store, either in machine friendly or user-friendly formats (detailed=True flag)
kosciuszko.addfile(filename, data) # Add a file called filename, containing data `data` (bytes)
kosciuszko.getfile(filename) # Retrieve file called filename
Homepage
https://git.sr.ht/~happy_shredder/libkosciuszko
License
GPLv3+
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for libkosciuszko-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5221f340766769d4497d848c2e60f44496d3db1596f4ba7c66a3dbacb4d362c3 |
|
MD5 | 9a614c8e8f4351b23e128c80cb5aa391 |
|
BLAKE2b-256 | 8748d350ad06821c34cc85d7b428813f1cd47689e01afe71e8ab1425681abb66 |