它只是一条通知,不是强制
打开系统代理开关,程序做的事只有一件:把操作系统的代理设置指向本机的混合端口。新版默认 7897,从旧版一路升上来的配置可能还是 7890。
之后就看各个程序的脸色了。愿意读这条设置的走代理,不读的照旧直连,Clash Verge 没有任何办法强迫它们。
所以有一类问题根本不是 bug:浏览器好了,某个游戏还是直连;浏览器好了,下载器还在满速跑本地线路;浏览器好了,命令行拉取依赖照样超时。这些程序压根没看过系统代理这个设置。
先确认端口对得上
Windows 的「设置 → 网络和 Internet → 代理」里能看到当前值,应该是 127.0.0.1 加上你的混合端口,新装是 7897,升级上来的可能是 7890。
三件事决定它能管到谁
- 1
分清哪些程序会读
主流浏览器、大部分带界面的应用会读系统代理。游戏、下载工具、命令行工具经常不读,有些还自己维护一套代理设置。这类程序要么在它自己的设置里填 127.0.0.1 和混合端口,要么改用 TUN。
- 2
绕过列表决定谁不走代理
本机地址和常见内网网段默认就在里面,Windows 上还有一条 <local>。公司内网域名、NAS 和路由器的地址建议自己加进去,否则内网服务会被绕一大圈送到国外节点,慢是轻的,直接打不开也很常见。
- 3
只留一条路
系统代理和 TUN 同时开一般没必要。两者覆盖面大面积重叠,同时开不会更快,只会让「到底是哪条路出的问题」变得难查。要用 TUN 就先把系统代理关掉。
退出方式决定下次开机顺不顺
这一点最容易吃亏:开着系统代理直接在任务管理器结束进程,或者按电源键强制关机,操作系统的代理设置会原封不动留在开启状态,而端口上已经没人监听了。下次开机的表现就是全网不通,浏览器一直转圈。走托盘菜单正常退出,程序会自己把这条设置清掉。
- 从托盘菜单退出,别在任务管理器里结束进程
- 系统代理和 TUN 只留一个开着
- 公司内网域名、NAS 地址加进绕过列表
常见问题
程序已经关了,浏览器还提示正在使用代理服务器,怎么办?
上次没有正常退出,代理设置留在了开启状态,而 127.0.0.1 上已经没有程序在监听。重新打开 Clash Verge,把系统代理开关关一次,再从托盘正常退出就干净了。不想开程序的话,直接去 Windows 的「设置 → 网络和 Internet → 代理」把手动代理关掉也一样。
浏览器走代理了,某个软件死活不走,还有救吗?
它多半根本不读系统代理。先翻这个软件自己的设置,有代理或网络选项就填 127.0.0.1 和你的混合端口。完全没有这类选项的,只能用 TUN 在网卡层面接管它,因为 TUN 不需要程序配合。反复重启 Clash Verge 对这种情况没有任何用。