Add the following code to your project's shard.yml under:
to use in production
- OR -
development_dependencies to use in development
A Keepass KDBX v2/v3 parser for Crystal.
This library requires libsodium. On Ubuntu 17.04 you can install it via
sudo apt install libsodium-dev. For other distros, please check the libsodium docs.
Add the following lines to your
dependencies: keepass: github: lipanski/keepass
crystal deps or
When the file is encrypted with a password:
require "keepass" database = Keepass.parse!("/path/to/keepass.kdbx", "password")
When the file is encrypted with a password and a key file:
require "keepass" database = Keepass.parse!("/path/to/keepass.kdbx", "password", "/path/to/keyfile")
Read the version:
database.version #=> String
Show the groups:
database.groups #=> Array(Keepass::Group)
Show the name:
group.name #=> String
Show the ID:
group.uuid #=> String
Show the entries directly under this group:
group.entries #=> Array(Keepass::Entry)
Show all entries (including entries contained by sub-groups):
group.all_entries #=> Array(Keepass::Entry)
group.groups #=> Array(Keepas::Group)
Show the parent group (if any):
group.parent #=> Group?
Show the title:
entry.title #=> String?
Show the ID:
entry.uuid #=> String
Show the user name:
entry.user_name #=> String?
Show the password:
entry.password #=> String?
Show the notes:
entry.notes #=> String?
Show some helpful timestamps:
entry.created_at #=> Time? entry.updated_at #=> Time? entry.last_accessed_at #=> Time?
Show the usage count (if available):
entry.usage_count #=> Int32?
Check the src/keepass/error.cr file for a list of the errors that will be raised.
Pull requests are welcome.