{"id":15713701,"url":"https://github.com/lipanski/keepass","last_synced_at":"2025-05-12T22:54:51.466Z","repository":{"id":146632389,"uuid":"115229126","full_name":"lipanski/keepass","owner":"lipanski","description":"Keepass KDBX v2/v3 parser for Crystal","archived":false,"fork":false,"pushed_at":"2021-04-24T14:51:13.000Z","size":38,"stargazers_count":13,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-12T22:54:45.104Z","etag":null,"topics":["crystal","crystal-lang","kdbx","keepass","parse"],"latest_commit_sha":null,"homepage":"","language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lipanski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-24T00:01:35.000Z","updated_at":"2024-12-06T18:08:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6c3f35b-aa76-4ee3-adaf-8d0ce25b9a6d","html_url":"https://github.com/lipanski/keepass","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lipanski%2Fkeepass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lipanski%2Fkeepass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lipanski%2Fkeepass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lipanski%2Fkeepass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lipanski","download_url":"https://codeload.github.com/lipanski/keepass/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253837389,"owners_count":21971981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crystal","crystal-lang","kdbx","keepass","parse"],"created_at":"2024-10-03T21:32:58.720Z","updated_at":"2025-05-12T22:54:51.441Z","avatar_url":"https://github.com/lipanski.png","language":"Crystal","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Keepass\n\n \u003ca href=\"https://travis-ci.com/lipanski/keepass\"\u003e\u003cimg src=\"https://travis-ci.com/lipanski/keepass.svg?branch=master\"\u003e\u003c/a\u003e\n\nA Keepass KDBX v2/v3 parser for Crystal.\n\n## Requirements\n\nThis 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](https://download.libsodium.org/doc/).\n\n## Install\n\nAdd the following lines to your `shard.yml`:\n\n```yaml\ndependencies:\n  keepass:\n    github: lipanski/keepass\n```\n\n...and run `crystal deps` or `shards install`.\n\n## Usage\n\nWhen the file is encrypted with a password:\n\n```crystal\nrequire \"keepass\"\n\ndatabase = Keepass.parse!(\"/path/to/keepass.kdbx\", \"password\")\n```\n\nWhen the file is encrypted with a password and a key file:\n\n```crystal\nrequire \"keepass\"\n\ndatabase = Keepass.parse!(\"/path/to/keepass.kdbx\", \"password\", \"/path/to/keyfile\")\n```\n\n### The Keepass::Database object\n\nRead the version:\n\n```crystal\ndatabase.version #=\u003e String\n```\n\nShow the groups:\n\n```crystal\ndatabase.groups #=\u003e Array(Keepass::Group)\n```\n\n### The Keepass::Group object\n\nShow the name:\n\n```crystal\ngroup.name #=\u003e String\n```\n\nShow the ID:\n\n```crystal\ngroup.uuid #=\u003e String\n```\n\nShow the entries directly under this group:\n\n```crystal\ngroup.entries #=\u003e Array(Keepass::Entry)\n```\n\nShow all entries (including entries contained by sub-groups):\n\n```crystal\ngroup.all_entries #=\u003e Array(Keepass::Entry)\n```\n\nShow sub-groups:\n\n```crystal\ngroup.groups #=\u003e Array(Keepas::Group)\n```\n\nShow the parent group (if any):\n\n```crystal\ngroup.parent #=\u003e Group?\n```\n\n### The Keepass::Entry object\n\nShow the title:\n\n```crystal\nentry.title #=\u003e String?\n```\n\nShow the ID:\n\n```crystal\nentry.uuid #=\u003e String\n```\n\nShow the user name:\n\n```crystal\nentry.user_name #=\u003e String?\n```\n\nShow the password:\n\n```crystal\nentry.password #=\u003e String?\n```\n\nShow the notes:\n\n```crystal\nentry.notes #=\u003e String?\n```\n\nShow some helpful timestamps:\n\n```crystal\nentry.created_at #=\u003e Time?\nentry.updated_at #=\u003e Time?\nentry.last_accessed_at #=\u003e Time?\n```\n\nShow the usage count (if available):\n\n```crystal\nentry.usage_count #=\u003e Int32?\n```\n\n### Errors\n\nCheck the [src/keepass/error.cr](https://github.com/lipanski/keepass/blob/master/src/keepass/error.cr) file for a list of the errors that will be raised.\n\n## TODO\n\n- [x] Accept key files.\n- [ ] Write KDBX files.\n- [ ] Parse KDB.\n- [ ] Parse KDBX4.\n\nPull requests are welcome.\n\n## Resources\n\n- \u003chttps://gist.github.com/lgg/e6ccc6e212d18dd2ecd8a8c116fb1e45\u003e\n- \u003chttps://gist.github.com/msmuenchen/9318327\u003e\n- \u003chttps://github.com/mjwhitta/rubeepass\u003e\n- \u003chttps://github.com/Stoom/KeePass/wiki/KDBX-v2-File-Format\u003e\n- \u003chttps://github.com/lgg/awesome-keepass#docs-and-articles\u003e\n- \u003chttp://sketchingdev.co.uk/blog/why-you-cant-recover-your-keepass-password.html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flipanski%2Fkeepass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flipanski%2Fkeepass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flipanski%2Fkeepass/lists"}