1
0
Fork 0
mirror of https://github.com/nishiki/manage-password.git synced 2024-10-27 02:33:19 +00:00
MPW is a little software which stores your passwords in an GPG encrypted file.
Find a file
2017-11-19 20:11:39 +01:00
bin fix shebang 2017-11-19 18:27:48 +01:00
i18n feat: major change the url storage 2017-09-17 20:58:01 +02:00
lib/mpw fix syntax for all rescue 2017-11-19 13:49:42 +01:00
templates feat: major change the url storage 2017-09-17 20:58:01 +02:00
test fix: remove output for test_import 2017-10-03 13:09:27 +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 fix: minor change in dockerfile 2017-10-03 13:07:53 +02:00
Gemfile feat: update gem dependencies 2017-11-19 20:11:39 +01:00
LICENSE rename license 2013-12-26 21:02:53 +01:00
mpw.gemspec feat: update gem dependencies 2017-11-19 20:11:39 +01:00
README.md chore: update README 2017-11-19 13:54:17 +01: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
  • run the tests
docker run -v $(pwd):/mpw:ro -it nishiki/ruby:stretch /bin/bash -l /mpw/.docker-test