Shadowrocket 全局路由与规则设置:配置、代理、直连模式怎么选
Shadowrocket 全局路由里的配置、代理、直连有什么区别?本文解释三种模式的流量走向和适用场景,讲清配置文件的作用、常见规则类型与匹配顺序、如何添加自定义规则与远程配置,以及 DNS 设置思路和修改后不生效的原因,帮你在 iPhone 上实现国内直连、海外走代理的分流效果。
简要回答 日常使用 Shadowrocket 时把全局路由设为“配置”,由配置文件中的规则自动决定哪些流量直连、哪些走代理;“代理”会让所有流量走节点,“直连”则完全不走代理,两者只适合临时排查。规则按从上到下的顺序匹配,命中第一条即停止,自定义规则应放在兜底规则之前。
Shadowrocket 的“全局路由”决定流量按什么方式处理:配置按规则分流,代理全部走节点,直连全部不走代理。日常保持配置模式即可,规则会让国内网站直连、海外网站走代理。本文解释三种模式、配置文件与规则的写法以及 DNS 设置,安装和导入订阅见 Shadowrocket 使用教程。菜单名称与位置以当前版本为准。
三种全局路由的区别
| 模式 | 流量走向 | 适用场景 | 注意事项 |
|---|---|---|---|
| 配置 | 按当前配置文件的规则分流 | 日常使用 | 规则质量决定分流效果 |
| 代理 | 所有流量都经过选中的节点 | 排查规则遗漏、临时访问 | 国内网站会变慢、多耗流量 |
| 直连 | 所有流量都不走代理 | 临时关闭代理、排查节点问题 | 相当于没开代理 |
部分版本还提供“场景”等额外选项,可按需使用。判断问题时有个小技巧:配置模式打不开某网站、切到代理模式能打开,说明是规则没有覆盖它;两种模式都打不开,问题多半在节点或网络。
配置文件是什么
配置文件是一份文本,主要包含三部分:
- General:通用设置,例如 DNS 服务器、是否启用 IPv6、绕过的地址段。
- Rule:分流规则,决定每个请求交给代理、直连还是拒绝。
- Proxy Group:策略组,把多个节点组合起来,供规则引用。
在“配置”标签页中可以看到默认配置,也可以通过网址添加远程配置。点击某个配置并选择“使用配置”即可切换。
策略组的作用
规则末尾写的 PROXY、DIRECT 等就是“策略”。除了内置的直连和拒绝,配置文件还可以定义策略组,把订阅中的节点组合起来:
- 手动选择(select):由你在首页挑选节点,最直观。
- 自动测速(url-test):定期测试延迟,自动切换到当前最快的节点。
- 故障转移(fallback):按顺序使用,前一个不可用时才切换下一个。
新手用手动选择即可;追求省心可以把常用地区的节点放进自动测速组,但要注意频繁切换节点可能让部分网站要求重新验证。
规则类型与匹配顺序
常见规则类型如下,写法示例仅作说明:
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,example,PROXY
DOMAIN,api.example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
- DOMAIN-SUFFIX:匹配域名及其所有子域名,最常用。
- DOMAIN-KEYWORD:域名中包含关键词即匹配,范围较宽,谨慎使用。
- IP-CIDR / GEOIP:按 IP 段或 IP 归属地匹配。
- FINAL:兜底规则,前面都没命中时使用,必须放在最后。
规则从上到下依次匹配,命中第一条就停止。所以自定义规则要放在 GEOIP 和 FINAL 之前,否则可能永远不会生效。
添加自定义规则
- 进入“配置”,点击正在使用的配置,选择编辑。
- 进入规则列表,点加号新增规则,选择类型、填写域名或 IP 段、选择策略。
- 保存后断开连接再重新连接,让新规则生效。
DNS 设置思路
- 默认配置一般已经给出了可用的 DNS,不确定时不要改动。
- 国内网站被解析到很远的地址、访问变慢,可以在 General 中加入国内公共 DNS。
- 某些网站打不开且怀疑解析被污染,可以尝试加密 DNS。
DNS 问题的原理和排查方法见 DNS 问题解决指南。如果你在考虑换一款 iOS 客户端,可以对比 Stash 与 Shadowrocket 的区别。请在遵守所在地法律法规和服务条款的前提下使用。
常见问题
Shadowrocket 应该用配置模式还是代理模式?
日常用配置模式。配置模式按规则分流,国内网站直连更快也更省流量;代理模式让所有流量都走节点,只适合排查规则是否漏掉某个网站时临时使用。
自定义规则添加了为什么不生效?
最常见的原因是规则位置太靠后,被前面更宽泛的规则先命中了;另外修改配置后需要断开再重新连接才会加载。确认全局路由处于配置模式,而不是代理或直连。
远程配置和本地配置有什么区别?
远程配置从一个网址下载,可以随来源更新;本地配置由自己编辑,更新不会覆盖你的修改。只使用信任来源的远程配置,不要导入来路不明的配置文件。
DNS 设置需要改吗?
大多数情况下使用配置文件默认值即可。遇到国内网站解析到海外地址、或者部分网站打不开时,再按需调整 DNS 服务器,并排查是否存在 DNS 污染。