| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/bin/sh
- # Configuration
- LOG_FILE="/var/log/vpn_check.log"
- VPN_SERVICE="vpnc@fb"
- ROUTER_IP="192.168.178.1"
- VPN_CHECK_URL="https://tbsgl.xyz/vpn"
- RESTART_CHECK_URL="https://tbsgl.xyz/restart"
- # Log function
- log() {
- now=$(date)
- echo "${now} - $1" | tee -a ${LOG_FILE}
- }
- # Check URL function
- check_url() {
- curl -sI $1 | grep "HTTP/2 200" > /dev/null
- return $?
- }
- # Check VPN Connectivity
- check_vpn_connectivity() {
- ping -c 1 ${ROUTER_IP} | grep "64 bytes from" > /dev/null
- if [ $? != 0 ]; then
- systemctl restart ${VPN_SERVICE} > /dev/null
- log "Ping not successful - Restarting VPN"
- else
- log "Ping reached router, doing nothing"
- fi
- }
- # Main
- log "Running Check"
- # Check if VPN-On Flag is set
- if check_url ${VPN_CHECK_URL}; then
- check_vpn_connectivity
- else
- systemctl stop ${VPN_SERVICE}
- log "VPN Flag seems to be disabled or no Internet, stopping service"
- fi
- # Additional Functionality: Check for Restart Condition
- if check_url ${RESTART_CHECK_URL}; then
- log "Restart condition met - Restarting device"
- reboot now
- fi
|