FakeHTTP - 伪装 TCP 连接为 HTTP,解除白名单限速

143 天前
 mikewang

FakeHTTP

https://github.com/MikeWang000000/FakeHTTP


原理:

在 TCP 三次握手之后,立即发送一个 HTTP GET 请求,Host 为指定域名。使用 NFQUEUE 实现。


相关帖子:


命令(需要 sudo ):

fakehttp -h www.example.com -i eth0

特点:

因为 nf_deaf 是内核模块,需要手动编译,有一定使用门槛。FakeHTTP 选择使用 iptables + NFQUEUE 方案,使用 musl 静态编译,通用全部主流 Linux 发行版。

一些说明:


特别说明:

首次使用 FakeHTTP ,请不要远程操作。若使用不当,可能造成远程机器断网。


备注:

目前因为 NAT 规则还没有适配,仅支持本机解除限速。后续会支持下游机器。

25637 次点击
所在节点    宽带症候群
175 条回复
a9k1n9
140 天前
手机端实行起来太麻烦了,主要是 iptables connbytes 模块。
shiyunjin
140 天前
会加上原生 nft 支持吗?
mikewang
140 天前
#81 @a9k1n9 connbytes 是我最近才加上的,其实不重要,后面我打算直接忽略报错。

#82 @shiyunjin 会加上的。(其实如果谁会用 iptables-translate 工具翻译一下,帮我提个 PR 就好了)最近先修 bug ,修完加上 nft 和 ipv6
chord
140 天前
@mikewang 会不会考虑支持 WINDOWS 系统?
tenwx
140 天前
@FastAce 我也想到了这个,感觉可行
mikewang
140 天前
@chord #84 FakeHTTP 基于 NFQUEUE 编写,是和 Linux 内核高度绑定的。
zzyyzz
139 天前
湖南电信有用,不开启前 iperf 上传到阿里云服务器,限速在 20Mbps 。
开启后,恢复到 50Mbps 。

以下为实验,按顺序操作:
1.阿里云服务器开启 iperf3 5201 端口;
2.关闭 fakehttp ,上传 20Mbps ;
3.开启 fakehttp ,上传 50Mbps ;
4.关闭 fakehttp ,上传 50Mbps ;
5.阿里云服务器开启 iperf3 8085 端口;
6.关闭 fakehttp ,上传 20Mbps ;
7.阿里云服务器开启 iperf3 5201 端口;
8.关闭 fakehttp ,上传 50Mbps ;
9.开启 fakehttp ,上传 50Mbps ;

可以得出结论,湖南电信应该是目的 ip+目的端口白名单模式,什么时候从白名单移出未知;
湖南其余运营商我名下宽带暂未限速。
colinzhao
139 天前
在 openwrt 上运行,如果同时跑着 clash 会有冲突吗
godymho
139 天前
@1423 为什么你这个头像要明显亮一点,hdr 吗
slowman
139 天前
@godymho 本站搜索 hdr 头像 有答案
mikewang
139 天前
@Lentin #67
更新一下,因为默认值 512 与 mwan3 的默认掩码冲突了(当时没发现),v0.9.5 之后,默认值改为 0x8000 ,65 楼回答作废,更新为 -j MARK --set-mark 0x8000 ,谢谢~

@colinzhao #88
理论上不应和任何其他工具发生冲突。如果出现报错或者其他问题,欢迎汇报。
laev
138 天前
@1423 被管理看到你要被 ban
c398425861
138 天前
manjaro 要装哪个包,报错
Fri Jun 6 20:37:41 2025 [main() - src/fakehttp.c:921] FakeHTTP version 0.9.6
Fri Jun 6 20:37:41 2025 [main() - src/fakehttp.c:1012] ERROR: nfq_create_queue(): Invalid argument (Missing kernel module?)
157003892
138 天前
让我想起了多年前用 openvpn 免流的日子
Mast
136 天前
希望大佬后期出个支持 OP 的面板
aa51513
135 天前
这难道不应该是一个客户端+一个服务端模式?
只运行客户端就行了?那添加的 http 伪装信息,我的 ssh server 怎么认识?
zyp38263547
135 天前
emmm,那用 routeros 还有机会玩吗。先把 syn,ack 包转发到 openwrt ,再由 openwrt 发伪装包,得考虑怎么跳过 nat 的问题。
thinsychen
135 天前
routerOS 主路由有什么好的方案?
wm5d8b
135 天前
浙江电信对于 http 照样白名单,试下来除了 Home Assistant 和 Synology 、Qnap 的页面,其他页面对外暴露,请求一次端口就封了
Lentin
135 天前
更新一下脚本 解决本地访问本地公网 IP 的 nat loopback 问题,crontab 五分钟执行一次
#!/bin/bash
PUBIP=$(curl -s http://ipv4.gdt.qq.com/get_client_ip) || exit 1
nft list chain ip mangle bypass | grep -q $PUBIP && exit 0
nft -f - <<EOF
flush table ip mangle
table ip mangle {
chain bypass {
type filter hook prerouting priority mangle -10; policy accept;
ip saddr $PUBIP meta mark set 0x8000
}
}
EOF

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1135702

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX