家里的宽带是联通的ADSL,光纤10兆的。 每个月会赠送20小时的提速时间,从10兆提速到100兆。 但是想一直使用100兆啊,有没有什么好办法呢?
有的,原理就是模拟手机客户端里的那个提速按钮,不断刷新。奇怪的是联通居然不判断是否超时,所以就可以一直提速使用了。
首先改造路由器,家里用的是 tplink-wr941n ,先刷成openwrt,可以一线多拨,多拨带来的坏处是登录网上银行的时候会在多个线路中循环,可能导致多次登录,需要手动指定一些银行的固定路由。 所以还是老老实实用单拨吧。
然后在openwrt中编辑crontab,用这个脚本:
crontab:
*/10 * * * * /root/wk.sh
#!/bin/sh
refr() {
acc=100000000000
mac=$(cat /dev/urandom | sed 's/[^0-9A-F]\+//g' | awk -v ORS='' 1 | head -c12 | sed 's/../&-/g;s/.$//')
# mac=$(ruby -e 'puts 6.times.map {"%02x" % rand(256)}*"-"' | tr 'a-f' 'A-F')
reqsn=00TF$(date '+%Y%m%d%H%M')009262
comp=BFEBFBFF$(cat /dev/urandom | sed 's/[^0-9A-Z]\+//g' | awk -v ORS='' 1 | head -c18)
# comp=BFEBFBFF$(ruby -e "puts ([*'0'..'9']+[*'A'..'Z']).sample(18)*''")
inf=$(wget -O- "http://bj.wokuan.cn/web/startenrequest.php?ComputerMac=${mac}&ADSLTxt=${acc}&Type=3&reqsn=${reqsn}&oem=00&ComputerId=${comp}" 2>/dev/null | grep 'id="webcode"')
_acc=$(echo -n "$inf" | sed 's#.*&cn=\([^&]\+\)&.*#\1#g')
_rnd=$(echo -n "$inf" | sed 's#.*&random=\([^&<]\+\)[&<].*#\1#g')
_gus=$(echo -n "$inf" | sed 's#.*&gus=\([^&]\+\)&.*#\1#g')
_old=$(echo -n "$inf" | sed 's#.*&old=\([^&]\+\)&.*#\1#g')
_stu=$(echo -n "$inf" | sed 's#.*&stu=\([^&]\+\)&.*#\1#g')
# _acc=$(echo -n "$inf" | gsed 's#.*&cn=\([^&]\+\)&.*#\1#g')
# _rnd=$(echo -n "$inf" | gsed 's#.*&random=\([^&<]\+\)[&<].*#\1#g')
# _gus=$(echo -n "$inf" | gsed 's#.*&gus=\([^&]\+\)&.*#\1#g')
# _old=$(echo -n "$inf" | gsed 's#.*&old=\([^&]\+\)&.*#\1#g')
# _stu=$(echo -n "$inf" | gsed 's#.*&stu=\([^&]\+\)&.*#\1#g')
}
prt() {
echo "_acc: $_acc"
echo "_rnd: $_rnd"
echo "_gus: $_gus"
echo "_old: $_old"
echo "_stu: $_stu"
}
stop() {
wget -O- "http://bj.wokuan.cn/web/lowerspeed.php?ContractNo=${_acc}&round=${_rnd}" > /dev/null 2>&1
}
boo() {
wget -O- "http://bj.wokuan.cn/web/improvespeed.php?ContractNo=${_acc}&up=${_gus}&old=${_old}&round=${_rnd}" > /dev/null 2>&1
}
if [ "$1" = '-i' ]
then
refr
prt
elif [ "$1" = '-s' ]
then
refr
prt
stop
refr
prt
elif [ "$1" = '-b' ]
then
refr
prt
boo
refr
prt
else
refr
while :
do
if [ "$_stu" = 0 ]; then break; fi
stop
refr
sleep 2
done
refr
while :
do
if [ "$_stu" = 1 ]; then break; fi
boo
refr
sleep 2
done
fi
每10分钟执行一次。
然后用手机端打开沃宽,网速就一直保持在100兆不变了,嘿嘿: