1
0
Fork 0
mirror of https://github.com/nishiki/manage-password.git synced 2024-11-22 21:37:52 +00:00
MPW is a little software which stores your passwords in an GPG encrypted file.
Find a file
2017-12-07 14:15:51 +01:00
bin feat: change license GPL2.0 to Apache2.0 2017-11-19 23:03:16 +01:00
i18n feat: major change the url storage 2017-09-17 20:58:01 +02:00
lib/mpw feat: change license GPL2.0 to Apache2.0 2017-11-19 23:03:16 +01:00
templates feat: major change the url storage 2017-09-17 20:58:01 +02:00
test feat: add keepass 2017-11-19 22:36:54 +01: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 fix: update LICENSE with good copyright 2017-12-07 14:15:51 +01:00
mpw.gemspec feat: update gem dependencies 2017-11-19 20:11:39 +01:00
README.md feat: change license GPL2.0 to Apache2.0 2017-11-19 23:03:16 +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

License

* Author:: Adrien Waksberg <mpw@yae.im>

Copyright (c) 2013-2017 Adrien Waksberg

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.