我最终在创建两个不需要的文件的 DD-WRT 路由器上制作了这个脚本,我似乎无法理解为什么。我不是脚本天才,尤其是 bash,所以任何帮助将不胜感激。
#!/bin/sh
sleep 30
mkdir /tmp/myvpn; cd /tmp/myvpn
# ... doing stuff...
while [ 1 ]
do
r1=`wget -q http://ipinfo.io/ip` > /dev/null
r2=`$(wget -q "http://ipinfo.io/$r1/country")` > /dev/null
if [ $r2 -eq "XX" ]
then echo "XX OK" > /tmp/myvpn/result_check_vpn.txt
else
echo "XX NOK" > /tmp/myvpn/result_check_vpn.txt
killall -q openvpn
sleep 5
openvpn --config /tmp/openvpncl/openvpn.conf --route-up /tmp/myvpn/route-up.sh --down-pre /tmp/myvpn/route-down.sh --daemon
sleep 25
sh /proc/net/ip_conntrack_flush
fi
sleep 180
done
Run Code Online (Sandbox Code Playgroud)
该脚本在 /tmp/myvpn 中创建了两个不需要的文件,名为“country”和“ip”。我一定做错了什么。基本上,脚本尝试通过检查我是否有效地更改了国家/地区来检查 VPN 是否正确建立(我有必要执行此检查)。