35 lines
1.1 KiB
Markdown
35 lines
1.1 KiB
Markdown
# 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. On Android,
|
|
`passgo` connects to OpenKeychain. MacOS and Android users can also ask passgo
|
|
to copy a password directly to the clipboard.
|
|
|
|
```go
|
|
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](https://gioui.org)
|
|
that works on MacOS and Android. See `cmd/passgo-gui`.
|