Passhole Save

A secure hole for your passwords (KeePass CLI)

Project README

Passhole

.. image:: https://img.shields.io/matrix/pykeepass:matrix.org.svg :target: https://matrix.to/#/#pykeepass:matrix.org

passhole is a commandline password manager for KeePass inspired by pass_.

.. _pass: https://www.passwordstore.org

.. image:: https://i.imgur.com/lWLgbo3.gif

  • Manual_
  • Features_
  • Setup_
  • Example Usage_
  • Example i3wm Keybindings_
  • Testing and Development_

Features

  • fill user/pass field in any application via keyboard shortcut
  • add, delete, move, edit, rename entries and groups
  • generate alphanumeric, symbolic, or correct horse battery staple_ style passwords
  • temporarily cache database password (by default for 10 minutes)
  • multiple databases
  • supports KeePass v3 and v4 databases
  • supports TOTP

.. _correct horse battery staple: http://xkcd.com/936

See below for examples and the manual_ (or man passhole) for a complete list of commands and options.

.. _manual: https://github.com/evidlo/passhole/tree/master/MANUAL.rst

Setup

.. code:: bash

pip install passhole ph init

optionally install zenity for graphical password prompt

sudo apt install zenity

Example Usage

.. code:: bash

add a new entry with manually created password

$ ph add github Username: Evidlo Password: Confirm: URL: github.com

add an entry with a generated alphanumeric password

$ ph add neopets -a Username: Evidlo URL: neopets.com

add a new group

$ ph add social/

add an entry to social/ with a 32 character password (alphanumeric + symbols)

$ ph add social/facebook -s 32 Username: [email protected] URL: facebook.com

add an entry to social/ with a correct-horse-battery-staple type password

$ ph add social/twitter -w Username: [email protected] URL: twitter.com

list all entries

$ ph list github neopets [social] ├── facebook └── twitter

display contents of entry

$ ph show social/twitter Title: twitter Username: Evidlo Password: inns.ambien.travelling.throw.force URL: twitter.com

retrieve contents of specific field for use in scripts

$ ph show social/twitter --field password inns.ambien.travelling.throw.force

Example i3wm Keybindings

.. code:: bash

select entry using dmenu, then send password to keyboard

bindsym $mod+p exec "ph type --prog dmenu"

select entry using dmenu, then send username + password to keyboard

bindsym $mod+Shift+p exec "ph type --tabbed --prog dmenu"

Testing and Development

Running tests

.. code:: bash

from repo root dir:

python test/tests.py

Isolated install in Docker

.. code:: bash

debian

make docker_debian

Building manpage and packaging

.. code:: bash

make man make dist

See also

  • keepmenu_
  • kpcli_
  • keepassxc_
  • kdbxpasswordpwned_

.. _keepmenu: https://github.com/firecat53/keepmenu/ .. _kpcli: http://kpcli.sourceforge.net/ .. _keepassxc: https://keepassxc.org/ .. _kdbxpasswordpwned: https://github.com/fopina/kdbxpasswordpwned

Build Dependencies

Alpine

apk add gcc libffi-dev py3-lxml py3-pip python3-dev libc-dev
Open Source Agenda is not affiliated with "Passhole" Project. README Source: Evidlo/passhole
Stars
190
Open Issues
8
Last Commit
2 months ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating