gopass
The slightly more awesome Standard Unix Password Manager for Teams. Written in Go.
Table of Contents
- Abstract
- Demo
- Features
- Installation
- Development
- Credit & License
- Community
- Integrations
- Mobile apps
- Contributing
- Acknowledgements
- Further Documentation
Abstract
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.
Demo
Features
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 | ||
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 |
Installation
If you have Go 1.14 (or greater) installed:
go get github.com/gopasspw/gopass
Otherwise, please see docs/setup.md.
Upgrade
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.
Development
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.
While this project is maintained by volunteers in their free time we aim to triage issues weekly and release a new version at least every quarter.
Credit & License
gopass was created by the nice folks from JustWatch and licensed under the terms of the MIT license.
Maintainers of this repository:
- Dominik Schulz [email protected] @dominikschulz
- Martin Hoefling @martinhoefling
- Matthias Loibl [email protected] @metalmatze
Please refer to the Git commit log for a complete list of contributors.
Community
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-users or ask on IRC rather than filing a GitHub issue.
Integrations
- gopassbridge: Browser plugin for Firefox, Chrome and other Chromium based browsers
- kubectl gopass: Kubernetes / kubectl plugin to support reading and writing secrets directly from/to gopass.
- gopass alfred: Alfred workflow to use gopass from the Alfred Mac launcher
Mobile apps
- Pass - Password Store - iOS, source code, supports only 1 repository now
- Password Store - Android
Contributing
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.
Acknowledgements
gopass was initially started by Matthias Loibl and Dominik Schulz. The majority of its development has been sponsored by JustWatch.