aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/wsl/gpg.sh
diff options
context:
space:
mode:
Diffstat (limited to 'wsl/gpg.sh')
-rwxr-xr-xwsl/gpg.sh77
1 files changed, 60 insertions, 17 deletions
diff --git a/wsl/gpg.sh b/wsl/gpg.sh
index e099de4..2404f99 100755
--- a/wsl/gpg.sh
+++ b/wsl/gpg.sh
@@ -7,18 +7,58 @@
# GPG & SSH Socket
# Removing Linux Agent sockets and replace it with wsl2-ssh-pageant socket
+# gpg-init() (
+# if ! ss -a | grep -q "$SSH_AUTH_SOCK"; then
+# rm -f "$SSH_AUTH_SOCK"
+# wsl2_ssh_pageant_bin="$HOME/.ssh/wsl2-ssh-pageant.exe"
+# if test -x "$wsl2_ssh_pageant_bin"; then
+# (setsid nohup socat UNIX-LISTEN:"$SSH_AUTH_SOCK,fork" EXEC:"$wsl2_ssh_pageant_bin" >/dev/null 2>&1 &)
+# else
+# echo >&2 "WARNING: $wsl2_ssh_pageant_bin is not executable."
+# fi
+# unset wsl2_ssh_pageant_bin
+# fi
+
+# if ! ss -a | grep -q "$GPG_AGENT_SOCK"; then
+# rm -rf "$GPG_AGENT_SOCK"
+# wsl2_ssh_pageant_bin="$HOME/.ssh/wsl2-ssh-pageant.exe"
+# if test -x "$wsl2_ssh_pageant_bin"; then
+# (setsid nohup socat UNIX-LISTEN:"$GPG_AGENT_SOCK,fork" EXEC:"$wsl2_ssh_pageant_bin --gpg S.gpg-agent" >/dev/null 2>&1 &)
+# else
+# echo >&2 "WARNING: $wsl2_ssh_pageant_bin is not executable."
+# fi
+# unset wsl2_ssh_pageant_bin
+# fi
+
+# if ! ss -a | grep -q "${GPG_AGENT_SOCK}.extra"; then
+# rm -rf "${GPG_AGENT_SOCK}.extra"
+# wsl2_ssh_pageant_bin="$HOME/.ssh/wsl2-ssh-pageant.exe"
+# if test -x "$wsl2_ssh_pageant_bin"; then
+# (setsid nohup socat UNIX-LISTEN:"${GPG_AGENT_SOCK}.extra,fork" EXEC:"$wsl2_ssh_pageant_bin --gpg S.gpg-agent.extra" >/dev/null 2>&1 &)
+# else
+# echo >&2 "WARNING: $wsl2_ssh_pageant_bin is not executable."
+# fi
+# unset wsl2_ssh_pageant_bin
+# fi
+# )
+
start-pageant() {
local pageant="$HOME/.ssh/wsl2-ssh-pageant.exe"
- local sock=$1
- local cmd="${pageant}"
+ local sock="$1"
+ local cmd="$pageant"
- if echo "$sock" | grep -q "gpg"; then
- cmd+=" --gpg ${sock}"
- fi
+ case "$sock" in
+ *gpg*) cmd+=" --gpg $(basename $sock)" ;;
+ *discord*)
+ pageant="$(command -v npiperelay.exe)"
+ cmd="$pageant -ep -s //./pipe/discord-ipc-0"
+ ;;
+ esac
if ! ss -a | grep -q "$sock"; then
if test -x "$pageant"; then
rm -rf "$sock"
+ # echo "(setsid nohup socat UNIX-LISTEN:\"${sock},fork\" EXEC:\"$cmd\" >/dev/null 2>&1 &)"
(setsid nohup socat UNIX-LISTEN:"${sock},fork" EXEC:"$cmd" >/dev/null 2>&1 &)
else
echo >&2 "WARNING: $pageant is not executable."
@@ -26,19 +66,16 @@ start-pageant() {
fi
}
-start-pageants() {
- sockets=("$SSH_AUTH_SOCK", "$GPG_AGENT_SOCK", "${GPG_AGENT_SOCK}.extra")
- for sock in ${sockets[@]}; do
- start-pageant $sock
- done
-}
-
# Reload
gpg-reset() {
- gpg-connect-agent.exe KILLAGENT /bye &>/dev/null
- pkill -f 'socat.*wsl2-ssh-pageant.exe'
- gpg-connect-agent.exe /bye &>/dev/null
- start-pageants
+ $socket_relay restart --ssh
+ $socket_relay restart --gpg
+ $socket_relay restart --gpg-extra
+}
+
+discord-reset() {
+ sudo pkill -f 'socat.*/var/run/discord-ipc-0.*npiperelay.exe'
+ sudo -b ${HOME}/dotfiles/scripts/discord-relay.sh
}
# Relearn card serial number
@@ -49,4 +86,10 @@ gpg-learn() {
export SSH_AUTH_SOCK="$HOME/.ssh/agent.sock"
export GPG_AGENT_SOCK="$HOME/.gnupg/S.gpg-agent"
-start-pageants
+socket_relay="${HOME}/dotfiles/scripts/socket-relay.sh"
+
+$socket_relay start --ssh
+$socket_relay start --gpg
+$socket_relay start --gpg-extra
+
+sudo -b ${HOME}/dotfiles/scripts/discord-relay.sh