summaryrefslogtreecommitdiff
path: root/dgenpass
diff options
context:
space:
mode:
authorfilip <“filip.rabiega@gmail.com”>2026-02-15 02:01:39 +0100
committerfilip <“filip.rabiega@gmail.com”>2026-02-15 02:01:39 +0100
commitbf54007f62beb5bf889da69574c4fea74bdc59aa (patch)
tree56454aee8a841289a0d01135cbb400d887c72806 /dgenpass
parent6b9b6399cd3f039df538b35c73459ce7f30cfa59 (diff)
downloadchadscripts-bf54007f62beb5bf889da69574c4fea74bdc59aa.tar.gz
chadscripts-bf54007f62beb5bf889da69574c4fea74bdc59aa.tar.bz2
chadscripts-bf54007f62beb5bf889da69574c4fea74bdc59aa.zip
add chwal dgenpass dgoogle dwiki
Diffstat (limited to 'dgenpass')
-rwxr-xr-xdgenpass29
1 files changed, 29 insertions, 0 deletions
diff --git a/dgenpass b/dgenpass
new file mode 100755
index 0000000..4f802ce
--- /dev/null
+++ b/dgenpass
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+PASSWORD_LENGTH=24
+DMENU_PROMPT="Enter password name:"
+NOTIFY_TITLE="dgenpass"
+
+# Ask for a password name
+name=$(echo "" | dmenu -i -p "$DMENU_PROMPT")
+
+# Exit if user cancels
+[ -z "$name" ] && exit 1
+
+# Generate random password
+password=$(tr -dc 'A-Za-z0-9!@#$%^&*()_+-=' </dev/urandom | head -c "$PASSWORD_LENGTH")
+
+# Save to pass
+echo "$password" | pass insert -f -m "$name"
+
+# Copy to clipboard
+if command -v xclip >/dev/null 2>&1; then
+ echo -n "$password" | xclip -selection clipboard
+elif command -v wl-copy >/dev/null 2>&1; then
+ echo -n "$password" | wl-copy
+fi
+
+# Notify user
+if command -v notify-send >/dev/null 2>&1; then
+ notify-send "$NOTIFY_TITLE" "Password for '$name' saved and copied to clipboard"
+fi