#!/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