已有可用服务器与配置时,日常通常选择 Config;需要隔离规则问题时,临时切换 Proxy;需要对照本地网络直连表现时,使用 Direct。本文说明三种模式与连接开关、Config 文件、订阅及 On Demand 的区别,并给出只改变一个条件的排查步骤,避免把路由选择错误当成服务器故障。
一、Config、Proxy、Direct 分别控制什么
Shadowrocket(小火箭)的 Global Routing 用来选择流量的路由处理方式,不是服务器协议,也不是连接成功的证明。选择模式之后,仍需确认 Home 的连接状态、当前服务器及实际访问结果。下文所说的“全部”,指交由 Shadowrocket 处理的流量,不表示设备上的所有系统通信都必然经过同一条路径。
Config:按当前配置分流
推荐使用当前 Config 的规则与策略决定去向。命中 DIRECT 的请求直连,命中代理策略的请求按对应策略处理;没有命中前面规则的流量由 FINAL 等兜底设置决定,并非默认全部直连。
适合:已有明确规则配置,需要日常按目标分流
Proxy:统一使用代理路径
不再按照 Config 中的目标分流规则逐项选择直连或代理,而是统一走当前代理路径。所选服务器不可用时,切到 Proxy 本身不能修复其地址、认证或传输参数。
适合:临时统一代理,或对照判断故障是否与分流规则有关
Direct:统一使用直连路径
交由应用处理的流量直接连接目标,不借助代理服务器转发。列表中仍可保留服务器,服务器被选中也不意味着 Direct 会使用它。
适合:核对本地网络能否访问目标,建立直连对照结果
如果 Global Routing 中还显示 Scene,应按应用内的场景设置确认实际采用的路由。Scene 不是“代理更彻底”的等级;做本篇的对照测试时,直接选定 Config、Proxy 或 Direct,避免场景条件给结果增加变量。
二、在 Home 切换模式,先核对三个独立状态
Home 的服务器选择、Global Routing 与连接开关是三个不同状态。只选中服务器但没有建立连接,不等于请求已经通过服务器;建立连接后仍停在 Direct,也不能用网页能否访问来判断代理服务器是否有效。先记录状态,再进行切换。
- 打开 Home,确认要测试的服务器。本文以用户已有自己的服务商与订阅为前提,服务器参数和订阅链接从你的服务商处获取。
- 在 Home 打开 Global Routing,选择 Config、Proxy 或 Direct,返回后核对显示值。
- 如果选择 Config,进入底部 Config,确认当前选用的配置文件,而不是只确认列表里存在某个文件。
- 回到 Home 确认连接已建立,再重新打开同一个测试页面。切换后如结果没有变化,关闭旧页面或结束旧连接后重试,必要时重新连接。
- 测试结束恢复原模式;临时选择 Proxy 后,不要误以为日常分流规则仍然参与路径选择。
三、Config 如何读规则:顺序与 FINAL 决定结果
Config 既是底部配置管理入口的名称,也是 Global Routing 的一个选项。前者管理配置文件,后者表示按当前配置执行路由。服务器订阅主要解决“有哪些服务器可选”,规则配置解决“哪些请求使用哪条路径”,两者不能混为一谈。
下面是用于说明语法的规则片段,不是完整配置。example.com 为示例域名;代理策略名称必须与实际配置保持一致。修改配置前应先保存原文件,避免覆盖已有策略组或其他必要设置。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
| 规则 | 匹配含义 | 此例中的去向 |
|---|---|---|
DOMAIN-SUFFIX | 匹配 example.com 及其子域名 | PROXY |
IP-CIDR | 匹配 192.168.0.0/16 地址段;no-resolve 表示不为此条规则主动解析域名 | DIRECT |
GEOIP | 按 IP 地理数据库匹配 CN,结果受数据库及获得的目标 IP 影响 | DIRECT |
FINAL | 接住前面规则没有匹配的请求 | PROXY |
规则按顺序匹配,先匹配的规则决定去向。此例把 example.com 的代理规则写在 GEOIP 前面,因此不能仅凭目标 IP 的地区推断它会直连。FINAL 放在末尾;如果把兜底写在前面,后面的细分规则就无法发挥预期作用。
- 想让某个域名直连,应在合适位置添加指向 DIRECT 的规则,并检查前面是否已有更早命中的规则。
- 想核对局域网访问,先确认目标属于哪一地址段。192.168.0.0/16 只是示例,不覆盖所有局域网地址。
- 改完后保持 Global Routing 为 Config,再发起新请求检查命中的规则与策略。停在 Proxy 或 Direct 时,不能验证这组分流规则的效果。
四、日常使用与故障排查,采用不同方案
日常需要稳定的配置行为,排查需要尽量少的变量。两种任务不应混在一起:一边换服务器、一边更新订阅、一边修改 DNS,最后即使恢复访问,也难以知道是哪项变化起作用。
操作方案:固定日常配置,单独做路由对照
日常使用
- Global Routing 使用 Config,确认当前配置的规则与 FINAL 去向。
- 服务器和策略组使用自己已核对的选项,不根据名称猜测实际出口。
- 订阅更新后检查服务器是否仍存在,避免继续依赖已被移除的选择。
临时排查
- 固定同一网络、同一服务器和同一测试目标。
- 依次记录 Config、Proxy、Direct 的新请求结果。
- 每轮只改变一个设置,结束后恢复原配置和模式。
结论:Proxy 是路由对照手段,不是修复所有连接故障的开关;Config 是否适用取决于当前规则是否符合需求。
协议也不是 Global Routing 的替代选项。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 描述的是服务器连接方式;Config、Proxy、Direct 决定请求的路由处理。不能为了切换路由而随意修改 Type、Port 或认证字段,参数应与服务商提供的信息一致。
五、按测试现象缩小问题范围
用同一个目标做对照,并记录具体的失败方式,例如连接超时、名称解析失败或页面返回错误。只写“打不开”不足以定位原因。下面的现象用于判读测试结果,不代表已对某条线路作出可用性保证。
| 观察到的结果 | 优先检查 | 下一步 |
|---|---|---|
| Proxy 可访问,Config 不可访问 | 规则命中、策略组选择及 DNS 差异 | 回到 Config,查看该请求实际命中的规则和策略,不要直接重建全部服务器 |
| Direct 可访问,Proxy 不可访问 | 当前代理路径及服务器参数 | 核对 Address、Port、认证信息;如协议使用 TLS,再核对相关 TLS 字段 |
| Proxy 和 Direct 都不可访问 | 本地网络、目标服务状态及解析结果 | 换一个已知可访问的目标对照,再检查网络是否需要先完成认证 |
| 切换后旧页面表现不变 | 连接复用、缓存或连接状态 | 重新发起请求,必要时重新连接后再测试 |
- 先确认本地网络本身能使用;需要网页认证的网络应先完成认证。
- 固定服务器,临时选 Proxy,测试同一个目标的新请求。
- 切回 Config 测试;若只有此时失败,重点检查目标命中的规则、策略和相关解析设置。
- 选 Direct 建立对照,但不要把 Direct 的成功当成代理服务器通过验证。
- 若需要进一步核对服务器,联系自己的服务商说明失败现象。提供模式和错误信息即可,不要公开含认证信息的完整订阅链接。
六、订阅、On Demand 与模式切换常见问题
选了 Proxy,是不是就不用打开连接了?
不是。Global Routing 只选择路由方式。回到 Home 确认连接状态,再发起新请求;单独选中 Proxy 不会证明代理路径已经建立。
更新订阅后,为什么 Config 还是没有按预期分流?
更新服务器列表不等于重写规则。先在 Home 核对当前服务器,再进入 Config 确认当前配置、规则顺序与策略组引用。订阅链接从你的服务商处获取,更新后仍需检查引用是否有效。
开了 On Demand,还需要选择 Config 吗?
需要分别确认。Settings → On Demand 管理按需连接条件,Global Routing 管理连接后的路由处理。先检查按需条件,再回到 Home 核对路由模式,不能用 On Demand 代替分流配置。
Direct 和关闭连接开关有什么区别?
Direct 是应用连接状态下的一种路由选择,关闭连接开关则是断开当前连接。需要核对完全断开后的网络表现时,应关闭连接,并检查 On Demand 是否会按条件再次触发连接。
买了 Shadowrocket,为什么仍然没有服务器?
客户端买断 ≠ 线路套餐。Shadowrocket 是闭源商业应用,唯一获取入口是 App Store;已有订阅从你的服务商处获取。购买应用本身不会自动生成服务器列表。
最后保留一条可复核的操作记录:原模式是什么、改成什么、测试了哪个目标、出现什么结果。恢复日常使用时,再确认 Home 的服务器、Global Routing 和连接状态。需要查阅界面操作,可继续阅读教程;规则关键字的含义可在术语手册中核对。