# WARNING WARNING: I will be probably breaking the file format a bit before 1.0: will change the JSON file format to something neater. Perhaps steal pass's idea of file-per-entry, that would work much better against version controlling. I should be able to write a converter script for pre-1.0 => 1.0 format. I'll need one anyway :) # chaos Password metadata storager and xsalsa20 hasher. It generates and stores meats and salts and a master key, and is able to recall passwords by xsalsa20 hashing. Chaos also automatically makes git commits out of every change to the JSON file. # installation / requirements Rust stable (known to work on 1.8) needed to compile. Git is required to be in path. A way to reliably protect the unencrypted master key file (~/.chaos/key). Perhaps put it in a USB key that you always keep with you. Or keep it inside an encrypted volume that you only open for the duration of usage. ``` cargo install chaos ``` # usage ``` vegai@discord ~ » chaos help chaos Vesa Kaihlavirta USAGE: chaos [FLAGS] [SUBCOMMAND] FLAGS: -h, --help Prints help information -V, --version Prints version information SUBCOMMANDS: get get entry help Prints this message or the help of the given subcommand(s) ls lists entries (default action if none specified) new generate new entry rm remove entry vegai@discord ~ » chaos new folder/meep Initialized empty Git repository in /home/vegai/.chaos/.git/ [master (root-commit) ebb27d6] new folder/meep 1 file changed, 10 insertions(+) create mode 100644 data.json folder/meep added vegai@discord ~ » chaos get folder/meep Creating a new key in /home/vegai/.chaos/key MB;W5N:O8U[)*+y']<".>NLO4gNLO4g