Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/ejcx/passgo

Simple golang password manager.
https://github.com/ejcx/passgo

golang passgo password-vault

Last synced: 2 months ago
JSON representation

Simple golang password manager.

Lists

README

        

# passgo
stores, retrieves, generates, and synchronizes passwords and files securely and is written in Go! It is inspired by https://passwordstore.org but has a few key differences. The most important difference is passgo is not GPG based. Instead it uses a master password to securely store your passwords. It also supports encrypting arbitrary files.

passgo is meant to be secure enough that you can publicly post your vault. I've started publishing my passwords [here](https://github.com/ejcx/passwords.git).

## Installation

`passgo` requires Go version 1.11 or later.

```bash
(cd; GO111MODULE=on go install github.com/ejcx/passgo/v2)
```

## Getting started with passgo

Create a vault and specify the directory to store passwords in. You will be prompted for your master password:

```bash
$ passgo init
Please enter a strong master password:
2019/02/23 16:54:31 Created directory to store passwords: ~/.passgo
```

Finally, to learn more you can either read about the commands listed in this README or run:

```bash
passgo help
```

The `--help` argument can be used on any subcommand to describe it and see documentation or examples.

## Configuring passgo
The `PASSGODIR` environment variable specifies the directory that your vault is in.

I store my vault in the default location `~/.passgo`. All subcommands will respect this environment variable, including `init`

## COMMANDS

### Listing Passwords
```
$ passgo
├──money
| └──mint.com
└──another
└──another.com
```

This basic command is used to print out the contents of your password vault. It doesn't require you to enter your master password.

### Initializing Vault
```
$ passgo init
```
Init should only be run one time, before running any other command. It is used for generating your master public private keypair.

By default, passgo will create your password vault in the `.passgo` directory within your home directory. You can override this location using the `PASSGODIR` environment variable.

### Inserting a password
```
$ passgo insert money/mint.com
Enter password for money/mint.com:
```

Inserting a password in to your vault is easy. If you wish to group multiple entries together, it can be accomplished by prepending a group name followed by a slash to the pass-name.

Here we are adding mint.com to the password store within the money group.

### Inserting a file
```
$ passgo insert money/budget.csv budget.csv
```

Adding a file works almost the same as insert. Instead it has an extra argument. The file that you want to add to your vault is the final argument.

### Retrieving a password
```
$ passgo show money/mint.com
Enter master password:
dolladollabills$$1
```

Show is used to display a password in standard out.


### Rename a password
```
$ passgo rename mney/mint.com
Enter new site name for mney/mint.com: money/mint.com
```

If a password is added with the wrong name it can be updated later. Here we rename our mint.com site after misspelling the group name.

### Updating a password
```
$ passgo edit money/mint.com
Enter new password for money/mint.com:
```

If you want to securely update a password for an already existing site, the edit command is helpful.

### Generating a password
```
$ passgo generate
%L4^!s,Rry!}s:U