#!/bin/bash SERVER=$(security find-generic-password -l "Openconnect VPN Server" -w) USERNAME=$(security find-generic-password -l "Openconnect Username" -w) SEED=$(security find-generic-password -l "Openconnect TOTP Seed" -w) PASSWORD=$(security find-generic-password -l "Openconnect Account Password" -w) SCRIPT=`realpath $0` SCRIPTPATH=`dirname $SCRIPT` ROUTE_FILE=routes.txt # trap ctrl-c and call ctrl_c() trap ctrl_c INT function ctrl_c() { killall openconnect echo "Bye!" exit } SCRIPT_INCLUDE="" while true; do echo "Connecting to VPN" if test -f "$ROUTE_FILE"; then SCRIPT_INCLUDE="--script=\"$SCRIPTPATH/routing.sh\"" fi echo $PASSWORD | sudo openconnect \ --csd-wrapper hostscan-bypass.sh \ --passwd-on-stdin \ --os=mac-intel \ $SCRIPT_INCLUDE \ --token-mode=totp \ --token-secret=sha1:base32:$SEED \ -u $USERNAME \ $SERVER echo "Openconnect closed. Waiting 3 seconds." sleep 3 done