kasi

POSIX shell password manager that is cryptography program-agnostic
Log | Files | Refs | README | LICENSE

README (1820B)


      1 kasi ("veil"/"conceal" in Esperanto)
      2 ====================================
      3 A simple password manager written in POSIX shell.
      4 
      5 Dependencies
      6 ------------
      7 - POSIX-compliant environment
      8 - age, gnupg, or any other utility to {en,de}crypt files
      9 - tree (for listing all your passwords and their directories)
     10   - a simple version is available in https://github.com/pyr/tree
     11     and in OpenBSD's ports
     12   - can possibly be replaced with ls if you add KASI_LIST in your ~/.profile
     13 - xsel (for copying password to clipboard, but can be changed to a different
     14         command with the KASI_CLIPBOARD command that accepts stdin)
     15 - a password generator
     16   - script uses contrib/random from this repo by default and expects it in your
     17   path
     18   - can change by setting KASI_GEN_USER and KASI_GEN_PASS in your ~/.profile
     19 
     20 Configuration
     21 -------------
     22 In your ~/.profile or wherever you set environment variables, add something
     23 like this if you use age:
     24 export AGE_KEY=/nas/ssh/id_ed25519
     25 export AGE_PUB=${AGE_KEY}.pub
     26 export KASI_DIR=/nas/kasi-age
     27 export KASI_ENCRYPT="age -R $AGE_PUB"
     28 export KASI_DECRYPT="age -d -i $AGE_KEY -o -"
     29 
     30 If you use GnuPG, then add:
     31 export GPG_ID="user@email.tld" # or your key id
     32 export KASI_DECRYPT="gpg -qd"
     33 export KASI_ENCRYPT="gpg -er $GPG_ID -o -"
     34 
     35 For some other file encryptor, you'd need to be able to output the encrypted
     36 file to stdout or change the last line of edit() that runs $KASI_ENCRYPT.
     37 
     38 Why should I use this over password-store?
     39 ------------------------------------------
     40 Don't. For a serious answer, it's because this doesn't depend on bash.
     41 
     42 Migrating from password-store
     43 -----------------------------
     44 Set the KASI_DIR environment variable to your password store directory.
     45 
     46 Auto-complete
     47 -------------
     48 If you use ksh, all you'd have to do is source contrib/autocomplete.ksh in your
     49 kshrc.