Local file-based password, API key, secret, recovery code store backed by GPG.
- darwin 386 / amd64
- freebsd 386 / amd64
- linux 386 / amd64 / arm / arm64
- solaris amd64
- windows 386 / amd64
$ go get github.com/jessfraz/pony
$ pony -h
NAME:
pony - Local File-Based Password, API Key, Secret, Recovery Code Store Backed By GPG
USAGE:
pony [global options] command [command options] [arguments...]
VERSION:
version v0.2.0, build 33bfbcc
AUTHOR(S):
@jessfraz <[email protected]>
COMMANDS:
add, save Add a new secret
delete, rm Delete a secret
get Get the value of a secret
list, ls List all secrets
update Update a secret
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--debug, -d run in debug mode
--file, -f "~/.pony" file to use for saving encrypted secrets
--gpgpath "~/.gnupg/" filepath used for gpg keys
--keyid optionally set specific gpg keyid/fingerprint to use for encryption & decryption [$PONY_KEYID]
--help, -h show help
--generate-bash-completion
--version, -v print the version
You should obviously add pony to your HISTIGNORE
for example:
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help:pony:pony *";
You should namespace the keys for your secrets like the following:
$ pony add com.twitter.frazelledazzell.token KJDHJKFHDSBJDF
# GPG Passphrase for key "Jess Frazelle <[email protected]>":
$ pony add com.github.jessfraz.token LKJHSDLFKJDHF
# GPG Passphrase for key "Jess Frazelle <[email protected]>":
# if a key ends with `.recovery`
# we assume it is a list of comma seperated
# strings that are recovery codes
$ pony add [email protected] we0wk4,osdknew,4fd9kw,03jfn23,sduj39s
# GPG Passphrase for key "Jess Frazelle <[email protected]>":
$ pony ls
# GPG Passphrase for key "Jess Frazelle <[email protected]>":
KEY VALUE
com.aws.amazon.prod.key KSUIIUEJDMSDBSDJFOFR
com.aws.amazon.prod.secret skljdUYGjsndhfjjiosjdfgr/HKKSU
com.github.botaccount.recovery we0wk4,osdknew,4fd9kw,03jfn23,sduj39s
com.github.jessfraz.token LKJHSDLFKJDHF
com.twitter.frazelledazzell.token KJDHJKFHDSBJDF
# you can also filter by a regular expression
$ pony ls --filter com.github*
# GPG Passphrase for key "Jess Frazelle <[email protected]>":
KEY VALUE
com.github.botaccount.recovery we0wk4,osdknew,4fd9kw,03jfn23,sduj39s
com.github.jessfraz.token LKJHSDLFKJDHF