Pass implementation in Go.
Password management should be simple and follow Unix philosophy. With gopass
, each password lives inside of a gpg
encrypted file whose filename is the title of the website or resource that requires the password. 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.
gopass
makes managing these individual password files extremely easy. All passwords live in ~/.password-store
, and gopass provides some nice commands for adding, editing, generating, and retrieving passwords. It's capable of temporarily putting passwords on your clipboard and tracking password changes using git.
I love the ideas behind the original pass implementation, but I found that the codebase didn't match the simplicity of the design.
This section was just added so that I could get an idea of where I am at.
- Creates a folder and a .gpg-id file
- Support
--path
option - Support multiple GPG ids
- Re-encryption functionality
-
gopass insert test.com
prompts for a password and creates a test.com.gpg file - Multi-line support
- Create a git commit
- Prompt before overwriting an existing password, unless --force or -f is specified.
- When inserting in a folder with a .gpg-id file, insert should use the .gpg-id file's key
-
gopass show test.com
will display the content of test.com.gpg -
--clip, -c
copies the first line to the clipboard -
--clip, -c
clears after a while -
--password
, and--username
options.
Accepted format:
<the_password>
login: <the_login>
url: <the_url>
This new command should connect to a server using an encrypted rsa key.
-
gopass ls
shows the content of the password store withtree
-
gopass
invokesgopass ls
by default -
gopass ls subfolder
calls tree on the subfolder only - Hide .gpg at the end of each entry
- First output line should be
Password Store
-
gopass rm test.com
removes the test.com.gpg file -
gopass remove
andgopass delete
aliases -
gopass rm -r folder
(or--recursive
) will remove a folder and all of it's content (not interactive!) - Ask for confirmation
-
gopass find python.org test
will show a tree with password entries that match python.org or test - Accepts one or many search terms
-
gopass cp old-path new-pah
copies a password to a new path - Dont overwrite
-
gopass mv old-path new-path
moves a password to a new path - Dont overwrite
- Pass commands to git
-
gopass git init
should behave differently with an existing password store - Add tests
-
gopass edit test.com
will open a text editor and let you edit the password
-
gopass grep searchstring
will search for the given string inside all of the encrypted passwords
-
gopass generate [pass-name] [pass-length]
Genrates a new password using of length pass-length and inserts it into pass-name. -
--no-symbols, -n
-
--clip, -c
-
--in-place, -i
-
--force, -f
- Prompt before overwriting an existing password, unless --force or -f is specified.
- This isn't gopass.pw.