Giter Site home page Giter Site logo

passhole's Introduction

Passhole

passhole is a commandline password manager for KeePass 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 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

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

Setup

pip install passhole
ph init

# optionally install zenity for graphical password prompt
sudo apt install zenity

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: [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

# 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

Build Dependencies

Alpine

apk add gcc libffi-dev py3-lxml py3-pip python3-dev libc-dev

passhole's People

Contributors

evidlo avatar tootap avatar ayushc137 avatar dauliac avatar jackthemico avatar marcopaganini avatar ulken avatar presfil avatar sainttt avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.