{"id":16191266,"url":"https://github.com/logic/gkp","last_synced_at":"2025-04-02T05:32:25.470Z","repository":{"id":139435870,"uuid":"85755741","full_name":"logic/gkp","owner":"logic","description":"Go implementation of the KeePass-RPC protocol","archived":false,"fork":false,"pushed_at":"2017-09-05T22:37:39.000Z","size":46,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T11:51:19.313Z","etag":null,"topics":["go","golang","keepass","keepassrpc","password-manager","srp"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/logic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-03-21T21:33:04.000Z","updated_at":"2025-01-30T15:31:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"1485c386-53b3-4286-ac31-490c0972a85b","html_url":"https://github.com/logic/gkp","commit_stats":null,"previous_names":["logic/go-keepassrpc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logic%2Fgkp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logic%2Fgkp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logic%2Fgkp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logic%2Fgkp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/logic","download_url":"https://codeload.github.com/logic/gkp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246763809,"owners_count":20829795,"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":["go","golang","keepass","keepassrpc","password-manager","srp"],"created_at":"2024-10-10T07:45:36.033Z","updated_at":"2025-04-02T05:32:21.955Z","avatar_url":"https://github.com/logic.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"gkp\n===\n\ngkp is a collection of KeePass-related functionality in Go.\n\nkeepassrpc\n----------\n\n`keepassrpc` is an implementation of the protocol provided by the KeePassRPC\nplugin shipped with [KeeFox](http://keefox.org), a popular Firefox integration\nfor [KeePass Password Safe](http://keepass.info).\n\nThe library implements the three protocols spoken by KeePassRPC: the SRP\nprotocol which handles initial registration, the key auth challenge/response\nprotocol which is used for authentication once SRP has been negotiated, and\nthe encrypted JSON-RPC protocol for post-authentication communication.\n\nWe use `jsonenums` to generate marshal/unmarshal helpers for a couple of the\nenum values passed to us from the KeePassRPC service. To build anything based\non `keepassrpc`, you'll need to install `jsonenums` first:\n\n    go get github.com/campoy/jsonenums\n\nOnce you have `jsonenums` in your `PATH`, run `go generate ./...` to create the\nneeded files.\n\nkeepassrpc/cli\n--------------\n\n`keepassrpc/cli` provides a number of utilities that make building CLI tools\naround `keepassrpc` easier. See `kp` and `git-credential-keepassrpc` for\nexamples.\n\nkp\n--\n\n`kp` is a command-line client which uses the `keepassrpc` package to talk to a\nrunning KeePass instance.\n\nTo use this, you'll need [KeePass Password Safe](http://keepass.info/)\ninstalled and running with an open database.\n\nTo get a copy of the KeePass plugin, you can either:\n* install the [KeeFox Firefox plugin](https://addons.mozilla.org/en-US/firefox/addon/keefox/)\n  and follow the installation instructions to install the KeePassRPC plugin\n* download the `.xpi` file from addons.mozilla.org, unzip it, and copy\n  `deps/KeePassRPC.plgx` to your KeePass plugins directory.\n\nSee the KeeFox\n[getting started](https://github.com/kee-org/KeeFox/wiki/en-%7C-Getting-started)\ninstructions for more information.\n\nOnce the plugin is installed, the easiest next step is to install `kp`:\n\n    go get github.com/campoy/jsonenums\n    go get -tags=gnome_keyring github.com/logic/gkp/kp\n\n(If you don't need GNOME keyring support, you can skip the `-tags` argument\non the second line.)\n\nOnce you've installed `kp`, make sure KeePass is running, and run `kp` with no\narguments to start the first-use authentication step with KeePass. Follow the\non-screen instructions, and you'll be all set.\n\n`kp` will store a session key in your keystore (on OSX, it uses keychain; on\nLinux, SecretService or GNOME Keyring), and a configuration file with your\ninstance username in (probably) `$HOME/.config/gkp/settings.json`.\n\ngit-credential-keepassrpc\n-------------------------\n\n`git-credential-keepassrpc` provides a `git-credential`-compatible helper for\nlooking up credentials. Just build it, drop it into your PATH somewhere, and\nrun:\n\n    git config --global credential.helper keepassrpc\n\nBuild with `-tags gnome_keyring` for support for storing the auth secret in\nGNOME keyring. If you use OSX, or a SecretService-compatible secrets backend,\nyou don't need to do anything special. So, for example:\n\n    go get -tags=gnome_keyring github.com/logic/gkp/git-credential-keepassrpc\n\nAdditional Links\n----------------\n\nFrom the original author:\n* https://github.com/kee-org/KeeFox/wiki/en-%7C-Technical-%7C-KeePassRPC\n* https://github.com/kee-org/KeeFox/wiki/en-%7C-Technical-%7C-KeePassRPC-detail\n\nClient implementation (Firefox browser plugin):\n* https://github.com/kee-org/browser-addon/tree/master/background\n  * `kprpcClient.js` covers the KeePassRPC protocol implementation itself\n  * `SRP.js` is their take on SRP\n\nServer implementation (plugin running within KeePass):\n* https://github.com/kee-org/keepassrpc\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogic%2Fgkp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flogic%2Fgkp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogic%2Fgkp/lists"}