一句话回答
出站模式(规则 / 全局 / 直连)决定流量去哪里,接管方式(系统代理 / TUN)决定哪些程序的流量被客户端接管。 两组设置互相独立,组合使用。
出站模式:流量去哪里
| 模式 | 行为 | 优点 | 缺点 | 适合 |
|---|---|---|---|---|
| 规则(Rule) | 按规则判断,国内直连、国外走代理 | 国内速度不受影响,节省流量 | 规则不完善时个别网站可能走错 | 日常使用 |
| 全局(Global) | 所有流量都走代理 | 不会遗漏,排查问题方便 | 国内网站变慢,浪费流量 | 临时排查 |
| 直连(Direct) | 所有流量都不走代理 | 相当于暂时关闭代理 | — | 临时关闭 |
不同客户端的叫法略有差异:Shadowrocket 中对应「配置 / 代理 / 直连」,v2rayN 中通过「路由」选择「绕过大陆」或「全局」。
规则是怎么工作的
规则是一组「条件 → 去向」的列表,从上到下匹配,例如:
- 局域网地址 → 直连;
- 国内常见域名、国内 IP → 直连;
- 被识别为海外服务的域名 → 代理;
- 其余未匹配的流量 → 按最后一条兜底规则处理。
机场订阅通常自带一套规则。规则会过时,所以定期更新订阅也能同时更新规则。
接管方式:哪些程序被代理
| 方式 | 原理 | 覆盖范围 | 需要权限 |
|---|---|---|---|
| 系统代理 | 修改系统的 HTTP 代理设置 | 浏览器及遵循系统代理的程序 | 不需要 |
| TUN 模式 | 创建虚拟网卡,在网络层接管流量 | 几乎所有程序,包括命令行、游戏、部分桌面应用 | 需要管理员权限或服务模式 |
为什么有些程序不走代理? 终端里的 git、npm、pip,以及很多游戏和桌面软件不读取系统代理设置,开了系统代理也没用。这时需要开启 TUN 模式,或者给程序单独设置代理(例如环境变量 HTTP_PROXY)。
手机上的客户端(Shadowrocket、FlClash、v2rayNG)本身就是通过系统 VPN 接口工作,相当于默认就是 TUN 方式,不需要额外设置。
推荐组合
| 使用场景 | 出站模式 | 接管方式 |
|---|---|---|
| 日常浏览、AI 工具 | 规则 | 系统代理 |
| 程序员、命令行工具 | 规则 | TUN |
| 游戏、不支持代理的软件 | 规则 | TUN |
| 排查「网站打不开」 | 临时切到全局 | 系统代理或 TUN |
用模式排查问题
只有部分网站打不开:
- 切换到全局模式再打开该网站;
- 全局能打开 → 规则没有正确匹配,更新订阅或把该域名加入代理规则;
- 全局也打不开 → 节点问题或该网站限制了节点 IP,换其他地区节点。
国内网站变慢: 检查是否误开了全局模式,切回规则模式。
浏览器能用、终端不能用: 开启 TUN 模式,或为终端设置代理环境变量。
客户端的具体开关位置见 Clash Verge 客户端基础教程 与 v2rayN 使用教程。
