The Wayback Machine - https://web.archive.org/web/20201111172709/https://github.com/Evidlo/passhole
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.rst

Passhole

passhole is a commandline password manager inspired by pass.

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

Features

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

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

Setup

pip install passhole
ph init

# install zenity for password prompt

Example Usage

# 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: evan@evanw.org
URL: facebook.com

# add an entry to `social/` with a correct-horse-battery-staple type password
>>> ph add social/twitter -w
Username: evan@evanw.org
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

# 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

# from repo root dir:
python test/tests.py

Isolated install in Docker

# debian
make docker_debian

Building manpage and packaging

make man
make dist

See also

About

A secure hole for your passwords (KeePass CLI)

Topics

Resources

License

Packages

No packages published
You can’t perform that action at this time.