X-Git-Url: https://code.communitydata.science/nu-vpn-proxy.git/blobdiff_plain/47b2c41af77f699b745dbfc2c4a870b10a08b39e..7e13b54cde944b15e2c48759b9e18e82d172b40f:/ssh-vpn-proxy diff --git a/ssh-vpn-proxy b/ssh-vpn-proxy new file mode 100755 index 0000000..3548b40 --- /dev/null +++ b/ssh-vpn-proxy @@ -0,0 +1,28 @@ +#!/bin/bash + +SEARCH_PATTERN="ESP tunnel connected; exiting HTTPS mainloop." + +# connects to SSH through openconnect and VPN +# for use with ProxyCommand in SSH + + +# first run openconnect +/sbin/start-stop-daemon --pidfile /tmp/nu-vpn-openconnect.pid -S --startas "$HOME/bin/nu-vpn-proxy/openconnect_command-ssh.sh" & +sleep 2 + +# kill connection on exit +function cleanup { + /sbin/start-stop-daemon --stop --pidfile /tmp/nu-vpn-openconnect.pid +} +trap cleanup EXIT + +tail -f /tmp/nu-globalprotect-saml.log | grep -qe "${SEARCH_PATTERN}" + +if [ $? == 1 ]; then + echo "Search terminated without finding the pattern" + exit +fi + +# redirect traffic (standard input and output) through VPN +/bin/nc.openbsd -X 5 -x 127.0.0.1:9052 $1 $2 +