u/sneurlax

package:keepass: a Rust-backed KeePass and KeePassXC Flutter plugin

package:keepass: a Rust-backed KeePass and KeePassXC Flutter plugin

I've been working on a KeePass package for about two years but haven't been as diligent about publishing updates to pub.dev as I have been with pushing commits to github. I've dedicated some time this past month to polishing the set of packages for publishing and would like to share a few new tools for interacting with KeePass and especially KeePassXC KDBX vaults:

Most people will want to use keepass_flutter, which builds its library 'automatically' with cargokit (provided Rust etc are installed), whereas the keepass and keepass_web packages require you to build or otherwise provide the library yourself at this point.

I made this package for three main reasons:

  1. I maintain multiple KDBX vaults and wanted a tool capable of merging databases that only keeps the latest entries, safely archiving the old entries 'just in case'.

  2. I wanted more platforms: KeePassXC doesn't support web or iPad, so I made these specifically in order to cover all platforms, including browser extensions.

  3. I wanted YubiKey Challenge-Response capability and this wasn't clearly available via existing packages.

Future TODOs include:

  • Migrate from cargokit to native_assets_rust once Dart Native Assets launch in an unexperimental form
  • Publish prebuilt binaries for package:keepass and package:keepass_web as an option for users that want to skip building
  • Make sure the prebuilt binaries mentioned above are all reproducible
u/sneurlax — 3 days ago