...
Project description
Secrethelper
Simple command line utility for handling secrets.
Important: USE AT YOUR OWN RISK!
Use Case 1
Some commands are needed frequently but they contain secrets. Examples:
oathtool -b --totp "PV3YEM43I22ISNWK"
(based on a secret key create a time based one time password for 2FA)git pull https://some.user%40host.org:foo-bar-password@git.myservice.com/reponame
(git connection via https without being prompted for a password)
Obviously, it is insecure to store them unencrypted on your system (e.g. in your command history).
Solution: secrethelper
reads a data file (secrets.toml
) which contains encrypted versions of such commands, prompts for a password decrypts the relevant command, executes it and displays the result (and copies it into the clipboard). The actual secret is never shown.
Use Case 2
Some secrets (e. g.passwords) are important to memorize, but are needed only rarely. Thus, there are only few occations to practise them.
Solution: secrettrainer
reads a data file (secrets.toml
) which contains the (salted) hashes of such passwords. During a trainig session you are propted for some of them the correctness is determined by comparing the hashes.
Usage
secrethelper
secrethelper --help
: Show help.- short version:
-h
- short version:
secrethelper --bootstrap-data
: Createsecrets.toml
in suitable place. Example:~/.local/share/secrethelper/
(depends on OS). The content is based onsrc/secrethelper/secrets-example.toml
.- short version:
-b
- short version:
secrethelper --edit-data
: Opensecrets.toml
in the default editor.- short version:
-ed
- short version:
secrethelper --edit-data [EDITOR]
: Opensecrets.toml
in the specified editor.- short version:
-ed [EDITOR]
- example:
--edit-data codium
- short version:
secrethelper --encrypt
: Prompt for password, then prompt for some arbitrary string. Disyplay the encrypted version of the string (also copied to the clipboard). This string can be pasted directly insecrets.toml
secrethelper --decrypt-and-execute [key]
: Prompt for password, extract the encrypted command fromsecrets.toml
, execute it and disyplay the result (also copied to the clipboard).- short version:
-d [key]
- short version:
secrettrainer
secrettrainer --help
: Show help.- short version:
-h
- short version:
secrettrainer --create-training-data
: Create training data: Prompt for password (salt), prompt for secret and display salted hash of the secret (also copied to clipboard). This string can be pasted directly insecrets.toml
in section[training]
. An empty string quits the process.- short version:
-ctd
- short version:
secrettrainer
(no options/arguments): Create a suffled list of keys from section[training]
, prompt for password (used as salt for hash), prompt for secrets, compare hash display ✓ or ✗. Train 10 rounds. Empty string quits this process.
Installation and Preparation
In first terminal:
pip install pysecrethelper
: Install the software.secrethelper -b
Bootstrap data filesecrets.toml
.secrethelper -ed
Opensecrets.toml
in default editor.
In another terminal:
secrethelper -e
: Create and copy encrypted string → you can paste it intosecret.toml
in section[commands]
. This is for use case 1 (see above).secrethelper -ctd
: Create hashes and copy salted hashes for training → you can paste it intosecret.toml
in section[training]
. This is for use case 2 (see above).
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 Distribution
Built Distribution
File details
Details for the file pysecrethelper-0.1.1.tar.gz
.
File metadata
- Download URL: pysecrethelper-0.1.1.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd52c3f66d17c9307206e6013a6b17f875e22f6ed9507907f7207791caa3baaa |
|
MD5 | 61bd50770d8aa128a535a7b44573f7f1 |
|
BLAKE2b-256 | 0a225bccbfbec52a23caa0ca21a02952376ce128a1ade6a97c74a45c83ed92ec |
File details
Details for the file pysecrethelper-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: pysecrethelper-0.1.1-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d93b9932b221615890ecc4ccec871207f90d3bce78a50986c61174256ccc02db |
|
MD5 | b8d4bd7f894649995261ab5b1d6d9eb5 |
|
BLAKE2b-256 | 5779471b9026a832ebe729959398792059b691ed2eb487e5283cb472e96135ed |