gopass

package module
v1.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2017 License: GPL-3.0 Imports: 9 Imported by: 0

README

gopass

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.

Project Status

This section was just added so that I could get an idea of where I am at.

gopass init
  • Creates a folder and a .gpg-id file
  • Support --path option
  • Re-encryption functionality
  • Should output: Password store initialized for [gpg-id].
  • --clone <url> allows to init from an existing repo
gopass insert
  • 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
  • gopass show test.com will display the content of test.com.gpg
  • --clip, -c copies the first line to the clipboard
  • --password, and --username options.

Accepted format:

<the_password>
login: <the_login>
url: <the_url>
gopass connect (or ssh)

This new command should connect to a server using an encrypted rsa key.

gopass ls
  • gopass ls shows the content of the password store with tree
  • gopass invokes gopass 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
  • gopass rm test.com removes the test.com.gpg file
  • gopass remove and gopass 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
  • 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
  • gopass cp old-path new-pah copies a password to a new path
  • Dont overwrite
gopass mv
  • gopass mv old-path new-path moves a password to a new path
  • Dont overwrite
gopass git
  • Pass commands to git
  • gopass git init should behave differently with an existing password store
  • Add tests
gopass edit
  • gopass edit test.com will open a text editor and let you edit the password
gopass grep
  • gopass grep searchstring will search for the given string inside all of the encrypted passwords
gopass generate
  • 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.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PasswordStore

type PasswordStore struct {
	Path    string //path of the store
	GitDir  string //The path of the git directory
	GPGBin  string //The GPG binary to use
	GPGID   string //The GPG ID used to encrypt the passwords
	UsesGit bool   //Whether or not the store uses git
}

PasswordStore represents a password store.

func NewPasswordStore

func NewPasswordStore(storePath string) *PasswordStore

NewPasswordStore returns a new password store.

func (*PasswordStore) AddAndCommit

func (store *PasswordStore) AddAndCommit(message string, paths ...string) error

AddAndCommit adds paths to the index and creates a commit

func (*PasswordStore) ContainsDirectory added in v1.0.0

func (store *PasswordStore) ContainsDirectory(dirname string) (bool, string)

ContainsDirectory returns whether or not the store contains a directory with this name. it also conveniently returns the directory path that was checked

func (*PasswordStore) ContainsPassword added in v1.0.0

func (store *PasswordStore) ContainsPassword(pwname string) (bool, string)

ContainsPassword returns whether or not the store contains a password with this name. it also conveniently returns the password path that was checked

func (*PasswordStore) CopyDirectory added in v1.0.1

func (store *PasswordStore) CopyDirectory(source, dest string) error

CopyDirectory copies a directory from source to dest

func (*PasswordStore) CopyPassword added in v1.0.1

func (store *PasswordStore) CopyPassword(source, dest string) error

CopyPassword copies a password from source to dest

func (*PasswordStore) GetPassword

func (store *PasswordStore) GetPassword(pwname string) (string, error)

GetPassword returns a decrypted password

func (*PasswordStore) GetPasswordsList

func (store *PasswordStore) GetPasswordsList() []string

GetPasswordsList returns a list of all the passwords

func (*PasswordStore) Init added in v1.0.0

func (store *PasswordStore) Init(gpgID string) error

Init creates a Password Store at the Path

func (*PasswordStore) InsertPassword

func (store *PasswordStore) InsertPassword(pwname, pwtext string) error

InsertPassword inserts a new password or overwrites an existing one

func (*PasswordStore) MoveDirectory added in v1.0.1

func (store *PasswordStore) MoveDirectory(source, dest string) error

MoveDirectory moves a directory from source to dest

func (*PasswordStore) MovePassword added in v1.0.1

func (store *PasswordStore) MovePassword(source, dest string) error

MovePassword moves a passsword or directory from source to dest.

func (*PasswordStore) RemoveDirectory added in v1.0.1

func (store *PasswordStore) RemoveDirectory(dirname string) error

RemoveDirectory removes the directory at the given path

func (*PasswordStore) RemovePassword added in v1.0.1

func (store *PasswordStore) RemovePassword(pwname string) error

RemovePassword removes the password at the given path

Directories

Path Synopsis
cmd
gopass command
internal
io

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL