42 lines
1.1 KiB
Bash
Executable file
42 lines
1.1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Edit this
|
|
|
|
PASSWORD_FILE=
|
|
OPENCONNECT_USER=
|
|
OPENCONNECT_URL=
|
|
OPENCONNECT_OPTIONS="--authgroup <VPN Group> --servercert <VPN Server Certificate> --protocol=pulse"
|
|
HTTPS_PROXY_PORT=8888
|
|
SOCKS5_PROXY_PORT=8889
|
|
|
|
# Don't touch this
|
|
|
|
container() {
|
|
if [ "$PASSWORD_FILE" ]; then
|
|
OPENCONNECT_PASSWORD="`cat $PASSWORD_FILE`"
|
|
else
|
|
# Ask for password on the commandline
|
|
stty -echo
|
|
printf "VPN password: "
|
|
read OPENCONNECT_PASSWORD
|
|
stty echo
|
|
printf "\n\n"
|
|
fi
|
|
|
|
# Start container with proxy on specified port
|
|
until docker run -it --rm "$@" --privileged --name openconnect-proxy \
|
|
-e OPENCONNECT_URL="$OPENCONNECT_URL" \
|
|
-e OPENCONNECT_OPTIONS="$OPENCONNECT_OPTIONS" \
|
|
-e OPENCONNECT_USER="$OPENCONNECT_USER" \
|
|
-e OPENCONNECT_PASSWORD="$OPENCONNECT_PASSWORD" \
|
|
-e HTTPS_PROXY_PORT="$HTTPS_PROXY_PORT" \
|
|
-e SOCKS5_PROXY_PORT="$SOCKS5_PROXY_PORT" \
|
|
-p $HTTPS_PROXY_PORT:$HTTPS_PROXY_PORT \
|
|
-p $SOCKS5_PROXY_PORT:$SOCKS5_PROXY_PORT \
|
|
"wazum/openconnect-proxy:latest"; do
|
|
echo "openconnect exited with code $?. Restarting process…" >&2
|
|
sleep 1
|
|
done
|
|
}
|
|
|
|
container "$@"
|