1
0
Fork 0
mirror of https://github.com/nishiki/manage-password.git synced 2024-11-26 15:23:04 +00:00
MPW is a little software which stores your passwords in an GPG encrypted file.
Find a file
2017-10-01 20:32:56 +02:00
bin feat: update rubocop to 0.50.0 2017-09-24 12:44:22 +02:00
i18n feat: major change the url storage 2017-09-17 20:58:01 +02:00
lib/mpw fix no show wallet in other folder 2017-10-01 20:01:35 +02:00
templates feat: major change the url storage 2017-09-17 20:58:01 +02:00
test fix: remove outputs in tests 2017-10-01 20:31:43 +02:00
.docker-test feat: add docker for local tests 2017-10-01 18:26:26 +02:00
.gitignore feat: comment the code with yard 2017-05-03 22:53:56 +02:00
.rubocop.yml feat: update rubocop to 0.50.0 2017-09-24 12:44:22 +02:00
.travis.yml feat: update travis.yml 2017-10-01 20:32:56 +02:00
CHANGELOG.md update version to 4.2.2 2017-08-15 21:13:34 +02:00
Dockerfile feat: add docker for local tests 2017-10-01 18:26:26 +02:00
Gemfile feat: update rubocop to 0.50.0 2017-09-24 12:44:22 +02:00
LICENSE rename license 2013-12-26 21:02:53 +01:00
mpw.gemspec feat: update rubocop to 0.50.0 2017-09-24 12:44:22 +02:00
README.md feat: add docker for local tests 2017-10-01 18:26:26 +02:00
VERSION update version to 4.2.2 2017-08-15 21:13:34 +02:00

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 user@host.com

Add your first item:

mpw add --host assurance.com --port 443 --user user_2132 --protocol https --random
mpw add --host fric.com --user 230403 --otp-code 23434113 --protocol https --comment 'I love my bank' --random

And list your items:

mpw list

or search an item with

mpw list --pattern love
mpw list --group bank

Output:

Assurance
 ==========================================================================
  ID | Host                        | User        | OTP | Comment          
 ==========================================================================
  1  | https://assurance.com:443   | user_2132   |     |                  

Bank
 ==========================================================================
  ID | Host                        | User        | OTP | Comment          
 ==========================================================================
  3  | https://fric.com            | 230403      |  X  | I love my bank   

Copy a password, login or OTP code:

mpw copy -p assurance.com

Update an item:

mpw update -p assurance.com

Delete an item:

mpw delete -p assurance.com

Manage wallets

List all available wallets:

mpw wallet

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: fric.com
  user: 230403
  group: Bank
  password: 5XdiTQOubRDw9B0aJoMlcEyL
  protocol: https
  port:
  otp_key: 330223432
  comment: I love my bank
2:
  host: assurance.com
  user: user_2132
  group: Assurance
  password: DMyK6B3v4bWO52VzU7aTHIem
  protocol: https
  port: 443
  otp_key:
  comment:

Config

Print the current config

mpw config

Output:

Configuration
 ==============================================
  lang             | fr
  gpg_key          | mpw@yae.im
  default_wallet   |
  config_dir       | /home/mpw/.config/mpw
  pinmode          | true
  gpg_exe          |
  path_wallet_test | /tmp/test.mpw
  password_numeric | true
  password_alpha   | true
  password_special | false
  password_length  | 16

Development

Don't run the tests on your local machine, you risk to lost your datas.

Test on local machine with docker

  • install docker
  • build the container
docker build -t mpw/debian:stretch -f Dockerfile .
  • run the tests
docker run -v $(pwd):/mpw:ro -it mpw/debian:stretch /bin/bash -l /mpw/.docker-test