From a3d6669ce88b8690e53429773d7e30056d86e135 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Thu, 17 Mar 2022 13:04:57 -0500 Subject: feat: improved wsl terminal experience --- wsl/gpg.sh | 77 ++++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 17 deletions(-) (limited to 'wsl/gpg.sh') 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 -- cgit v1.2.3-70-g09d2