summaryrefslogtreecommitdiff
path: root/bin/menuscripts/mpwgen
diff options
context:
space:
mode:
Diffstat (limited to 'bin/menuscripts/mpwgen')
-rwxr-xr-xbin/menuscripts/mpwgen23
1 files changed, 23 insertions, 0 deletions
diff --git a/bin/menuscripts/mpwgen b/bin/menuscripts/mpwgen
new file mode 100755
index 0000000..51b9bc4
--- /dev/null
+++ b/bin/menuscripts/mpwgen
@@ -0,0 +1,23 @@
+#!/usr/bin/env sh
+
+input () { commander -c -i -p "$1"; }
+
+choice="$(printf "multiline\nsingle\n" | commander -c -d)"
+[ "$choice" ] || exit 1
+
+password="$(input "name:")"
+[ "$password" ] || exit 1
+
+if [ "$choice" = "multiline" ]
+then
+ login="$(find "${PASSWORD_STORE_DIR:=$HOME/.password-store}"/e-mails -type f -maxdepth 1 -iname "*.gpg" -printf "%f\n" |
+ sed 's/\.gpg$//' | commander -c -d -p 'login:')"
+ [ "$login" ] || exit 1
+ url="$(input "url:")"
+ [ "$url" ] || exit 1
+ printf "%s\nlogin: %s\nurl: %s\n" "${password}" "${login}" "${url}" |
+ pass insert -mf "${password}"
+ pass generate -ci "${password}"
+else
+ pass generate -cf "${password}"
+fi