Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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)