CaptiveMgr 中文文档 下载 App

挂着代理时图标可能依旧挂感叹号的原因

现象描述

很多用户遇到过这种情况:代理挂着、YouTube 能看、浏览器刷视频也正常,但信号图标下方依然挂着感叹号或叉——CaptiveMgr 也治不好。

根本原因:探测请求不经过代理

Android 的 Captive Portal 检测发生在系统网络栈层面,它使用的是系统默认的路由,不走应用代理(HTTP 代理也不走),也不走 VPN 接口(含大多数 VPN 类代理)。

原因是设计上的:

所以系统硬编码了探测请求必须经过原始路由,绕过所有应用层代理和 VPN。

这不是 bug

这是 Android 的设计决策。原生系统一直这样,类原生 ROM(LineageOS、Pixel Experience 等)也没改这个行为。它确保了探测结果反映的是真实的物理网络状态。

怎么解决

三种思路:

思路一:换一个大陆可达的服务器(推荐)

就算探测不走代理,它直接发往国内服务器,在大陆物理网络里本来就能通。这就是 CaptiveMgr 推荐小米、华为等国内服务器的根本原因——不依赖代理也能通。

思路二:代理工具开 NAT 模式

少数代理工具(如部分 SSR 客户端)支持 NAT 模式——它利用 iptables 把所有流量(包括系统探测)都劫持到代理。这样探测请求也会走代理通道。

但注意:

思路三:接受这个现象

如果你常年挂着代理、代理本身也稳定,那图标挂不挂感叹号其实不影响你用网。只是强迫症看着不舒服。

CaptiveMgr 能帮上什么

CaptiveMgr 的测速工具也不走代理(跟系统探测一样)。所以用测速工具测出来的结果反映的是:不挂代理时这条服务器能不能从你手机直连。如果测速显示「小米服务器返回 204」,那应用之后系统探测也应该能通——这时候图标就干净了。