Vault is a password-storage utility. It encrypts and stores passwords locally, which can later be retried by the user. The passwords are encrypted using the AES protocol and stored in hexadecimal form in a JSON file, '.vault'. Upon the creation of a vault, the user must define the vault's key, which is used in the encryption algorithm.
I'm in no way an expert in shell scripting or cryptography. However, I'll try to update this script regularly and make it more robust and safe. I hope this script will eventually be analysed by security experts so that it can be used with more confidence.
Clone the repository, hop into the repo's directory and run bash install.bash
, like so:
git clone https://github.com/lhugens/vault && cd vault && bash install.bash && cd -
To remove the program, just run bash uninstall.bash
.
For convenience, add the ~/.local/bin directory, where the script resides, to your $PATH.
One way to do this is to add the following line to your shell config file (eg. ~/.bashrc):
export PATH="$HOME/.local/bin${PATH:+:${PATH}}"
It uses the PyCrypto package, which is installed in the python virtual environment "vault-venv". This setup is automatically done by install.bash. Both the script and the environment are stored in ~/.local/bin
The vault can be open in a session, where the user can perform several actions sequentialy without needing to retype the vault key. It can also just perform one action (eg. "vault add").
$ vault --help
usage: vault [-h] option
positional arguments:
option (a)dd, (l)ist, (s)earch, (g)et, (r)emove, session
optional arguments:
-h, --help show this help message and exit