expose script has been replaced by Go binary
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
143327d660
commit
64ce7d0000
1 changed files with 0 additions and 70 deletions
70
bin/expose
70
bin/expose
|
@ -1,70 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
read -r -d '' TUNNEL_CONFIG << 'EOM'
|
|
||||||
{
|
|
||||||
"name": $name,
|
|
||||||
"addr": $port,
|
|
||||||
"proto": "http",
|
|
||||||
"bind_tls": true,
|
|
||||||
"inspect": false
|
|
||||||
}
|
|
||||||
EOM
|
|
||||||
|
|
||||||
MODE="create"
|
|
||||||
PORT="3000"
|
|
||||||
|
|
||||||
while getopts ":cdl" opt; do
|
|
||||||
case "${opt}" in
|
|
||||||
c)
|
|
||||||
MODE="clear"
|
|
||||||
;;
|
|
||||||
d)
|
|
||||||
MODE="delete"
|
|
||||||
;;
|
|
||||||
l)
|
|
||||||
MODE="list"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 [-c] [-d] [-l] [port]"
|
|
||||||
echo " -c Clear all open tunnels"
|
|
||||||
echo " -d Delete port expose"
|
|
||||||
echo " -l List all active tunnels"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
shift $((OPTIND-1))
|
|
||||||
|
|
||||||
[ -z "$1" ] || PORT="$1"
|
|
||||||
|
|
||||||
NAME="expose_${PORT}"
|
|
||||||
|
|
||||||
case "${MODE}" in
|
|
||||||
create)
|
|
||||||
EXISTING_TUNNEL=$(curl -s "http://localhost:4040/api/tunnels/${NAME}" | jq -r '.public_url')
|
|
||||||
if !( test "${EXISTING_TUNNEL}" == "null" ); then
|
|
||||||
echo "Tunnel for port ${PORT} already open. Its address is: ${EXISTING_TUNNEL}"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
json=$(jq -cn --arg port "${PORT}" --arg name "${NAME}" "${TUNNEL_CONFIG}")
|
|
||||||
TUNNEL=$(curl -s -X POST -H 'Content-Type: application/json' -d ${json} "http://localhost:4040/api/tunnels" | jq -r '.public_url')
|
|
||||||
echo "Tunnel for port ${PORT} opened: ${TUNNEL}"
|
|
||||||
;;
|
|
||||||
delete)
|
|
||||||
for uri in $(curl -s "http://localhost:4040/api/tunnels" | jq -r --arg name "${NAME}" '.tunnels | .[] | select(.name | startswith($name)) | .uri'); do
|
|
||||||
curl -X DELETE "http://localhost:4040$(echo "$uri" | sed "s/+/%20/g")"
|
|
||||||
done
|
|
||||||
echo "Tunnel for port ${PORT} removed."
|
|
||||||
;;
|
|
||||||
list)
|
|
||||||
echo "Active tunnels:"
|
|
||||||
curl -s "http://localhost:4040/api/tunnels" | jq -r '.tunnels | .[] | " - " + .public_url + " => " + .config.addr'
|
|
||||||
;;
|
|
||||||
clear)
|
|
||||||
for uri in $(curl -s "http://localhost:4040/api/tunnels" | jq -r '.tunnels | .[] | .uri'); do
|
|
||||||
curl -X DELETE "http://localhost:4040$(echo "$uri" | sed "s/+/%20/g")"
|
|
||||||
done
|
|
||||||
echo "All tunnels closed."
|
|
||||||
;;
|
|
||||||
esac
|
|
Loading…
Reference in a new issue