Keepmenu
Fully featured Dmenu/Rofi/Bemenu/Wofi/Yofi frontend for autotype and managing of Keepass databases.
Inspired in part by Passhole, but more dmenu and less command line focused.
Installation
pip install --user keepmenu
Ensure ~/.local/bin
is in your $PATH
. Run keepmenu
and enter your database
path, keyfile path, and password.
For full installation documention see the [installation docs][docs/install.md].
Full Documentation
Installation - Configuration - Usage
Requirements
- Python 3.7+
- Pykeepass >= 4.0.0 and pynput
- Dmenu, Rofi, Wofi, Yofi or Bemenu
- (optional) Pinentry
- (optional) xdotool (for X), ydotool or wtype(for Wayland).
Features
- Supports .kdbx databases, not .kdb.
- Auto-type username and/or password on selection. No clipboard copy/paste involved.
- Background process allows selectable time-out for locking the database.
- Multiple databases can be unlocked and switched on the fly.
- Use a custom Keepass 2.x style auto-type sequence.
- Type, view or edit any field.
- Open the URL in the default web browser.
- Non U.S. English keyboard languages and layouts supported via xdotool or wtype(for Wayland).
- Edit notes using terminal or gui editor.
- Add and Delete entries.
- Add, delete, rename and move groups.
- Hide selected groups from the default and 'View/Type Individual entries' views.
- Configure the characters and groups of characters used during password generation.
- Optional Pinentry support for secure passphrase entry.
- Keepass field references are supported.
- Display and manage expired passwords.
- Add, edit and type TOTP codes.
- Add, edit, type and delete custom attributes.
License
- GPLv3
Usage
keepmenu [-h] [-a AUTOTYPE] [-d DATABASE] [-k KEY_FILE] [-t]
- Run
keepmenu
or bind to keystroke combination. - Enter database path on first run.
- Start typing to match entries.
- Configure config.ini as desired.
- More detailed usage information.
Tests
To run tests in a venv: make test
Development
-
To install keepmen in a venv:
make
-
Build man page from Markdown source:
make man