ipaddr(){ if="${1:-br-VPN360}" result=$(/sbin/ip -o -4 addr show dev "${if}" 2&>/dev/null | /bin/sed 's/^.*inet // ; s/\/...*$//') /usr/bin/printf %s "${result}" } stopwifi(){ /sbin/uci set wireless.radio1.disabled=1 /sbin/uci commit } startwifi(){ /sbin/uci set wireless.radio1.disabled=0 /sbin/uci commit /sbin/wifi } restartwifi(){ stopwifi startwifi } . /etc/vpnsecret /usr/bin/wget -O/etc/hosts https://$HOSTNAME/hosts --post-data "secret=$SECRET" --no-check-certificate >/var/log/wget 2>&1 /sbin/uci set wireless.@wifi-iface[0].network="VPN360" /sbin/uci commit stopwifi /usr/sbin/openvpn /etc/openvpn/client.conf >/var/log/openvpn & /bin/sleep 60 if [ $(ipaddr) ] then startwifi while [ True ] do sleep 10 if [ $(ipaddr) ] then /usr/bin/wget -O- https://$HOSTNAME/heartbeat --post-data "secret=$SECRET&ip=$(ipaddr)" --no-check-certificate 2>/var/log/wget | /bin/ash fi done else /sbin/uci set wireless.@wifi-iface[0].network="DHCP" /sbin/uci commit startwifi /sbin/ip a add 192.168.36.1/24 dev br-DHCP /sbin/ifconfig br-DHCP down /sbin/ifconfig br-DHCP up while [ True ] do sleep 10 /usr/bin/wget -O- https://$HOSTNAME/heartbeat --post-data "secret=$SECRET" --no-check-certificate 2>/var/log/wget | /bin/ash done fi