在 OpenWrt 上修改 HTTP 流量的 UA
Go to file
2019-10-10 23:13:22 +08:00
src 增加mark匹配警告 完善模块协议等信息 2019-10-10 23:13:22 +08:00
LICENSE Initial commit 2018-12-24 15:42:12 +08:00
Makefile 增加mark匹配警告 完善模块协议等信息 2019-10-10 23:13:22 +08:00
README.md 增加offload说明 修改mark位点 2019-09-20 12:05:36 +08:00

喵喵喵,这里是一个修改 UA 的小模块。细致地讲,就是用在 OpenWrt 上修改发给外网 80 端口 GET 和 POST 请求的 UA 字段 为XMURP/1.0再加很多个空格的内核模块,用来防止学校检测到使用代理(接路由器)。具体情况,百度“厦大路由”然后看我的简书文章就好了。在 WNDR4300 OpenWrt 18.06.1(内核 4.9.120)测试似乎没问题。前两天还适配了一下 4.14的内核。

如果有一些包不希望被改 UA只要在防火墙规则里将 MARK 的第九位设置为 1 就可以了。例如:

iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 80 -m mac --mac-source f8:94:c2:85:e8:14 -j MARK --set-xmark 0x100/0x100

在之前的版本中,使用的是 0x1/0x1 位,但是与 luci-app-shadowsocks 冲突,所以改到了 0x100/0x100

另外,不要在 luci 中启用 flow offloading流量分载即 nat 加速),否则这个模块会失效。可以通过下面的命令(二选一,不需要两句都写)来对不需要这个模块的流量启用。

iptables -t filter -I FORWARD -p tcp ! --dport 80 -m conntrack --ctstate RELATED,ESTABLISHED -j FLOWOFFLOAD --hw
iptables -t filter -I FORWARD -p tcp ! --dport 80 -m conntrack --ctstate RELATED,ESTABLISHED -j FLOWOFFLOAD

两句的区别的话,大概是前者用硬件,后者用软件。具体的东西我也不熟悉。