浙江电信闪讯无痛自动上网方案@150411
2015-03-26 tech

折腾才是乐趣,本方案适用于懒癌晚期,但是有折腾兴趣的小伙伴们。
和传统的方案比,这个有什么优点:

每次路由器启动就会自动拨号连上闪讯了,不需要再手工蛋疼用拨号器,可以多台设备连接路由器使用。

首先,你要有一台能刷openwrt的路由器,便宜点的,贵点的都有,价格从几十元到数百元不等。
然后,记得微信关注杭州电信微校园,绑定你自己的闪讯帐号,以后闪讯密码再也不会变了(谁用谁知道!)
建议刷http://www.right.com.cn/forum/thread-146171-1-1.html固件,当然其他openwrt固件也没有问题,刷固件之前注意路由自带flash大小是不是够用,要不然刷成砖LZ不负责。「插一句嘴:这固件还带科学上网三套件,还能用来科学上网。。。(前提:你得拥有一个ShadowSocks服务)嗯嗯,我可不会乱说的,不多说了,懂的人自然懂。」
刷完之后,进openwrt的Luci设定一下密码(192.168.1.1),然后把WAN口的连接方式切换成PPPOE,然后填写好帐号密码保存。
然后下载我编译好的so文件

所有版本的都在里面了 https://mega.nz/#F!fFMQQZLR!YJpmfCCEaMivxxF_FM5Bvg

(其他方案的路由用户请参考http://www.hans-dev.com/other/openwrt-shanxun.html进行编译,编译之前记得把C源码中的zjxinlis01替换成singlenet01,如果没有相应编译环境的,请留下你的具体路由型号,我来帮忙编译,不过按理来说上面两种已经基本覆盖了所有路由器了,优先实验MIPS方案,如果不可行再试MIPSEL,如果都不可行,请再回报你的路由器型号)
改完密码之后进行的操作:
1.OSX或者Linux系用户:

请开启终端管理,输入

scp sxplugin.so root@192.168.1.1:/usr/lib/pppd/2.4.7/

来上传扩展库到路由器上,然后

ssh root@192.168.1.1

连接路由器之后

vi /etc/config/network

在pppoe的密码后面再加上

option pppd_options 'plugin sxplugin.so'

然后进Luci界面重新拨号即可。

2.Windows用户:

搞个winscp连192.168.1.1,记得选择SCP协议,然后切换到/usr/lib/pppd/2.4.7/路径,上传sxplugin.so,然后切换到/etc/config/路径,编辑network文件,在PPPOE密码段下面加好

option pppd_options 'plugin sxplugin.so'

保存,然后进Luci界面重新拨号即可。

现在是无痛自动上网了,如果要科学上网,请参考 https://cokebar.info/archives/948 进行设置
暂时懒得截图了,后期补上详细图片过程

UPDATE:

闪讯加了心跳包,不过咱学校这里没开,稳定在线,这两天花了点时间研究心跳包这块的东西,正在搞shell脚本外加计划任务来定时发包,请各位耐心等待,几天之后公开脚本:)

UPDATE@20150411:

前几天懒癌发作了,今天回来接着研究,先说说我的进展,心跳包机制改了,原先的心跳包机制应该是没用了。我反编译了一个网上流传的apk,限于混淆和反编译不彻底,我只能大概了解新版本心跳的过程,但是还得进行几次抓包再对反编译的算法部分进行理解才能够进行脚本的编写。
至于我为什么不半个小时掉线一次,我分析了一遍,是因为我用的Mac版客户端登录,只要用Mac版拨号登录并且挂上15分钟发送心跳包,就会被标记为Mac版用户,然后就不会去验证心跳了,自然不会存在30分钟后准时掉线的问题了。所以先用Mac版登录一次挂15分钟,然后以后再用路由器拨号或者[其他民间版拨号器][8]拨号,就不会再掉线了。(拿了两个试验样本进行验证,想法无误,各位请自行尝试,尝试成功之后请不要公开声张,防止电信封杀该BUG。)
至于开头提到的固定密码的BUG,疑似电信那边已经修复了这个BUG,不过以前的用户不会受到影响,该固定的照样固定,新绑定的不会再固定了,残念。
最后,我想鄙视下那些靠闪讯破解赚钱的家伙,拿着原本一些人的成果,然后稍微改改就去卖钱,实在是无力吐槽,唉!