教你如何在Drcom下使用路由器上校园网(以广东工业大学、极路由1S HC5661A为例)
免责声明:
- 在根据本教程进行实际操作时,如因您操作失误导致出现的一切意外,包括但不限于路由器变砖、故障、数据丢失等情况,概不负责;
- 该技术仅供学习交流,请勿将此技术应用于任何商业行为,所产生的法律责任由您自行承担;
- 部分学校明令禁止使用路由器上网,相关文件请点击广东工业大学校园网责任书、厦门大学校园网责任书查看。本教程仅用于交流使用,安装路由器的行为完全是您个人意志所决定的,如您已成功安装,请在 24 小时内重置路由器至原出产状态;
- 请按照学校推荐的方式连接到互联网,如因个人问题受到相关校规追责,由您自行承担。
前言
本教程教您如何在Drcom下使用路由器上校园网(以广东工业大学、极路由1S HC5661A为例)
本教程适合使用Drcom进行拨号上网的用户,同时,要求您的路由器支持刷入第三方系统,如openwrt。由于是针对新手的教程,所以叙述部分可能会比较冗杂,您可自行跳到不同的章节。
本教程以极路由1S HC5661A为例,不同型号路由器所对应的教程略有不同,请您注意。
本教程非原创,在以下开发者的基础上进行改进:
准备工作
- 一款支持刷入第三方系统(openwrt)的路由器
- 该路由器已联网并获得开发者(root)权限
- 一根网线
- 下载软件WinSCP
- 下载软件putty,32位操作系统请下载putty32,64位系统请下载putty64
步骤一:获取路由器root权限
以极路由1S HC5661A为例,在您购买满14天后,请先登录极路由器后台,然后依次开通、安装开发者插件
- [x] 开通开发者模式:“云插件”>“路由器信息”>“高级设置”>“开通”
- [x] 安装开发者插件:“云插件”>“全部插件”>“开发者模式”>”确定”
其他路由器可查看其他教程获取root权限。
步骤二:刷入不死Breed
下载Breed
Breed是一个路由器的Bootloader(Bootloader 意为引导加载器,即为用于加载操作系统的程序。它是一大类此类功能程序的统称。现在的 BIOS、UEFI、GRUB、RedBoot、U-Boot、CFE等都是 Bootloader),装它的目的是为了下一步刷入固件(ROM)。以极路由1S HC5661A为例,不同型号下载不同的Breed,请务必对号入座,下载breed-mt7628-hiwifi-hc5661a.bin
上传到指定目录
使用WinSCP登入你的路由器后台,其中:
主机名:你的后台管理地址(比如192.168.1或者192.168.1.199)
账号:root
密码 :你的后台管理密码
端口:1022或者22(自行测试)
模式:SCP

登陆成功后进入/tmp目录,将刚才下载的breed-mt7628-hiwifi-hc5661a.bin上传到这个目录
刷入Breed
使用putty64登入你的路由器后台,主机名、账号、密码、端口均与上述相同,登入成功后键入以下命令
mtd -r write /tmp/breed-mt7628-hiwifi-hc5661a.bin u-boot

显示rebooting后等待路由重启完成,不死uboot就完成了刷入了。(注意,为了确定百分百刷入成功,建议此时什么都不要动,等待5分钟后再进行其他操作)
步骤三:刷入OpenWrt 系统固件
下载对应的OpenWrt 系统固件
键入以下命令查看路由器CPU的型号,以确定我们要刷什么版本的固件
cat /proc/cpuinfo
点击这里OpenWrt Downloads下载对应型号的OpenWrt固件,以极路由1S HC5661A为例,点击下载openwrt-18.06.2-ramips-mt76x8-hc5661a-squashfs-sysupgrade.bin
如下图:

开始刷入OpenWrt固件
本小节的步骤请严格按照先后顺序操作。
- 用网线让路由器的LAN口与电脑的网口相连接;
- PC设置为自动获取IP(一般默认自动获取IP);
- 路由器断电(就是拔插头);
- 首先按住reset不放!,确保没有松开reset键后,然后,插入路由器电源;
- 保持按住reset 3-4秒左右,路由器灯开始一闪一闪的时候,松开reset;
- PC网卡获取到192.168.1.x的地址 (如未获取到手工设置),一般是192.168.1.1 ;
- 浏览器访问 192.168.1.1,接着你就会看到一个uboot控制台的界面。
为了保险起见,首先进行固件备份,以备不时之需。严重强烈建议极路由用户刷Breed后,第一次进入后台就备份一次,这样以后想要重新刷回官方系统时原有功能不会受到影响,仍然能够访问云平台。

现在正是开始刷入OpenWrt固件,依次点击固件更新→勾选固件→点击选择文件,选择我们刚刚下载的openwrt-18.06.2-ramips-mt76x8-hc5661a-squashfs-sysupgrade.bin,然后耐心等待固件刷入完成。


安装完成后会自动重启,这时可以不断刷新浏览器,直到管理界面显示出来,如果没有显示,建议稍后使用192.168.1.1访问管理页面。
账号:root
密码:默认为admin

步骤四:安装Dr.com插件
这里以广工(广东工业大学)校园网为例,其他学校请自行获得相应的Dr.com插件,如果您愿意折腾的话,可以点击这里自行编译合适自己的学校的Dr.com插件(需要较强的编程基础,建议还是找现成的)
以下是广工(广东工业大学)校园网各个路由器相应版本Dr.com插件下载
| 路由器版本 | 下载链接 |
|---|---|
| GDUT-极路由HC5661、HC5761和HC5861 | 下载链接 |
| GDUT-极路由HC5661A和HC5861B | 下载链接 |
| GDUT-极路由HC5962 | 下载链接 |
| GDUT-极路由HC6361 | 下载链接 |
| GDUT-斐讯K2T | 下载链接 |
| GDUT-斐讯K2P | 下载链接 |
| GDUT-斐讯K1-PSG1208、K2-PSG1218和K2G | 下载链接 |
| GDUT-ramips-rt305x | 下载链接 |
说明:由于路由器版本太多,若您在上面没有找到对应的路由器型号,建议选择自己编译(难度很低)
将下载的Dr.com插件用WinSCP传到路由器/tmp文件夹下(WinSCP的使用方式上面已经阐述过)。
打开并登录putty,进行安装Dr.com,请键入以下命令:
cd /tmp
opkg install gdut-drcom_6.0-4_mipsel_24kc.ipk
至此,Dr.com插件安装完毕。
对于没有上述对应型号路由器的广工(广东工业大学)同学,可进行以下步骤进行编译生成自己的Dr.com插件.
1.首先路由器CPU的型号,键入以下命令查看cat /proc/cpuinfo
2.然后进入OpenWrt 18.06,根据自己路由器的路由器型号进入相应的网站,以极路由HC5661A为例,进入ramips/mt76x8,找到openwrt-sdk-18.06.0-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64.tar.xz并下载
3.在linux系统下(建议debian或者ubuntu,不建议centos),键入以下命令:
#本教程在 Debian 8.9系统下完成的
#先更新包列表
sudo apt-get update
#安装ncurses,不同Linux版本执行不同命令
#Debian/Ubuntu 执行下面这1条命令,2选1
sudo apt-get install libncurses5-dev libncursesw5-dev
#CentOS 执行下面这条命令,2选1
yum install ncurses-devel ncurses
#再次更新包列表
sudo apt-get update
#安装awk,执行过程中有任何提示,请输入Y确认
sudo apt-get install gawk
#安装git,执行过程中有任何提示,请输入Y确认
sudo apt-get install git
#在home目录下完成我们的工作,最好不要在root下
cd /home
#在线下载我们的openwrt-sdk,这一步网络比较慢,下载可能比较久
#如果你想加快速度,则请从其他电脑*fan*qiang*下载完成后传输到这个位置(/home)
wget https://archive.openwrt.org/releases/18.06.0/targets/ramips/mt76x8/openwrt-sdk-18.06.0-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64.tar.xz
#解压我们刚刚下载的openwrt-sdk,假设这个压缩包已经放在/home目录下了
tar xvJf openwrt-sdk-18.06.0-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64.tar.xz
#进入该文件夹
cd openwrt-sdk-18.06.0-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64
#生成key-build文件,这里不解释,有兴趣的可以自己去搜搜
./staging_dir/host/bin/usign -G -s ./key-build -p ./key-build.pub -c "Local build key"
#再进入package文件夹,并下载drcom ODP文件夹
cd package && git clone https://github.com/GJXS1980/ODP.git
#返回上层目录,也就是为了回到openwrt-sdk这个目录
cd ..
#开始编译
make package/ODP/compile
#编译到最后的时候,会弹出一个框
#首先,通过移动键盘左右键,移到SAVE,然后按下回车键,接着再按下回车键选择OK,再次按下回车键选择Exit
#最后,通过移动键盘左右键,移到Exit,按下回车键确认。
#等待几秒钟编译完成
#最终生成的yyy.ipk文件的位置为我们所下载的openwrt-sdk目录下的bin/packages/xxx/base/yyy.ipk

4.最终生成的yyy.ipk文件的位置为我们所下载的openwrt-sdk目录下的bin/packages/xxx/base/yyy.ipk,到这里你也有一个适合自己路由器的drcom插件了,回到步骤四安装Dr.com客户端
步骤五:配置上网
1.点击 Network(网络)-> Interfaces(接口),点击“WAN”对应的 Edit(编辑) 按钮。
- Protocol(通信协议):改选为
PPPoE,然后点击出现的 Switch Protocol(切换协议)按钮。 - PAP/CHAP username(PAP/CHAP 用户名):学号
- PAP/CHAP password(PAP/CHAP 密码):校园网密码
点击 Save & Apply(保存并应用)。这时,路由器本身和有线网已经可以上网了。
2.点击 Network -> Wireless(无线)。如果提示 Disabled(已禁用)就点击 Enable(启用)。可能只有一个 2.4G 的,也可能有一个 2.4G 的、一个 5G 的。点 2.4G 的 Edit(编辑) 按钮。
- ESSID:填 WiFi 的名字。
3.点击 Wireless Security(无线安全)
Encryption(加密):改选为
WPA2-PSKKey(密码):填 WiFi 密码
点击 Save & Apply(保存并应用)
这时,WiFi 就可以正常联网啦。
4.配置dr.com客户端,这里以广工(广东工业大学)为例,进行如下配置:
- 点击 Network(网络)-> Interfaces(接口),查看LAN的MAC地址并复制

修改Dr.com客户端的配置

配置完成后,重启路由器,耐心等待若干分钟(15分钟内),查看是否拨号成功。

步骤六:配置防代理检测
同步时间
NTP 就是用来同步两台电脑上的时钟的协议。接下来先启用 OpenWrt 自带的 NTP 服务器,然后将局域网内所有时钟校正的请求都发给路由器上的 NTP 服务器(也就是说,无视局域网内的电脑原本想要和哪台服务器同步时间,而强制将路由器上的时钟作为标准),这样局域网内所有的电脑上的时间都会变得一致。
点击 System(系统)->System(系统),只需要在管理页面中修改几个设置就可以了。
配置 NTP 服务。点击 System -> System。
勾选 Enable NTP client(启用 NTP 客户端)和 Provide NTP server(作为 NTP 服务器提供服务)。
NTP server candidates(候选 NTP 服务器)四个框框分别填写
cn.pool.ntp.org、pool.ntp.org、time.apple.com。
点击 Save & Apply 按钮。
配置防火墙转发。点击 Network -> Firewall(防火墙),然后点击 Custom Rules 标签,在大框框里另起一行,添加下面的代码:
iptables -t nat -N ntp_force_local
iptables -t nat -I PREROUTING -p udp --dport 123 -j ntp_force_local
iptables -t nat -A ntp_force_local -d 0.0.0.0/8 -j RETURN
iptables -t nat -A ntp_force_local -d 127.0.0.0/8 -j RETURN
iptables -t nat -A ntp_force_local -d 192.168.0.0/16 -j RETURN
iptables -t nat -A ntp_force_local -s 192.168.0.0/16 -j DNAT --to-destination 192.168.1.1
第六行最后的
192.168.1.1需要修改为你的路由器的管理页面地址。例如,你的管理页面地址是192.168.10.1,那么这一行代码需要修改为:iptables -t nat -A ntp_force_local -s 192.168.0.0/16 -j DNAT --to-destination 192.168.10.1
然后点击 Restart Firewall(重启防火墙)。

修改 HTTP 头的 UA标志
UA 中包含了操作系统版本等信息,而 HTTP 协议没有对这些信息加密,因此别人可以从这里看到这个数据包发自 Windows 电脑还是安卓手机等(所以根据这个原理,能够实现检测到超过1台设备立即强制断网的效果)。接下来把所有 HTTP 头中的 UA 都改得一样(伪装成只有一台设备,所以就不会被强制断网了)。
接下来,需要安装好 Privoxy 并正确配置,然后将所有 HTTP 流量转发给 Privoxy 代理,并在 Privoxy 中替换 UA。
安装 Privoxy。进入路由器管理页面,点击 System(系统) -> Software(软件包)。
- 点击 Update lists(刷新列表)按钮,等待几分钟。如果提示好几条“Signature check passed”那么这一步执行成功;如果卡死了,几分钟后再进入这个页面,看到了很长很长的软件列表,那也是成功了。
- 在 Filter(过滤器)中填写
luci-app-privoxy,点击 Find package(查找软件包)按钮。点击下方“luci-app-privoxy”对应的 Install(安装)按钮。如果提示好几条“Configuring xxxx”,那么就是执行成功了;如果卡死后再进入管理页面,看到有一个 Services(服务)菜单,菜单里有 Privoxy WEB proxy(Privoxy 网络代理),那也是成功了。

配置 Privoxy 设置。点击 Services -> Privoxy WEB proxy。
- Files and Directories(文件和目录):Action Files 删除到只剩一个框,填入
match-all.action。Filter files 和 Trust files 均留空。 - Access Control(访问控制):Listen addresses 填写
0.0.0.0:8118,Permit access 填写192.168.0.0/16。Enable action file editor 勾选。 - Miscellaneous(杂项):Accept intercepted requests 勾选。
- Logging(日志):全部取消勾选。
- Files and Directories(文件和目录):Action Files 删除到只剩一个框,填入
点击 Save & Apply。





配置防火墙转发。点击 Network -> Firewall(防火墙),然后点击 Custom Rules 标签,在大框框里另起一行(注意,之前已经添加了6行代码,不要把刚刚添加的几行代码给删除了),添加下面的代码:
iptables -t nat -N http_ua_drop
iptables -t nat -I PREROUTING -p tcp --dport 80 -j http_ua_drop
iptables -t nat -A http_ua_drop -m mark --mark 1/1 -j RETURN
iptables -t nat -A http_ua_drop -d 0.0.0.0/8 -j RETURN
iptables -t nat -A http_ua_drop -d 127.0.0.0/8 -j RETURN
iptables -t nat -A http_ua_drop -d 192.168.0.0/16 -j RETURN
iptables -t nat -A http_ua_drop -p tcp -j REDIRECT --to-port 8118
点击 Restart Firewall(重启防火墙)按钮。

使用 Privoxy 替换 UA。打开
http://config.privoxy.org/edit-actions-list?f=0,如果打不开,请重启路由器多测试几遍。点击 Edit 按钮。在Action 那一列中,hide-user-agent 改选为 Enable(绿色),在右侧 User Agent string to send 框中填写以下内容:Privoxy 3.0.26
其它全部选择为 No Change (紫色)。最后点击 Submit 按钮,再次重启路由器


验证防检测效果。
手机连接到该路由器的WIFI,使用手机(注意关闭为屁嗯后再测试)在浏览器打开
http://www.atool.org/useragent.php,查看结果是否为Windows NT 6.3,而不是android或者iphone。注意关闭为屁嗯后再测试!注意关闭为屁嗯后再测试!注意关闭为屁嗯后再测试!




设置定时重启
由于使用了Privoxy代理,会使得所有的http流量均被转发到Privoxy,时间一旧,网络会变成异常慢。为了保证良好的网络,可以每天凌晨让路由器自动重启一遍以恢复路由器系统响应速度。
打开以下页面,键入以下代码(具体时间可自行更改):
40 2 * * * sleep 5 && touch /etc/banner && reboot //每天凌晨2点40分路由器自动重启
40 4 * * * sleep 5 && touch /etc/banner && reboot //每天凌晨4点40分路由器自动重启
40 6 * * * sleep 5 && touch /etc/banner && reboot //每天凌晨6点40分路由器自动重启

提交后,然后打开以下页面,重启cron服务

至此,所有步骤均已配置完毕,可以安心上网了。
补充
完整版请点击这里打开GitHub项目地址
项目持续更新,欢迎您star本项目
License
教你如何在Drcom下使用路由器上校园网(以广东工业大学、极路由1S HC5661A为例)的更多相关文章
- 一步一步教你如何在linux下配置apache+tomcat(转)
一步一步教你如何在linux下配置apache+tomcat 一.安装前准备. 1. 所有组件都安装到/usr/local/e789目录下 2. 解压缩命令:tar —vxzf 文件名(. ...
- MIPS(极路由1s[mt7620a])平台OpenWrt路由器系统内的Go应用程序开发
起因,由于coolpy5核心转换到go语言开发,所以目前超人正在进行相关的技术攻关,在程序编写方面一切都相对顺利.由于coolpy5是一个真正的商业级性能的系统也考滤到coolpy之前的版本已经确定的 ...
- 手把手教你如何在Windows下allure与jenkins的集成生成让你一见钟情的测试报告 - 03(非常详细,非常实用)
简介 好了,国庆假期结束,开始搬砖.为什么要把allure和jenkins集成了?原因是集成以后,我们就可以直接查看allure的结果,不需要重复输入命令.重复使用浏览器打开文件来查看allure的结 ...
- 教你如何在linux下查看服务是否已经启动或者关闭
1. # ps aux | grep 服务名称(ps 的参数是可以颠倒使用没问题) 2. # netstat -tunple | grep 服务端口 3.bind() 80 in using 代表的含 ...
- 手把手教你如何在window下将jenkins+allure集成生成的测试报告通过jenkins配置邮箱自动发送-04(非常详细,非常实用)
简介 上一篇生成测试报告,小伙伴们和童鞋们就又问道,测试报告已经生成了,怎么发送给相关的负责人了?小伙伴们和童鞋们不要着急,听宏哥慢慢给你道来,心急吃不了热豆腐哈.今天这篇文章宏哥就给小伙伴和童鞋们来 ...
- 如何在Eclipse下安装SVN插件——subclipse
如何在Eclipse下安装SVN插件——subclipse | 浏览:2799 | 更新:2014-09-20 22:39 1 2 3 4 5 6 分步阅读 版本控制是开发人员必不可少的工具,而SVN ...
- 教你如何在Kali Linux 环境下设置蜜罐?
导读 Pentbox是一个包含了许多可以使渗透测试工作变得简单流程化的工具的安全套件.它是用Ruby编写并且面向GNU/Linux,同时也支持Windows.MacOS和其它任何安装有Ruby的系统. ...
- PHP字符串中的变量解析(+教你如何在PHP字符串中加入变量)
定义字符串的时候,用单引号或者双引号都是可以的.我个人习惯是用双引号.在输出字符串的时候,若字符串中含有字符串变量,使用单引号和双引号则是有区别的.如下面程序: 1 2 3 4 5 6 7 8 < ...
- 教您如何在Word的mathtype加载项中修改章节号
在MathType数学公式编辑器中,公式编号共有五部分内容:分别是章编号(Chapter Number).节编号(Section Number).公式编号(Equation Number).括号(En ...
随机推荐
- Git分布式版本控制器安装注意点及其常用命令
将git按照默认选项下载安装后,打开git bach版面进行git命令行操作(记住在安装的过程中文件夹中不能存在中文):注:Windows下,路径名不要包含中文,因为Git对中文支持不给力,可能会存在 ...
- 从零开始搭建运维体系 - ansible
从零开始搭建运维体系 - ansible 基本配置好了局域网内的机器后,第一个遇到的问题就是如何批量操作这么多台机器,ansible就是这么一个自动化运维工具. ansible是一个基于ssh的批量远 ...
- .net core 使用IIS作为宿主Web服务器,部署常见问题
ASP.NET Core 使用IIS作为Web服务器,部署在IIS上 所做的步骤部署完毕后,启动网站 出现 An error occurred while starting the applicati ...
- 关于ApiCloud的Superwebview在androidstudio中集成微信支付模块,提示模块未绑定的问题
前两天ApiCloud项目集成了微信支付模块,android端今天也将ApiCloud官方的uzWxPay.jar集成了.在编译玩测试的时候提示wxPay模块为绑定!我的项目是使用ApiCloud推出 ...
- kubernetes系列09—Ingress控制器详解
本文收录在容器技术学习系列文章总目录 1.认识Ingress 1.1 什么是Ingress? 通常情况下,service和pod仅可在集群内部网络中通过IP地址访问.所有到达边界路由器的流量或被丢弃或 ...
- SLAM+语音机器人DIY系列:(七)语音交互与自然语言处理——1.语音交互相关技术
摘要 这一章将进入机器人语音交互的学习,让机器人能跟人进行语音对话交流.这是一件很酷的事情,本章将涉及到语音识别.语音合成.自然语言处理方面的知识.本章内容: 1.语音交互相关技术 2.机器人语音交互 ...
- 前端javascript如何阻止按下退格键页面回退 但 不阻止文本框使用退格键删除文本
这段代码可以: document.onkeydown = function (e) { e.stopPropagation(); // 阻止事件冒泡传递 e.preventDefault(); // ...
- phpstorm:如何设置代码自动换行
File->Settings->Editor 点击general,如下如所示: 勾选 “ Use soft wrap in editor ” ,这样就可以自动换行了
- vue 日期时间过滤器
来自:https://blog.csdn.net/m0_37068028/article/details/72898154 侵删 来自:https://segmentfault.com/a/11900 ...
- 轨迹系列4——WebGIS中使用ZRender实现轨迹前端动态播放特效
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在地图上以时间轴方式播放人员.车辆在地图上的历史行进 ...