#!/bin/sh
SEC=wan
[ "x$ACTION" = "xifup" ] || exit 0
[ "x$INTERFACE" = "x$SEC" ] || exit 0
[ "x$(uci -q get network.$SEC.proto)" = "x3g" ] || exit 0
[ "x$(uci -q get network.$SEC.apn)" = "xdarmowy" ] || exit 0
. /lib/functions/network.sh
network_get_ipaddr ip $SEC
IP=$ip
IP=${IP:0:3}
[ "x$IP" = "x10." ] || exit
logger -t $0 "Sprawdzanie poprawnosci wpisanego kodu..."
FORM=/tmp/form.content
CNT=0
while true; do
((echo -e "POST / HTTP/1.1\r\nHost: bdi.free.aero2.net.pl:8080\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 13\r\n\r\nviewForm=true" | nc bdi.free.aero2.net.pl 8080 > $FORM ) & sleep 2 && kill $! 2> /dev/null && exit 1 || exit 0)
RET=$?
if [ $RET -eq 0 ]; then
if grep -q "ponownie połącz się z Internetem" $FORM; then
logger -t $0 "...kod poprawny, restart polaczenia wan."
rm $FORM
ifup wan
exit
fi
else
CNT=$((CNT+1))
fi
[ $CNT -qe 600 ] && exit
sleep 1
done
exit
Jeszcze chyba to ma być zamienione ifup wan na ifup $SEC
Tylko jeszcze jedno mnie męczy czy da się tak zrobić aby wan-a nie sprawdzał tylko apn i proto... Aby całkowicie to zautomatyzować.
Bo męczę się z mwan3 z dwoma łączami aero2 ma wan2 a wan1 główne, ale to w innym poście...