Skip to content

Instantly share code, notes, and snippets.

@lorenzleutgeb
Last active May 7, 2024 14:15
Show Gist options
  • Save lorenzleutgeb/fa3de2c8760de256038dc33ef1d76e65 to your computer and use it in GitHub Desktop.
Save lorenzleutgeb/fa3de2c8760de256038dc33ef1d76e65 to your computer and use it in GitHub Desktop.
rad-wire
#! /bin/sh
set -eu
JQ="jq --unbuffered --color-output"
JQ_TX="JQ_COLORS='1;30:0;39:0;39:0;39:1;35:1;39:1;39:1;31' $JQ | sed 's/^/>/'"
JQ_RX="JQ_COLORS='0;90:0;37:0;37:0;37:0;32:1;37:1;37:1;34' $JQ | sed 's/^/</'"
SOCKET="${RAD_HOME:-"${HOME}/.radicle"}/node/control.sock"
if [ ! -S "${SOCKET}" ]
then
printf "Socket '%s' does not exist. Aborting.\n" "${SOCKET}"
exit 1
elif [ -S "${SOCKET}.orig" ]
then
printf "Socket '%s' exists. Aborting.\n" "${SOCKET}.orig"
exit 2
fi
jq -V
socat -V | grep -v 'features\| #'
mv -v "${SOCKET}" "${SOCKET}.orig"
trap "mv -v \"${SOCKET}.orig\" \"${SOCKET}\"" EXIT
printf "\n"
socat \
"UNIX-LISTEN:${SOCKET},mode=700,reuseaddr,fork" \
"SYSTEM:\"exec 4>&1 && tee >($JQ_TX >&4) | socat UNIX-CONNECT:${SOCKET}.orig - | tee >($JQ_RX >&4) >&3\",fdout=3"
@lorenzleutgeb
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment