Skip to content

Angoll/KPass

Repository files navigation

KPass

An Alfred KeePassXC Workflow

Screenshot

Features

  • List all entries from a KeePassXC database
  • Get the password for the selected entry, and put it in the clipboard
  • The password is copied to the transient clipboard.
  • Allow to cache the keys to a file. Default disabled
  • By holding ⌘ will copy the username (Thanks #28 (comment) )

Setup

Prerequisites

Configuration

Run kpassinit KPass Setup and follow the instructions:

  1. Select the KeePassXC database file
  2. [Optinally] If need it full path to the keychain file to use, leave it blank otherwise
  3. Select which keychain will be used to store the database password
  4. Enter the password for the KeePassXC database selected
  5. Done!

Enable the cache

In order to enable the cache, go to the Alfred workflow and into environment [x] set the env var cacheFile to a full file path where to store the cache. As an example /Users/my_user/Library/Caches/kpass.cache

Finally the env var cacheTimeout controlls the recreation of cache in seconds.

Known problems

Slowness to load database

Try reconfiguring the format and number of transform rounds of your database (KDF), increasing the format value and reduce the transformation rounds.

This Alfred workflow integrate with keepassxc using keepassxc cli, the script add a very low overhead and all time is spend in opening the database.

Having a high transformation rounds allows to slow down bruteforce attacks so pickup a number that is seems right for you.

More information:

Keepass file appears unselectable

Open the Alfred workflow from the Alfred App, double click the Run Script /usr/bin/osascript connected to the kpassinit. And remove the following line (on line 20)

    ofType: ["dyn.ah62d4rv4ge8003dcta"] //.kdbx extension type identifier

This will make any file selectable.

References

Any feedback is welcome!

Love it? Give it a ⭐️ or a tweet to help spread the word!