Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phenax/anypinentry
A flexible pinentry script for GNUpg. Uses dmenu by default.
https://github.com/phenax/anypinentry
dmenu gpg password pinentry prompt rofi
Last synced: 4 days ago
JSON representation
A flexible pinentry script for GNUpg. Uses dmenu by default.
- Host: GitHub
- URL: https://github.com/phenax/anypinentry
- Owner: phenax
- License: mit
- Created: 2020-07-05T20:05:26.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-14T08:56:12.000Z (about 1 month ago)
- Last Synced: 2024-11-16T04:38:54.402Z (4 days ago)
- Topics: dmenu, gpg, password, pinentry, prompt, rofi
- Language: Shell
- Homepage:
- Size: 43 KB
- Stars: 13
- Watchers: 2
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AnyPinentry
AnyPinentry is a wrapping interface to all kinds of prompts instead of gnupg's pinentry.
You can now use any interface for password and confirmation prompts (`dmenu`, `rofi`, `read`, `systemd-ask-password`, `curses`, `etc`).> Note: This is NOT a complete replacement for pinentry programs but it should cover most use-cases. Report any issues you face so the program can be improved
## Dependencies
* sh
* dmenu with password patch (optional: for the default config only)
* notify-send (optional: for the default config only)## Usage
1. Clone the repo to anywhere on your machine (you should maintain a fork in case you want to configure the default behavior)
2. Run `chmod +x ./anypinentry` inside the cloned directory
3. Edit the script file if you want to configure it.
4. Edit `~/.gnuph/gpg-agent.conf` (or create it) and add the line `pinentry-program //anypinentry`
5. Run `gpg-agent reload` to reload the config or logout and log back in
6. Gpg should now be using your prefered program for pinentry## Config
The following variables inside `./anypinentry` script file can be configured.
You will need to use `AP_PROMPT`, `AP_YES`, `AP_NO`, `AP_ERROR` variables inside your actions.* `prompt_action` - Action to show a prompt asking for password (Example using dmenu with password patch - `dmenu -P -p "$AP_PROMPT"`)
* `confirm_action` - Action to confirm something (YES or NO) (Example with dmenu - `echo -e "$AP_YES\n$AP_NO" | dmenu -p "$AP_PROMPT"`)
* `display_error_action` - Action to display error messages to user (Example with notify-send - `notify-send "$AP_ERROR"`)