{"id":15925871,"url":"https://github.com/mirshko/pouch","last_synced_at":"2026-05-01T03:37:19.998Z","repository":{"id":186726701,"uuid":"675302452","full_name":"mirshko/pouch","owner":"mirshko","description":"age encryption based password manager","archived":false,"fork":false,"pushed_at":"2023-08-28T16:00:28.000Z","size":11,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T02:25:25.988Z","etag":null,"topics":["age","bash","bash-script","charm","file-encryption","gum","password","password-manager","security"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mirshko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-06T13:26:31.000Z","updated_at":"2023-09-02T03:23:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"2a119346-dcdc-48cd-957d-876a3e8512e1","html_url":"https://github.com/mirshko/pouch","commit_stats":null,"previous_names":["mirshko/pouch"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirshko%2Fpouch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirshko%2Fpouch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirshko%2Fpouch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirshko%2Fpouch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mirshko","download_url":"https://codeload.github.com/mirshko/pouch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247007583,"owners_count":20868234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["age","bash","bash-script","charm","file-encryption","gum","password","password-manager","security"],"created_at":"2024-10-06T22:20:26.088Z","updated_at":"2026-05-01T03:37:14.958Z","avatar_url":"https://github.com/mirshko.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pouch\n\nPouch 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).\n\n### Prerequisites\n\n- [charmbracelet/gum](https://github.com/charmbracelet/gum)\n- [FiloSottile/age](https://github.com/FiloSottile/age)\n\n### Note\n\nPasswords 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.\n\n## Use\n\nThis script requires an age identity - see [FiloSottile/age](https://github.com/FiloSottile/age).\n\n```console\n$ git clone https://github.com/mirshko/pouch\n```\n\nSet 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`.\n\nFully 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`.\n\nCreate a 30-character password for `userName`:\n\n```console\n$ ./pouch.sh -w userName 30\n```\n\nRead password for `userName`:\n\n```console\n$ ./pouch.sh -r userName\n```\n\nPasswords 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:\n\n```console\n$ ./pouch.sh l\n\n$ ./pouch.sh r userName@1574723600\n```\n\n## ~Similar~ Better software\n\n- [gopasspw/gopass](https://github.com/gopasspw/gopass)\n- [FiloSottile/passage](https://github.com/FiloSottile/passage)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirshko%2Fpouch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmirshko%2Fpouch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirshko%2Fpouch/lists"}