环境要求:
*一个刷了OpenWRT/PandoraBox的路由器/官方固件的极路由
*putty和winscp(windows用户)
*我打包好的工具包:
大学城:下载(2017-10-24) 下载(2017-10-24 小米路由3)
龙洞:下载(新)
东风路: 下载(新)
步骤:
- 登陆路由器管理,进入智能插件(云平台),点击路由器信息,点击高级设置,开通开发者模式(会失去保修,你自己决定吧)
- 安装”开发者模式“插件
- 使用putty登陆路由器后台(windows)/通过ssh登陆后台(linux)端口为1022
- 使用winscp把下载好的工具包放到路由器的/tmp目录下
- 解压工具包
cd /tmp
tar -xzvf drcomshell.tar.gz
cd drcomshell/
- (这一步骤的脚本是一键配置脚本,可跳过直接进行步骤#7)这脚本是整合了接下来全部步骤,若成功执行则无需进行往后的步骤,但作者不推荐使用,由于整合了下面的操作,定位错误会相对困难。
chmod +x ./drcom-configure.sh
./drcom-configure.sh
cat /etc/rc.local
//检查自启文件是否按步骤#13的格式写入,否则进行步骤#13
- 安装libffi + python-mini环境,需要大概2.1~2.4M的空间,可以通过df -h查看剩余空间 (ipk包安装可能会出现兼容性问题,请浏览相关疑问中的解答)
opkg install *.ipk
-
若上一步安装失败,请重置路由腾出空间进行安装
-
修改pppoe拨号脚本的用户名转义字符的处理(由于drcom拨号时会在账号前加\r\n转义字符)
chmod +x ./pppoe-configure.sh
./pppoe-configure.sh
-
然后在路由器的上网方式设置为宽带拨号,用户名为\r\n+学号,密码为校园网密码
-
尝试拨号,尝试拨号的时间大概1~3分钟,出现已连接就进行下一步操作,否则查看拨号日志查找问题所在
-
然后配置drcom-generic脚本
cp ./drcom.conf /etc/drcom.conf
cp ./drcom /usr/bin/drcom
chmod +x /usr/bin/drcom
cp ./pppoe.sh /usr/bin/pppoe.sh
chmod +x /usr/bin/pppoe.sh
- 配置自启动脚本
vi /etc/rc.local
//在exit 0 前加入以下两行
sleep 15
pppoe.sh
//退出vi。操作是:按一下esc,按住shift+ZZ
- 进行以下配置以保证重拨后仍能自启动心跳脚本
cp ./99-drcom /etc/hotplug.d/iface/99-drcom
chmod +x /etc/hotplug.d/iface/99-drcom
- 配置到此完毕。重启路由器,观察路由器能否拨号成功并保持连接。(极路由官方固件的用户请关闭自动更新,避免更新导致配置失效)
相关疑问
$.假如拨号成功,但是定时断线。
A:进入路由器后台执行 pppoe.sh , 看看心跳脚本报什么错。然后到drcom-generic Github查看issue
$.假如环境安装失败。
A:查看空间是否足够安装环境
$.这脚本是否全通用,如何针对特殊情况修改配置
A:这个脚本是面向广工的。drcom.conf只测试过两栋宿舍楼,目测是全校通用。
若特殊配置可参考"p版简略使用和配置说明"对drcom.conf进行配置
外校可以修改你们本校定制的latest-pppoe.py改名为drcom放置到/usr/bin/中
$.掉线后重连,出现每隔一两分钟掉线一次的现象
A:由于我的脚本是基于原版Hiwifi系统进行的设置,在该系统中掉线重连唤醒的接口是“wan”,部分Openwrt唤醒的接口是“pppoe-wan”
看当前系统的外网接口是什么接口名可以通过vi /etc/config/network
看里面存在wan还是pppoe-wan(一般只存在任意一个) 然后进行配置
vi /etc/hotplug.d/iface/99-drcom //把当中的"${INTERFACE}" = "wan" //改成"${INTERFACE}" = "你在上一步看到的接口名"
$.脚本执行时出现NOT FOUND,如何解决
A:十分抱歉,由于工具包上一版本CRLF换行符的问题导致,建议对以下脚本文件使用vim打开并检查其中是否存在"^M"的特殊字符,删除特殊字符即可。并重新进行以上除了#7的步骤
99-drcom drcom.conf drcom_configure.sh pppoe.sh pppoe-configure.sh
或者下载最新工具包重新进行配置
$.如何鉴别是否整个流程配置成功
A:执行以下命令,假如出现python drcom则表示心跳脚本正常执行,否则就是配置有出错
ps | grep python
*$.在执行opkg install .ipk时,出现“pkghashfetchbestinstallation_candidate.....”
A:由于工具包中的ipk是对应极路由的CPU的。因此对于其他CPU的路由器可能会出现不兼容的情况。 因此可在相关资料中的"package
source"中下载对应自己路由器CPU的的python-mini、libffi的ipk包进行替换。
$.AR9XXX系列装什么IPK的包
A:AR9XXX系列装AR71XX,原因AR71XX指从AR7130开始的一系列兼容CPU,包含AR9XXX在内
或者可以查看openwrt官方ar71xx的通用固件包中搜索是否有自己的路由器型号:Openwrt Ar71xx 固件包列表
$.假如龙洞校区出现拨号成功,但是定时断线的情况
若使用龙洞版工具包出现每一两分钟掉线一次的话,可以尝试下载大学城版工具包,修改pppoe.sh和drcom.conf
把两个文件中的ip地址改为10.0.3.6 然后按照教程进行一次配置
$.AR71XX由于python-mini版本过低的问题
libffi_3.0.13-1下载
python-mini_2.7.3-2
zlib_1.2.8-1
libpthread_0.9.33.2
2017年10月24日16点22分
好了好了,我知道心跳包换了。(毕业班入校园网的坑
大学城的包我更新了,其他校区的有能力的同学可以抓包之后在贴吧分享一下,我会去整合。
以前刷过的同学,重做步骤 3、4、5、12 就好了 另外提供 小米路由3 的 一键脚本的包 (因为我自己入坑了小米路由3
(理论上是其他小米路由器都可以,不过包里面ipk 默认提供是MT7620A的。
(不过我是搞掂了我自己的路由器后才整合出的一键脚本,所以我只做了部分的测试,没完整地跑一遍这个脚本。
还有抓包教程,我想想怎么做才好。其实 p版简略使用和配置说明和Auto Configure 已经很清楚了。
2017年10月6日10点55分
哈哈哈,这么快这教程就一年了。
我准备迁移服务器所以可能暂时会访问不了,所以生成一个PDF。
2016年11月16日21:44:02
听说由于校园网心跳包又双叒叕改了。
但是我同学似乎还没告诉我旧的配置不行了。
所以我先保留旧的包下载链接,然后更新新的包下载链接
心跳包脚本来源于猫娘dalao。原贴链接:跳转
所以新配置用户请使用新的工具包
2016年11月10日09:34:56
@czh66888吧友提供了东风路的心跳包配置。
修正了大学城drcom文件中的中的错误。以及注释掉socket可重用的设置。
重新打包三个校区的工具包。
2016年11月8日13:16:23
有吧友反映在贴中提供的源对应AR71XX的IPK包相对旧
所以在相关疑问中新增了这个问题的解决方案和新增一个源的地址
2016年11月7日20:07:35
贴吧中喵娘dalao分享了11-7的心跳包脚本。
我经过10分钟测试后验证可行(大学城),由此更新了两个校区的工具包。
在此感谢喵娘dalao的分享。原帖地址:跳转
原本已配置过的可以下载新工具包只进行步骤#12即可
大学城有些楼的心跳包配置是\x2b,我提供的包中的的配置是\x6a,所以如果使用了工具包但依旧出现无限掉,可以尝试把drcom.conf中的\x6a改成\x2b
2016年11月7日18:15:13
由于广东工业大学的大学城校区和龙洞校区的心跳包加密方式进行了更改。
我已在Github上给Drcomgeneric的作者提交了issue。
由于本人是AD用户并非校园网用户,因此期望有能力的人能积极地参与到issue #148中讨论和测试Drcomgeneric作者提供的最新方案。
工具包的地址已全部撤下,等待心跳包的更新。
2016年11月7日17:06:06
听说大学城和龙洞心跳包大部分死了,但我同学没反应给我,所以我一个外网的人也没法测试。
2016年11月3日19:31:04
由于大部分龙洞同学反映,改自吧友提供的脚本的龙洞工具包无法正常收发心跳包
但使用大学城的工具包通过修改ip即可正常使用的情况。
由此教程贴提供第二个龙洞工具包的下载链接,本质就是大学城工具包修改了ip地址
过往的教程更新说明请看changelog。
2016年10月30日23:10:56
由于龙洞的版本我没办法测试。龙洞的脚本是根据龙洞吧友帖子提供的脚本去修改的。
目前不知道龙洞版工具包在龙洞是否普遍通用。
若使用龙洞版工具包出现每一两分钟掉线一次的话,可以尝试下载大学城版工具包,修改pppoe.sh和drcom.conf
把两个文件中的ip地址改为10.0.3.6 然后按照教程进行一次配置
2016年10月29日19:18:06
更新了一个龙洞的工具包,请根据校区去下载。龙洞心跳包配置来源:广工吧友@jexhen 帖子传送门
虽然我更新了龙洞的包,但改变不了我是大学城校区的事实,所以我没亲自测试过=_=,不过我还是信得过吧友提供的配置。
2016年10月14日12:56:02
根据评论的提醒,昨晚开始出现无法拨号的情况。大概原因是极路由昨晚推送了更新,导致之前的配置被覆盖。
请按照教程重新进行一次路由器的配置,并关闭路由器固件的自动更新,避免该情况再次发生。
步骤#13 增添了退出vi的操作方法
2016年10月13日16:56:41
根据评论,在步骤#6 #9添加赋予脚本可执行属性的命令,避免可能出现“permission denied”
修改了步骤#6的文字说明,由于#6一键脚本本人未执行过,不建议新手使用。同时也接纳各位技术dalao对#6一键脚本的修改建议。
2016年10月13日22:07:05
对AR9XXX系列的ipk包选择,在相关疑问中进行了解答
2016年10月12日00:11:00
真是不好意思,因为我是使用Win10 RS的bash进行操作,所以疏忽看导致脚本的换行符没从CRLF换成LF,导致出现运行脚本时提示 NOT
FOUND。 我已把工具包中的脚本更新重传了。 除了步骤#7其他按照步骤重新执行即可
2016年10月11日23:27:20
更新了工具包,修复了掉线后重连不会自动重新唤醒心跳包脚本的BUG(文件:99-drcom)
资料来源
drcom-generic Github
广东工业大学p版 #82
极路由 1s(HiWiFi) HC5661A 安装python环境和dr.com
p版简略使用和配置说明
关于P版的PPPoE拨号问题
极路由怎么申请开发者权限
怎么样实现VPN断线重拨时,自动执行以下语句
package source 1
package source 2
OP固件AR71XX 是不是包含AR9331也能刷?
OpenWrt 官方固件包列表
转载希望标明出处。