Skip to content

v0.2.0 - rename to kpxc + generic wrapper

Choose a tag to compare

@magnattic magnattic released this 29 Apr 15:13
· 10 commits to main since this release

Project renamed from kpcache to kpxc. Adds the kpxc generic wrapper around any keepassxc-cli subcommand using the cached master password.

Breaking changes from v0.1.0

  • Env vars renamed KPCACHE_* to KP_* (KP_DB, KP_KEYFILE, KP_TTL, KP_CACHE, KP_CONFIG). Avoids collision with keepassxc-cli's own KPXC_CONFIG / KPXC_CONFIG_LOCAL.
  • Cache file moved /dev/shm/<uid>-kpcache to /dev/shm/<uid>-kpxc.
  • Config dir moved ~/.config/kpcache/ to ~/.config/kpxc/.

New

  • bin/kpxc - generic wrapper. kpxc ls /Email, kpxc search foo, kpxc db-info, etc.
  • tests/test.sh - integration suite (15 tests, builds an ephemeral KDBX, exercises all paths end-to-end).
  • CI runs both shellcheck and the integration tests.
  • README states this is an unofficial third-party wrapper (not affiliated with KeePassXC).

Migration

# rename cache file (or just re-run kpunlock)
mv /dev/shm/$(id -u)-kpcache /dev/shm/$(id -u)-kpxc 2>/dev/null

# move config dir
mv ~/.config/kpcache ~/.config/kpxc 2>/dev/null

# rename env vars in your config
sed -i 's/KPCACHE_/KP_/g' ~/.config/kpxc/config

# update install location and symlinks
mv ~/.local/share/kpcache ~/.local/share/kpxc
rm ~/.local/bin/kp{unlock,get,lock}
ln -s ~/.local/share/kpxc/bin/kp{unlock,get,lock,xc} ~/.local/bin/