Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mirshko/pouch
age encryption based password manager
https://github.com/mirshko/pouch
age bash bash-script charm file-encryption gum password password-manager security
Last synced: 6 days ago
JSON representation
age encryption based password manager
- Host: GitHub
- URL: https://github.com/mirshko/pouch
- Owner: mirshko
- License: mit
- Created: 2023-08-06T13:26:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-28T16:00:28.000Z (over 1 year ago)
- Last Synced: 2024-10-29T02:41:13.970Z (about 2 months ago)
- Topics: age, bash, bash-script, charm, file-encryption, gum, password, password-manager, security
- Language: Shell
- Homepage:
- Size: 10.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Pouch
Pouch is a _fork_ of [drduh/purse](https://github.com/drduh/Purse) built with [age](https://github.com/FiloSottile/age) and [gum](https://github.com/charmbracelet/gum).
### Prerequisites
- [charmbracelet/gum](https://github.com/charmbracelet/gum)
- [FiloSottile/age](https://github.com/FiloSottile/age)### Note
Passwords are generated using `openssl` this is likely not as ideal as it could be. Better idea would be to generate a passphrase from the EFF wordlist (Dice-Generated Passphrases) or pull the passphrase generation out of age and use it directly in this.
## Use
This script requires an age identity - see [FiloSottile/age](https://github.com/FiloSottile/age).
```console
$ git clone https://github.com/mirshko/pouch
```Set your age recipient with `export POUCH_AGE_RECIPIENT=age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p` and your age identity file with `export POUCH_AGE_IDENTITY=~/key.txt`, or edit `pouch.sh`.
Fully supports [str4d/age-plugin-yubikey](https://github.com/str4d/age-plugin-yubikey) for age identities stored on YubiKeys, just change `POUCH_AGE_IDENTITY` to reference the file generated by `age-plugin-yubikey`, often named `age-yubikey-identity-...txt`.
Create a 30-character password for `userName`:
```console
$ ./pouch.sh -w userName 30
```Read password for `userName`:
```console
$ ./pouch.sh -r userName
```Passwords are stored with a timestamp for revision control. The most recent version is copied to clipboard on read. To list all passwords or read a previous version of a password:
```console
$ ./pouch.sh l$ ./pouch.sh r userName@1574723600
```## ~Similar~ Better software
- [gopasspw/gopass](https://github.com/gopasspw/gopass)
- [FiloSottile/passage](https://github.com/FiloSottile/passage)