# MPW: Manage your passwords! [![Version](https://img.shields.io/badge/latest_version-4.0.0-green.svg)](https://github.com/nishiki/manage-password/releases) [![Build Status](https://travis-ci.org/nishiki/manage-password.svg?branch=master)](https://travis-ci.org/nishiki/manage-password) [![License](https://img.shields.io/badge/license-GPL--2.0-blue.svg)](https://github.com/nishiki/manage-password/blob/master/LICENSE) mpw is a little software which stores your passwords in [GnuPG](http://www.gnupg.org/) 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 user@host.com ``` 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 user@host.com ``` List all GPG keys in wallet: ``` mpw wallet --list-keys [--wallet NAME] ``` Share with an other GPG key: ``` mpw wallet --add-gpg-key test42@localhost.com or mpw wallet --add-gpg-key /path/to/file ``` Remove a GPG key: ``` mpw wallet --delete-gpg-key test42@localhost.com ``` ### 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 ```