本文速览

已有可用服务器与配置时,日常通常选择 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,也不能用网页能否访问来判断代理服务器是否有效。先记录状态,再进行切换。

  1. 打开 Home,确认要测试的服务器。本文以用户已有自己的服务商与订阅为前提,服务器参数和订阅链接从你的服务商处获取。
  2. 在 Home 打开 Global Routing,选择 Config、Proxy 或 Direct,返回后核对显示值。
  3. 如果选择 Config,进入底部 Config,确认当前选用的配置文件,而不是只确认列表里存在某个文件。
  4. 回到 Home 确认连接已建立,再重新打开同一个测试页面。切换后如结果没有变化,关闭旧页面或结束旧连接后重试,必要时重新连接。
  5. 测试结束恢复原模式;临时选择 Proxy 后,不要误以为日常分流规则仍然参与路径选择。
3 项
先核对:服务器选择、Global Routing、连接状态
4 类
本文示例:DOMAIN-SUFFIX / GEOIP / IP-CIDR / FINAL
2 层
按需连接入口:Settings → On Demand

三、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 放在末尾;如果把兜底写在前面,后面的细分规则就无法发挥预期作用。

四、日常使用与故障排查,采用不同方案

日常需要稳定的配置行为,排查需要尽量少的变量。两种任务不应混在一起:一边换服务器、一边更新订阅、一边修改 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 都不可访问本地网络、目标服务状态及解析结果换一个已知可访问的目标对照,再检查网络是否需要先完成认证
切换后旧页面表现不变连接复用、缓存或连接状态重新发起请求,必要时重新连接后再测试
  1. 先确认本地网络本身能使用;需要网页认证的网络应先完成认证。
  2. 固定服务器,临时选 Proxy,测试同一个目标的新请求。
  3. 切回 Config 测试;若只有此时失败,重点检查目标命中的规则、策略和相关解析设置。
  4. 选 Direct 建立对照,但不要把 Direct 的成功当成代理服务器通过验证。
  5. 若需要进一步核对服务器,联系自己的服务商说明失败现象。提供模式和错误信息即可,不要公开含认证信息的完整订阅链接。

六、订阅、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 和连接状态。需要查阅界面操作,可继续阅读教程;规则关键字的含义可在术语手册中核对。