MPW: Manage your passwords!

Version Build Status License

mpw is a little software which stores your passwords in GnuPG encrypted files.

Features

  • generate random password
  • generate OTP code
  • copy your login, password or otp in clipboard
  • manage many wallets
  • share a wallet with others GPG keys

Install

On debian or ubuntu:

apt install ruby ruby-dev xclip
gem install mpw

How to use

First steps

Initialize your first wallet:

mpw config --init [email protected]

Add your first item:

mpw add

And list your items:

mpw list

or search an item with

mpw list --pattern Da
mpw list --group bank

Output:

Bank
 ==============================================================================
  ID | Host          | User      | Protocol | Port | OTP | Comment                
 ==============================================================================
  1  | bank.com      | 1234456   | https    |      |  X  |                        

Linux
 ==============================================================================
  ID | Host          | User      | Protocol | Port | OTP | Comment                
 ==============================================================================
  2  | linuxfr.org   | example   | https    |      |     | Da Linux French Site

Copy a password, login or OTP code:

mpw copy -p linuxfr

Update an item:

mpw update -p linuxfr

Delete an item:

mpw delete -p linuxfr

Manage wallets

List all available wallets:

mpw wallet --list

Create an other wallet:

mpw config --wallet work --init [email protected]

List all GPG keys in wallet:

mpw wallet --list-keys [--wallet NAME]

Share with an other GPG key:

mpw wallet --add-gpg-key [email protected]
 or
mpw wallet --add-gpg-key /path/to/file

Remove a GPG key:

mpw wallet --delete-gpg-key [email protected]

Export and import data

You can export your data in yaml file with your passwords in clear text:

mpw export --file export.yml

Import data from an yaml file:

mpw import --file import.yml

Example yaml file for mpw:

---
1:
  host: bank.com
  user: 123456
  group: Bank
  password: secret
  protocol: https
  port: 
  otp_key: 1afg34
  comment: 
2:
  host: linuxfr.org
  user: example
  group: 
  password: 'complex %- password'
  protocol: https
  port: 
  otp_key: 
  comment: Da Linux French Site