AC2100刷OpenWRT防检测固件实现校园网共享小白教程

2024春季学期,学校更换了校园网。采用锐捷+网页认证,同时限制2设备在线。这就很难受,因为除去一台电脑,一台手机,平板或者多的手机就不能上网。而用手机开热点的话太费电,发热,只好共享。同时网络上各种防检测教程已很完善,本文全文皆来自网络上教程,本人仅是整合记录,以及写一点小白易踩的坑。

网上过检测一般是采用ua2f或者ua3f+clash的方法,或者那种购买的刷好系统的aswifi,其实基本都大差不错,但后者的价格高且路由器的配置低,并不值得,因为别人刷好的原理也是一样的。

硬件:红米ac2100,区别小米

刷breed

来源:https://www.right.com.cn/forum/thread-4066963-1-1.html

降级固件

后台192.168.31.1->常用设置->系统状态->手动升级 加载固件,可以保留数据->开始升级

红米AC2100:http://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/rm2100/miwifi_rm2100_firmware_d6234_2.0.7.bin

小米AC2100:http://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/r2100/miwifi_r2100_firmware_4b519_2.0.722.bin

路由器wan口连上网络

将代码的=后替换为自己的stok,后输入浏览器打开即执行

20210116130906.png

20210125220622.png

坏块检测

http://192.168.31.1/cgi-bin/luci/;stok=CCCCCCCCCCC/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=%0A%5B%20-z%20%22%24(dmesg%20%7C%20grep%20ESMT)%22%20%5D%20%26%26%20B%3D%22Toshiba%22%20%7C%7C%20B%3D%22ESMT%22%0Auci%20set%20wireless.%24(uci%20show%20wireless%20%7C%20awk%20-F%20'.'%20'%2Fwl1%2F%20%7Bprint%20%242%7D').ssid%3D%22%24B%20%24(dmesg%20%7C%20awk%20'%2FBad%2F%20%7Bprint%20%245%7D')%22%0A%2Fetc%2Finit.d%2Fnetwork%20restart%0A

刷Breed

http://192.168.31.1/cgi-bin/luci/;stok=CCCCCCCCCCC/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=%0A%5B%20-z%20%22%24(dmesg%20%7C%20grep%20ESMT)%22%20%5D%20%26%26%20B%3D%22Toshiba%22%20%7C%7C%20B%3D%22ESMT%22%0Auci%20set%20wireless.%24(uci%20show%20wireless%20%7C%20awk%20-F%20'.'%20'%2Fwl1%2F%20%7Bprint%20%242%7D').ssid%3D%22%24B%20%24(dmesg%20%7C%20awk%20'%2FBad%2F%20%7Bprint%20%245%7D')%22%0A%2Fetc%2Finit.d%2Fnetwork%20restart%0A

如果路由器在60秒内重启则代表刷BREED成功(灯会从,最终变进入系统)
如果没重启,可能是stok过期了。进入后台复制新的stok即可。也有可能下载的BREED损坏,从新运行代码。也有可能没网络。

成功后拔掉电源,按住reset同时接上电源等10秒即可进入breed。

需要注意的是如果闪蓝灯那就是BREED。如果是闪橘灯那就是原厂UBOOT。
最后用进入浏览器,最好是隐身模式,输入192.168.1.1  ENTER.
刷完后可能无法进入原厂系统,进BREED删变量:normal_firmware_md5

2024.3.5 更新breed

不知道是不是因为原作者写的比较久远,breed已更新了好几个版本,但链接中下载的并不是新版的,所以需要到https://breed.hackpascal.net/ 下载新版的breed-mt7621-xiaomi-r3g.bin 手动刷入。进breed,刷写bl固件,选中并刷入,重启

刷openwrt

新版breed请先选择分区布局openwrt,然后先刷入

openwrt-ramips-mt7621-xiaomi_mi-router-ac2100-squashfs-kernel1

openwrt-ramips-mt7621-xiaomi_mi-router-ac2100-squashfs-rootfs0.bin

刷写成功后,系统内升级选

openlwrt-ramips-mt7621-xiaomi_mi-router-ac2100-squashfs-sysupgrade

恰好恩山论坛中有现成的编译好带有ua2f的固件,其实自己编译也不难,鄙人觉得其实应该叫选上插件保存文件。当然有现成的那就不瞎折腾了。https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8315729&highlight=ac2100

下载固件后刷入

防检测设置

原文:https://sunbk201public.notion.site/sunbk201public/OpenWrt-f59ae1a76741486092c27bc24dbadc59

相关:https://www.right.com.cn/forum/thread-8240757-1-1.html

- 进入 OpenWRT 系统设置, 勾选 Enable NTP client(启用 NTP 客户端)和 Provide NTP server(作为 NTP 服务器提供服务)

- NTP server candidates(候选 NTP 服务器)四个框框分别填写 ntp1.aliyun.com、`time1.cloud.tencent.com`、`stdtime.gov.hk` 、`pool.ntp.org`

UA2F配置

# 开机自启

uci set ua2f.enabled.enabled=1

# 自动配置防火墙(默认开启)(建议开启)

uci set ua2f.firewall.handle_fw=1

# 自动配置防火墙(默认开启)(建议开启)

uci set ua2f.firewall.handle_tls=1

# 自动配置防火墙(默认开启)(建议开启)

uci set ua2f.firewall.handle_mmtls=1

# 自动配置防火墙(默认开启)(建议开启)

uci set ua2f.firewall.handle_intranet=1

# 保存配置

uci commit ua2f

操作:# 开机自启

service ua2f enable

# 启动ua2f

service ua2f start

# 手动关闭ua2f

service ua2f stop

防火墙配置(对于不同校园网,需要微调一下,看作者原帖)

个人配置,适用于ZMU-ZH

iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53

iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53

# 通过 rkp-ipid 设置 IPID

# 若没有加入 rkp-ipid 模块,此部分不需要加入

iptables -t mangle -N IPID_MOD

iptables -t mangle -A FORWARD -j IPID_MOD

iptables -t mangle -A OUTPUT -j IPID_MOD

iptables -t mangle -A IPID_MOD -d 0.0.0.0/8 -j RETURN

iptables -t mangle -A IPID_MOD -d 127.0.0.0/8 -j RETURN

iptables -t mangle -A IPID_MOD -d 10.0.0.0/8 -j RETURN

iptables -t mangle -A IPID_MOD -d 172.16.0.0/12 -j RETURN

iptables -t mangle -A IPID_MOD -d 192.168.0.0/16 -j RETURN

iptables -t mangle -A IPID_MOD -d 255.0.0.0/8 -j RETURN

iptables -t mangle -A IPID_MOD -j MARK --set-xmark 0x10/0x10

# ua2f 改 UA

# ua2f 最新版本已实现自动配置,无需手动配置防火墙

iptables -t mangle -N ua2f

iptables -t mangle -A ua2f -d 10.0.0.0/8 -j RETURN

iptables -t mangle -A ua2f -d 127.0.0.0/8 -j RETURN

iptables -t mangle -A ua2f -p tcp --dport 80 -j CONNMARK --set-mark 44

iptables -t mangle -A ua2f -m set --set nohttp dst,dst -j RETURN

iptables -t mangle -A ua2f -j NFQUEUE --queue-num 10010

iptables -t mangle -A FORWARD -p tcp -m conntrack --ctdir ORIGINAL -j ua2f

iptables -t mangle -A FORWARD -p tcp -m conntrack --ctdir REPLY

# 防时钟偏移检测

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

# 通过 iptables 修改 TTL 值

iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64

# iptables 拒绝 AC 进行 Flash 检测(Flash 时代已成为历史)

iptables -I FORWARD -p tcp --sport 80 --tcp-flags ACK ACK -m string --algo bm --string " src=\"http://1.1.1." -j DROP

个人or网友使用经验:

使用防检测要关闭各种硬件加速,包括全锥型 NAT,BBR 拥塞控制算法等,原因个人无相关知识,无法考究