家里的宽带是联通的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兆不变了,嘿嘿:

comments powered by Disqus