Passme: Password management with command line
=======================

**Passme** is a password management tool with command line or `web browzer <javascript.rst>`_. It helps you generate strong passwords for many sites. It generates password every time from a site-specific seed (**sitekey**) stored in the configuration file (`sitekey file <sitekey.rst>`_) and a **master password** that you memorize and type every time.

* Sitekey + Master password = Password

The master password is not site specific, and therefore you have to remember only one master password. **Do not forget your master password or lose your sitekey file**, because once you lose one of them you will lose all the passwords and you can never recover them (otherwise it is not secure). The sitekey file could be managed with your private git repository.

Refer to `security <security.rst>`_ for more information on security.

Install
---------------

Install the latest version of **Python 3** at https://www.python.org/ . After that, install passme by running

.. code-block:: bash

 > pip3 install passme

You can check the `latest version <https://pypi.python.org/pypi/passme>`_ by **pip3 search passme** and update to the latest version by **pip3 install -U passme**.
 
Preparation of sitekey file
---------------

At first, invoke passme and enter the filename of the **sitekey file**.

.. code-block::

 > passme
 Filename to save site keys:
    
Refer to `Sitekey file <sitekey.rst>`_ for more information.

Create a new sitekey
---------------

You can create a sitekey for a new site by **passme add** as follows.

.. code-block:: bash

 > passme add
 Site name: google
 Character (an): 
 Password length (14): 
 Comment (no input to finish): 

Refer to `Passme add command <add.rst>`_ for more information.

Generate password
---------------

After you create the sitekey, password of the site can be generated by

.. code-block:: bash

 > passme site [master]

where

* site: site name
* master: master password

when the master password is not given at the command line argument, it is prompted.

Refer to `Generate password <genpass.rst>`_ for more information.

List of site names
---------------

List of the site names in sitekey file is shown by

.. code-block:: bash

 > passme list

More information
---------------

* `Edit the sitekey file <edit.rst>`_ with **passme edit** command
* `Changing the password <change.rst>`_
* `Javascript version <javascript.rst>`_ to generate password on mobile devices
* `Configuration <config.rst>`_ at .passme file
* `Multiple accounts <multiaccount.rst>`_ at the same site
* `Seurity <security.rst>`_

Tutorial movie
---------------

https://youtu.be/6DXPhyYhYsE

Author
---------------

`Katsutoshi Seki <https://github.com/sekika>`_ wrote this software and published it with the `MIT license <../LICENSE.txt>`_. The email address of the author is available at `this paper <https://dx.doi.org/10.1016/j.geoderma.2015.02.013>`_. Questions and bug reports can be sent to the issue of the GitHub repository here.
