Skip to content

什么时候支持透明代理呀? #2903

Description

@General110

Reqable S5 代理抓不到安卓手机流量 — 排查报告

日期:2026-08-28环境:PC 10.0.0.220(网关 10.0.0.1)运行 Reqable v3.2.23,监听 8889(SOCKS5/HTTP 多协议自动识别);手机连软路由 gen1 WiFi(10.5.1.99),gen1 代理指向 10.0.0.220:8889;同配置 Charles 能抓。

一、已验证的事实

验证项 结果
Reqable 8889 端口监听 正常(127.0.0.1 与 10.0.0.220 均可连)
SOCKS5 握手(裸 05 01 00 05 00,正常
HTTP CONNECT(CONNECT host:443 HTTP/1.1 200 Connection established,正常
HTTP 绝对 URI / 相对 URI 请求 均 200,正常
本机走代理出站 curl --socks5-hostname 127.0.0.1:8889 200,MITM/TLS 隧道正常
裸 TLS ClientHello 打 8889 0 字节响应,连接无限挂起(超时无回复)
8889 上的 ESTABLISHED 连接 约 270 条,全部来自 10.0.0.254(手机流量经软路由 NAT 后的源地址),远程端口不断变化
Reqable 抓包列表 只有软路由自身访问 10.0.0.1 的 HTTP(5198B)和本机探针,没有任何手机请求记录

二、根因(高置信度)

软路由 gen1 的“代理”是透明式 TCP 重定向(DNAT/防火墙 redirect),不是给手机下发标准 SOCKS5 代理:

  • 手机发 HTTPS 时,流量被软路由劫持、原样转发到 10.0.0.220:8889,第一个字节是 TLS ClientHello(16 03 01 …,不是 SOCKS5 握手(05 …)也不是 CONNECT 请求。
  • Reqable 的 8889 监听器只做“协议协商”式识别(SOCKS5/HTTP),没有透明代理/SNI 嗅探能力:收不到 05CONNECT,就永远等下一个字节 → 连接挂起。
  • 这就是为什么端口上积压了约 270 条来自 10.0.0.254 的挂起连接,而 Reqable 界面里一条请求都看不到。
  • Charles 能抓,是因为它的监听器对透明重定向/SNI 兼容(可从 ClientHello 的 SNI 提取目标域名再回源或重协商 MITM),或者历史上该软路由就是按 Charles 的工作方式配置的。

补充:10.0.0.1 同时是本机 cfw-tap 网卡的 Tentative IP(该网卡 Disconnected),且本机有多条默认路由竞争(Mihomo 198.18.0.2、以太网4 192.168.31.1 等),属于干扰项,但不是本次抓不到包的直接原因。

三、结论一句话

Reqable、端口、防火墙、S5/HTTP 握手、MITM 全部正常;手机流量也确实到达了 8889,但软路由发来的是裸 TLS 数据(透明重定向)而非 SOCKS5/HTTP 代理握手,Reqable 没有透明/SNI 模式所以全部挂起 → 界面抓不到;Charles 有兼容能力所以能抓。


四、GitHub 官方 issue 佐证(2026-08-28 检索)

#337 [feature] 支持透明代理(Transparent proxy support)— open,enhancement / p3 / suspend

  • 地址:[feature] 支持透明代理 (Transparent proxy support) #337
  • 2023-12-22 提出:希望像 Clash/Surge 增强模式(TUN 虚拟网卡)一样做网络层代理,抓系统代理抓不到的包。
  • 作者 MegatronKing 回复:Reqable 只实现了应用层(含 SSL)透明代理(需第三方工具解析出应用层数据包再发给 Reqable);要把 TUN/虚拟网卡模式内置,需要第三方库支持、兼容性没保证、有难度
  • 评论中实测结论:mitmproxy --mode local(WinDivert)可以一行命令全局抓包,Reqable / Fiddler / Charles 当时都没有这个效果
  • 2026-03-14 有人分享 clash TUN + Reqable 的组合配置(https://github.com/NatsumiXD/reqable-with-tun)。
  • 2026-08-16 最新评论仍在催:"什么时候支持 TUN 抓包" → 说明截至现在仍未支持。

#719 [bug] 在 Socks5 代理下,无法查看使用 IP 地址通信的 HTTPS 报文内容 — closed

#2776 [bug] socks5 可能在特定手机上无法使用 — open

结论(官方口径)

"Reqable 是否支持透明代理" → 不支持。官方 feature #337 挂起(p3/suspend),作者自述内置 TUN 有难度,2026-08 仍未实现。这与本次实测一致:8889 只认标准 S5/HTTP 代理握手,软路由的透明重定向(裸 TLS ClientHello)全部挂起;Charles 带透明/SNI 兼容所以能抓。

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions