The slightly more awesome Standard Unix Password Manager for Teams. Written in Go.
- Abstract
- Demo
- Features
- Installation
- Development
- Credit & License
- Community
- Contributing
- Acknowledgements
- Further Documentation
Password management should be simple and follow Unix philosophy. With
pass
, each secret lives inside of agpg
encrypted file whose filename is the title of the website or resource that requires the secret. These encrypted files may be organized into meaningful folder hierarchies, copied from computer to computer, and, in general, manipulated using standard command line file management utilities. - passwordstore.org
gopass is a rewrite of the pass password manager in Go with the aim of making it cross-platform and adding additional features. Our target audience are professional developers and sysadmins (and especially teams of those) who are well versed with a command line interface. One explicit goal for this project is to make it more approachable to non-technical users. We go by the UNIX philosophy and try to do one thing and do it well, providing a stellar user experience and a sane, simple interface.
Please see docs/features.md for an extensive list of all features along with several usage examples.
Feature | pass | gopass | State | Description |
---|---|---|---|---|
Secure secret storage | ✔ | ✔ | stable | Securely storing secrets encrypted with GPG |
Recipient management | ❌ | ✔ | beta | Easily manage multiple users of each store |
Multiple stores | ❌ | ✔ | beta | Mount multiple stores in your root store, like file systems |
password quality assistance | ❌ | ✔ | beta | Checks existing or new passwords for common flaws |
Binary support | ❌ | ✔ | alpha | Special handling of binary files (automatic Base64 encoding) |
K/V and YAML support | ❌ | ✔ | alpha | Special handling for Key/Value and YAML content in secrets |
password leak checker | ❌ | ✔ | alpha | Perform offline checks against known leaked passwords |
PAGER support | ❌ | ✔ | stable | Automatically invoke a pager on long output |
JSON API | ❌ | ✔ | stable | Allow gopass to be used as a native extension for browser plugins |
Automatic fuzzy search | ❌ | ✔ | stable | Automatically search for matching store entries if a literal entry was not found |
gopass sync | ❌ | ✔ | beta | Easy to use syncing of remote repos and GPG keys |
Desktop Notifications | ❌ | ✔ | beta | Display desktop notifications and completing long running operations |
OTP support | (✔) | ✔ | stable | Generate HOTP/TOTP tokens based on the stored secret |
Multiple Crypto Backends | ❌ | ✔ | alpha | Extensible crypto backend support (GPG, NaCl) |
Editing Recipients per Secret | ❌ | ✔ | beta | Select recipients per secret when encrypting |
Extensions | ✔ | ❌ | Extend gopass with custom commands |
If you have Go 1.12 (or greater) installed:
go get github.com/gopasspw/gopass
Otherwise, please see docs/setup.md.
To upgrade with Go installed, run:
go get -u github.com/gopasspw/gopass
Otherwise, use the setup docs mentioned in the installation section to reinstall the latest version.
This project uses GitHub Flow. In other words, create feature branches from master, open an PR against master, and rebase onto master if necessary.
We aim for compatibility with the latest stable Go Release only.
gopass is maintained by the nice folks from JustWatch and licensed under the terms of the MIT license.
Maintainers of this repository:
- Christoph Oelmüller [email protected] @zwopir
- Matthias Loibl [email protected] @metalmatze
- Dominik Schulz [email protected] @dominikschulz
Please refer to the Git commit log for a complete list of contributors.
gopass is developed in the open. Here are some of the channels we use to communicate and contribute:
- IRC: #gopass on irc.freenode.net (join via Riot)
- Usage mailing list: gopass-users, for discussions around gopass usage and community support
- Issue tracker: Use the GitHub issue tracker to file bugs and feature requests. If you need support, please send your questions to gopass-user or ask on IRC rather than filing a GitHub issue.
We welcome any contributions. Please see the CONTRIBUTING.md file for instructions on how to submit changes. If your are planning on making more elaborate or controversial changes, please discuss them on the gopass-developers mailing list or on IRC before sending a pull request.
gopass was initially started by Matthias Loibl and Dominik Schulz. The majority of its development has been sponsored by JustWatch.