System Proxy 的本质是在系统里登记一条“建议”:请各程序把流量发到 127.0.0.1:7890。浏览器等守规矩的程序会照做,但“建议”毕竟不是强制——总有程序不理它。
四类典型“不服管”的程序
- 命令行工具(curl、git、pip、go 等):完全无视 Windows 代理设置。解决:设置环境变量或工具级代理。
- UWP / 商店应用:被系统禁止连接本机回环地址。解决:UWP Loopback 工具解除限制。
- 自带网络栈的软件(部分游戏、办公客户端、聊天软件):直接建立 TCP 连接,不查代理设置。软件内若有代理选项,手动填
127.0.0.1:7890(SOCKS5 或 HTTP 均可);没有选项就只能靠 TUN。 - 系统服务与驱动级组件(Windows 更新、时间同步等):运行在服务上下文,不使用用户代理设置。同样属于 TUN 的领域。
通用解法:TUN 模式
以上所有情况,TUN 模式都能解决——它在网络层接管流量,不依赖程序配合。开启 TUN 后用 Connections 页面的 Process 列确认目标程序的连接确实进来了。
反向问题:不想让某软件走代理
TUN 开启后所有程序都进代理,个别程序(网盘、游戏国服)想让它直连:
rules:
- PROCESS-NAME,BaiduNetdisk.exe,DIRECT
- PROCESS-NAME,game.exe,DIRECT
还有一种可能:软件走了别的代理
装过多个代理工具的电脑上,某软件可能配置了指向另一个端口的代理。检查软件自身的网络设置,以及系统代理是否被其他工具改写(General 页面 System Proxy 开关状态异常跳动是典型信号)。
判断利器:Connections 页面看不到某程序的任何连接 = 它的流量没进 Clash(而不是规则问题)。先解决“进不进来”,再谈“怎么分流”。