A simple password manager written in POSIX shell.
 
 
Go to file
Shokara Kou 479f4b920a add generate to ksh tab-complete 2022-10-30 17:22:35 -04:00
contrib add generate to ksh tab-complete 2022-10-30 17:22:35 -04:00
.gitignore add generate function and contrib/random script 2022-10-13 19:04:45 -04:00
LICENSE initial payload 2021-06-12 00:13:41 -04:00
README add generate function and contrib/random script 2022-10-13 19:04:45 -04:00
angou add generate function and contrib/random script 2022-10-13 19:04:45 -04:00
angou.1 add man page 2021-11-25 09:35:26 -05:00

README

angou (暗号)
============
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 ANGOU_LIST in your ~/.profile
- xsel (for copying password to clipboard, but can be changed to a different
        command with the ANGOU_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 ANGOU_GEN_USER and ANGOU_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 ANGOU_DIR=/nas/angou-age
export ANGOU_ENCRYPT="age -R $AGE_PUB"
export ANGOU_DECRYPT="age -d -i $AGE_KEY -o -"

If you use GnuPG, then add:
export GPG_ID="user@email.tld" # or your key id
export ANGOU_DECRYPT="gpg -qd"
export ANGOU_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 $ANGOU_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 ANGOU_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.