Код: Выделить всё
#!/bin/bash
### BEGIN INIT INFO
# Provides: AutoRUN OpenConnect Client
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 1 0 6
# Short-Description: ...
# Description: ...
### END INIT INFO
# Хост, на который коннэктится OpenConnect
hostOpenConnect=""
# Логин для OpenConnect
loginOpenConnect=""
# Пароль для Openconnect
passOpenConnect=""
# mtu для OpenConnect, по-умолчанию используется mtu сервера
mtuOpenConnect="default"
# Прокси для OpenConnect, формат: хост:порт
proxyOpenConnect=""
if [ -n "$hostOpenConnect" ] && [ -n "$loginOpenConnect" ] && [ -n "$passOpenConnect" ] ; then
if ! ip -br a | grep -q "tun0"; then
echo ${passOpenConnect} | sudo openconnect \
-q -b -u ${$loginOpenConnect} \
--verbose \
--no-dtls \
--reconnect-timeout 14 \
$(if [ -n "$mtuOpenConnect" ] && [[ "$mtuOpenConnect" =~ ^-?[0-9]+$ ]] && [ "$mtuOpenConnect" -lt 1500 ] && [ "$mtuOpenConnect" -gt 1200 ] ; then echo "--mtu $mtuOpenConnect \\ " ; fi)
$(if [ -n "$proxyOpenConnect" ] ; then echo "--libproxy --proxy-auth=HTTP --proxy=http://${proxyOpenConnect} \\ " ; fi)
--passwd-on-stdin --protocol=anyconnect \
https://${hostOpenConnect} > /dev/null 2>&1
fi
else
echo "Хост, логин и пароль не могут быть пустыми"
fi
exit 0