Command line and GUI interface to pass, the Unix password manager.
Go to file
Greg c3d32f79a7 Use app.DataDir() to get config directory on Android. Use an
Inset to stay inside the OS window insets.
2019-09-19 17:28:15 -04:00
cmd Use app.DataDir() to get config directory on Android. Use an 2019-09-19 17:28:15 -04:00
.gitignore Refactor platform-dependent code. 2019-09-10 12:28:20 -04:00
README.md Tweaked docs. 2019-09-06 13:47:42 -04:00
impl_android.go go fmt 2019-09-10 11:36:03 -04:00
impl_darwin.go Refactor platform-dependent code. 2019-09-10 12:28:20 -04:00
impl_linux.go Fix build tags. 2019-09-10 14:50:56 -04:00
impl_shared.go Fix build tags. 2019-09-10 14:50:56 -04:00
main.go go fmt 2019-09-10 11:36:03 -04:00

README.md

passgo

This repository includes Go code to interact with pass, the Unix password manager. Library code is provided to open a password store, list saved passwords, and decrypt specified passwords. The library provides a simple passphrase input function, or, if gpg-agent is running (on MacOS), it will connect automatically to request your GPG passphrase. MacOS users can also ask passgo to copy a password directly to the clipboard.

store := passgo.Store{}
// directory defaults to ~/.password-store, or set it manually here:
// store.Dir = "/home/me/.pw-store"
err := passgo.GetStore(&store)
if err != nil { ... }
passlist := store.List()
for _,x := range passlist {
	if x.Pathname == "myPass" {
		p, err := store.Decrypt(x.Pathname)
		if err == nil {
			passgo.Clip(p) // put on the clipboard
		} else {
			log.Fatal("Cannot decrypt ", x.Pathname)
		}
	}
}
/// or just do:
p, err := store.Decrypt("myPass")
...

Also included is a simple GUI front-end using Gio. See cmd/passgo-gui.