{"id":37091620,"url":"https://github.com/nwwdles/kpxcpc","last_synced_at":"2026-01-14T11:09:05.553Z","repository":{"id":57530971,"uuid":"273950725","full_name":"nwwdles/kpxcpc","owner":"nwwdles","description":"A KeePassXC-proxy command line client","archived":false,"fork":false,"pushed_at":"2024-02-13T14:29:48.000Z","size":71,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-20T13:38:09.870Z","etag":null,"topics":["keepass","keepassxc"],"latest_commit_sha":null,"homepage":"","language":"Go","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/nwwdles.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":"2020-06-21T17:17:17.000Z","updated_at":"2024-05-04T12:21:18.000Z","dependencies_parsed_at":"2024-06-19T11:31:05.485Z","dependency_job_id":"9b55d324-faae-4d8b-b177-3bb60a8244db","html_url":"https://github.com/nwwdles/kpxcpc","commit_stats":{"total_commits":50,"total_committers":2,"mean_commits":25.0,"dds":0.4,"last_synced_commit":"df4c8a3be8b6d1a96067d330dcaae9414dcefc6f"},"previous_names":["cupnoodles14/kpxcpc"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/nwwdles/kpxcpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwwdles%2Fkpxcpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwwdles%2Fkpxcpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwwdles%2Fkpxcpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwwdles%2Fkpxcpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nwwdles","download_url":"https://codeload.github.com/nwwdles/kpxcpc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwwdles%2Fkpxcpc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28417950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["keepass","keepassxc"],"created_at":"2026-01-14T11:09:04.339Z","updated_at":"2026-01-14T11:09:05.547Z","avatar_url":"https://github.com/nwwdles.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kpxcpc\n\nA non-featureful [KeePassXC-proxy](https://github.com/keepassxreboot/keepassxc-browser/blob/develop/keepassxc-protocol.md) command line client.\n\nSame as browser extension, it retrieves passwords from an unlocked DB. Unlike `secret-tool`, it doesn't require you to set KeePassXC to be your secret service ([there can only be one](https://github.com/keepassxreboot/keepassxc/issues/3945)).\n\n## Installation\n\nIf you have Go set up, you can do\n\n```sh\ngo install gitlab.com/nwwdles/kpxcpc@latest\n```\n\nObviously, you may want to review the code first :^)\n\nThere's also a [PKGBUILD](meta/PKGBUILD) for Arch-based systems.\n\n## Usage\n\n```txt\nUsage of kpxcpc:\n  -associate\n        associate and print association info to stdout in json format\n  -fmt string\n        format string for entry fields: name - %n, login - %l, pass - %p,\n          uuid - %u, custom fields - %F:fieldname\n           (default \"%p\")\n  -identity string\n        set identity file (default \"~/.local/share/kpxcpc/identity.json\")\n  -json\n        print json\n  -nounlock\n        do not trigger DB unlock prompt\n  -socket string\n        path to keepassxc-proxy socket\n  -totp\n        get TOTP\n```\n\nTo delimit entries with null-character, use `\\x00` instead of `\\0`.\n\nCustom entry fields need to have a name in the following format: `KPH: myfield` (with a space between prefix and field name) to be available through keepassxc-proxy. To refer to them in kpxcpc format string, use `%F:myfield` (without a space).\n\nExample:\n\n```sh\n$ kpxcpc 'http://google.com'\npwAJWsXs2HcDvz5HM4mk3ub@7rdP7473n7y5i9\n\n$ kpxcpc -fmt 'pass: %p\\n' 'http://google.com'\npass: pwAJWsXs2HcDvz5HM4mk3ub@7rdP7473n7y5i9\n\n$ kpxcpc -fmt 'pass: %p\\nmyfield: %F:myfieldname\\n' 'http://google.com'\npass: pwAJWsXs2HcDvz5HM4mk3ub@7rdP7473n7y5i9\nmyfield: hello world\n\n$ kpxcpc -json 'http://google.com'\n[{\"login\":\"elon\",\"name\":\"google\",\"password\":\"pwAJWsXs2HcDvz5HM4mk3ub@7rdP7473n7y5i9\",\"uuid\":\"d1e6cba53ad04e8fb23f2991c160ce5a\",\"stringFields\":[{\"KPH: myfieldname\":\"hello world\"}]}]\n\n$ kpxcpc -totp 0851580ae78549e3be60949e908a040e\nC2PHR\n```\n\n## Security\n\nAssociation info is stored in plaintext in `~/.local/share/kpxcpc/identity.json`. If you want, you can manage the storage of association info manually:\n\n- use `-associate` to associate once and print identity json to stdout,\n- use `-identity -` to read identity json from stdin.\n\nStill, if you use the browser extension, it's probably not too hard to retrieve association info from your browser profile.\n\n```sh\n$ kpxcpc -associate\n{\"id\":\"example\",\"idKey\":\"tli3pJmrVwLEyfGcf29LzAKvNyAJaigu\"}\n\n$ echo '{\"id\":\"example\",\"idKey\":\"tli3pJmrVwLEyfGcf29LzAKvNyAJaigu\"}' | kpxcpc -identity - 'https://google.com'\npwAJWsXs2HcDvz5HM4mk3ub@7rdP7473n7y5i9\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnwwdles%2Fkpxcpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnwwdles%2Fkpxcpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnwwdles%2Fkpxcpc/lists"}