33 lines
726 B
Bash
33 lines
726 B
Bash
|
#!/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)
|
||
|
|
||
|
|
||
|
# trap ctrl-c and call ctrl_c()
|
||
|
trap ctrl_c INT
|
||
|
|
||
|
function ctrl_c() {
|
||
|
killall openconnect
|
||
|
echo "Bye!"
|
||
|
exit
|
||
|
}
|
||
|
|
||
|
while true; do
|
||
|
echo "Connecting to VPN"
|
||
|
|
||
|
echo $PASSWORD | sudo openconnect \
|
||
|
--csd-wrapper hostscan-bypass.sh \
|
||
|
--passwd-on-stdin \
|
||
|
--token-mode=totp \
|
||
|
--token-secret=sha1:base32:$SEED \
|
||
|
-u $USERNAME \
|
||
|
$SERVER
|
||
|
|
||
|
echo "Openconnect closed. Waiting 3 seconds."
|
||
|
sleep 3
|
||
|
|
||
|
done
|