{"id":33185709,"url":"https://github.com/akazukin5151/kpxhs","last_synced_at":"2026-02-14T17:32:49.036Z","repository":{"id":37398871,"uuid":"362244898","full_name":"akazukin5151/kpxhs","owner":"akazukin5151","description":"Interactive Keepass database TUI viewer","archived":false,"fork":false,"pushed_at":"2025-02-15T10:52:24.000Z","size":1172,"stargazers_count":20,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-15T11:29:53.801Z","etag":null,"topics":["brick","haskell","keepass","keepassxc","password-manager","tui"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akazukin5151.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"custom":"paypal.me/tsuiyc"}},"created_at":"2021-04-27T20:39:57.000Z","updated_at":"2025-02-15T10:52:28.000Z","dependencies_parsed_at":"2025-02-15T11:26:18.949Z","dependency_job_id":"ffd964ee-b55f-4b84-8dd8-1954a6c74cb7","html_url":"https://github.com/akazukin5151/kpxhs","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/akazukin5151/kpxhs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akazukin5151%2Fkpxhs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akazukin5151%2Fkpxhs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akazukin5151%2Fkpxhs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akazukin5151%2Fkpxhs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akazukin5151","download_url":"https://codeload.github.com/akazukin5151/kpxhs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akazukin5151%2Fkpxhs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285731803,"owners_count":27222214,"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","status":"online","status_checked_at":"2025-11-22T02:00:05.934Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["brick","haskell","keepass","keepassxc","password-manager","tui"],"created_at":"2025-11-16T05:00:20.099Z","updated_at":"2025-11-22T04:01:35.997Z","avatar_url":"https://github.com/akazukin5151.png","language":"Haskell","funding_links":["paypal.me/tsuiyc"],"categories":["\u003ca name=\"password-manager\"\u003e\u003c/a\u003ePassword managers"],"sub_categories":[],"readme":"# kpxhs\n\n[![commits since](https://img.shields.io/github/commits-since/akazukin5151/kpxhs/latest)](https://GitHub.com/akazukin5151/kpxhs/commit/) [![status](https://img.shields.io/badge/status-active-green)](https://img.shields.io/badge/status-active-green)\n\n[Keepass](https://keepass.info/) database interactive TUI viewer based on `keepassxc-cli`\n\n![unlock](pics/unlock.png)\n\n![browser1](pics/browser1.png)\n\n![countdown](pics/countdown.png)\n\n![footer](pics/responsive_footer.png)\n\n![entry](pics/entry.png)\n\n![searching](pics/searching.png)\n\n![browser2](pics/browser2.png)\n\n![clear_clip](pics/clear_clip.png)\n\n# Features\n- Configurable database and keyfile path\n- Browse entries and navigate directories\n- View entry details\n- Copy entry username and password fields to clipboard\n- Clear clipboard on exit\n- Clear clipboard after a configurable timeout\n- Responsive messages in the footer\n\n# Why\n- Keyboard friendly way of accessing your passwords\n- Fast(er)\n    - No need to type your password for every command, unlike `keepassxc-cli`\n        - Password is cached for the entire session (make sure to close it after you're done)\n    - Entries details are cached\n- Browser plugin doesn't work consistently for me\n- View only (for now?) because I access passwords much more often than I add or edit them. In rare cases when I have to, using the mouse and GUI isn't such a hassle.\n- Learn Haskell\n- I use arch btw\n\n\\* If you want non-interactive (for scripting etc), just use keepassxc-cli directly\n\n\n# Usage requirements\nYou need to install [keepassxc](https://github.com/keepassxreboot/keepassxc/) with `keepassxc-cli` and have it available in PATH. Versions 2.6.4 to 2.7.9 are known to work, but previous versions should still work if they're not too old.\n\n# Installing\n\n## Install using pre-compiled binary\n\nJust go to the [releases](https://github.com/akazukin5151/kpxhs/releases/) page and grab the latest binary for your OS. Only UNIX (linux and macos) is supported. Binaries are compiled and uploaded using Github actions\n\n## Build from source using [Stack](https://docs.haskellstack.org/en/stable/README/)\n\nNo superuser permissions are needed (unless if you need to install stack itself)\n\n1. `git clone https://github.com/akazukin5151/kpxhs`\n2. `cd kpxhs`\n3. Optional: `git checkout` your desired stable version tag (otherwise you will be using the unstable master branch)\n4. `make build` (compile)\n5. `make install` (move binary to `~/.local/bin/`)\n\nThe binary size can be reduced by enabling dynamic linking: add the`-dynamic` flag to `ghc-options` in [kpxhs.cabal](kpxhs.cabal).\n\n# Manual (Usage, Configuration, Theming)\n\n```sh\n$ kpxhs -h\nkpxhs - Interactive Keepass database TUI viewer\n  Usage\n    kpxhs                   Start the program\n    kpxhs [-v | --version]  Print the version number\n    kpxhs [-h | --help]     Show this help\n    kpxhs --write-config    Write the default configs to ~/.config/kpxhs/\n\n  TUI keybindings (in general)\n    Esc                     Quit, back (elsewhere)\n    q                       Quit, back (in browser)\n    Tab                     Cycle focus\n    /                       Search (filter) items\n    Enter                   Show entry details\n    u                       Copy username\n    p                       Copy password\n\n  Navigation ([n] means optional digit)\n    [n]j, [n]s              Move down n items (default: 1)\n    [n]k, [n]w              Move up n items   (default: 1)\n    g                       Move to top\n    G                       Move to bottom\n```\n\nRead the man page for more details. The rendered markdown is available online at https://github.com/akazukin5151/kpxhs/blob/master/docs/out/kpxhs.1.md\n\nAlternatively, it can be installed for offline reading manually. No superuser permissions are required. Copy the pre-built man page in [docs/out/kpxhs.1](https://github.com/akazukin5151/kpxhs/raw/master/docs/out/kpxhs.1) to somewhere in your `manpath` (eg, `~/.local/share/man/man1/`). View with `man kpxhs`.\n\nThe man page can also be manually built with `cd docs \u0026\u0026 make` and installed with `make copy`. `pandoc` is required for this manual build. For the `whatis` program to work with `kpxhs`, refresh the mandb with `mandb` after `make copy`\n\n# License\n\nGPLv3 or later\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakazukin5151%2Fkpxhs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakazukin5151%2Fkpxhs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakazukin5151%2Fkpxhs/lists"}