A simple password manager written in POSIX shell.
contrib | ||
.gitignore | ||
kasi | ||
kasi.1 | ||
LICENSE | ||
README |
kasi ("veil"/"conceal" in Esperanto) ==================================== A simple password manager written in POSIX shell. Dependencies ------------ - POSIX-compliant environment - age, gnupg, or any other utility to {en,de}crypt files - tree (for listing all your passwords and their directories) - a simple version is available in https://github.com/pyr/tree and in OpenBSD's ports - can possibly be replaced with ls if you add KASI_LIST in your ~/.profile - xsel (for copying password to clipboard, but can be changed to a different command with the KASI_CLIPBOARD command that accepts stdin) - a password generator - script uses contrib/random from this repo by default and expects it in your path - can change by setting KASI_GEN_USER and KASI_GEN_PASS in your ~/.profile Configuration ------------- In your ~/.profile or wherever you set environment variables, add something like this if you use age: export AGE_KEY=/nas/ssh/id_ed25519 export AGE_PUB=${AGE_KEY}.pub export KASI_DIR=/nas/kasi-age export KASI_ENCRYPT="age -R $AGE_PUB" export KASI_DECRYPT="age -d -i $AGE_KEY -o -" If you use GnuPG, then add: export GPG_ID="user@email.tld" # or your key id export KASI_DECRYPT="gpg -qd" export KASI_ENCRYPT="gpg -er $GPG_ID -o -" For some other file encryptor, you'd need to be able to output the encrypted file to stdout or change the last line of edit() that runs $KASI_ENCRYPT. Why should I use this over password-store? ------------------------------------------ Don't. For a serious answer, it's because this doesn't depend on bash. Migrating from password-store ----------------------------- Set the KASI_DIR environment variable to your password store directory. Auto-complete ------------- If you use ksh, all you'd have to do is source contrib/autocomplete.ksh in your kshrc.