跨越网络 - 全球网络加速服务商

Shadowrocket 配置规则:从导入到生效的设置与排查方法

更新于 2026-10-26 · kuayue2.online

简答:Shadowrocket 配置规则的关键是:启用正确的配置文件,把 Global Routing 切换到 Config,再按“具体规则在前、FINAL 在后”的顺序匹配。完成后用 Test Rule、日志和实际访问分别确认规则命中与连接结果。

定义:Shadowrocket 配置规则,是写在配置文件 Rule 区段中的匹配条件与处理策略,用于决定请求走代理、直连或拒绝。

先试这一步:确认配置文件和 Global Routing

如果你已经导入节点或订阅,但规则没有生效,先不要继续添加规则。回到 Shadowrocket 的 Home 页面,检查当前连接开关、已选服务器和 Global Routing;如果要使用分流规则,必须选择 Config,而不是 Proxy 或 Direct。然后进入 Config,确认你编辑的文件就是当前启用的配置文件。

Shadowrocket 是独立的网络客户端,不包含代理服务或服务器资源,App Store 页面也明确说明用户需要自行提供配置。其功能包括按域名、域名后缀、关键词、CIDR 地址范围和 GeoIP 等条件配置规则,并可从 URL 或 iCloud Drive 导入规则文件。App Store 产品说明 apps.apple.com

三个 Global Routing 选项怎么选
选项作用适合什么时候使用
Config按照当前配置文件中的 Rule 顺序处理请求日常分流和规则验证
Proxy用于临时比较代理路径判断服务器路径是否能连通
Direct使用直连路径与代理结果做对照

切换到 Proxy 或 Direct 只能帮助定位问题,不能代替规则验证。测试完成后,要切回原本计划使用的模式。

配置文件、节点订阅和规则订阅不是一回事

初次配置时最容易混淆的是四个对象:

  • 服务器条目:保存单个节点的地址、端口、协议和认证信息。
  • 节点订阅:用于批量获取或更新服务器条目。
  • 配置文件:保存 General、Rule、Hosts、URL Rewrite 等配置内容。
  • 规则订阅:通常提供一组规则或规则集,需要被配置文件引用或加入 Rule 区段。

导入节点订阅不会自动生成适合你需求的分流规则;添加配置文件也不等于它已经被启用。建议每次只改一个对象:先确认服务器可以连接,再设置配置文件,最后修改规则。远程配置可能在更新时覆盖本地改动,因此编辑前应先保存一份可恢复的副本。

在 App Store 的功能说明中,规则导入、服务器配置、DNS、URL Rewrite 和 HTTPS 解密被列为不同能力,不能把它们当作同一个设置入口。App Store 版本与功能记录 apps.apple.com

基础 Rule 示例:具体规则放前面,FINAL 放最后

下面是一份用于理解结构的最小示例。example.com 只是占位域名,PROXY、DIRECT 和 REJECT 必须与你当前配置中的策略名称一致;如果你的配置使用了自定义策略组,就要替换成实际存在的名称。

[Rule]
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.net,DIRECT
DOMAIN-KEYWORD,ads,REJECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
FINAL,DIRECT
  • DOMAIN:匹配一个明确的完整域名,适合精确例外。
  • DOMAIN-SUFFIX:匹配域名后缀及其子域名,范围比 DOMAIN 更宽。
  • DOMAIN-KEYWORD:匹配域名中包含的关键词,容易误匹配,使用时应谨慎。
  • IP-CIDR:匹配 IPv4 地址段;IP-CIDR6 用于 IPv6 地址段。
  • GEOIP:按 IP 地理数据库进行匹配,结果受数据库和解析方式影响。
  • PROXY、DIRECT、REJECT:分别表示代理、直连和拒绝请求。
  • FINAL:处理前面没有匹配到的请求,通常放在规则末尾。

规则通常从上到下检查,先匹配到的规则会影响后续处理。因此,精确域名应放在宽泛后缀或关键词规则前,例外规则应放在可能覆盖它的宽规则前,FINAL 不要放在普通规则之前。

照着做:导入配置并让规则真正生效

  1. 在 Home 页面确认已有可用的服务器条目;如果只有规则文件,没有服务器或订阅,规则本身不能建立连接。
  2. 进入 Config,导入已有的配置文件或规则文件。来源不明的远程配置不要直接覆盖当前可用文件。
  3. 打开配置文件的 Rule 区段,检查规则格式、策略名称和规则顺序。保存前先复制原文件内容,便于回滚。
  4. 回到 Home,打开 Global Routing,选择 Config;再次进入 Config,确认刚才编辑的文件处于启用状态。
  5. 重新建立连接后,使用 Test Rule 或类似规则测试入口检查目标域名命中了哪一条规则;如果界面提供连接日志,也要查看实际策略。
  6. 用同一个网络、同一个目标和同一个服务器做对照测试。不要同时更换节点、配置文件、DNS 和路由模式,否则无法判断真正起作用的改动。

规则命中只说明匹配阶段完成,不代表目标一定能打开。若规则显示为 PROXY 但访问失败,还要继续检查服务器参数、认证、DNS、网络质量和目标服务本身。

规则不生效时,按这个顺序排查

Shadowrocket 配置规则排查表
现象优先检查处理方法
修改后完全没有变化Global Routing 是否为 Config切换到 Config,并确认当前启用的是刚修改的文件。
某个域名总是走错策略规则顺序和实际请求域名把更具体的 DOMAIN 规则移到宽泛规则前,确认实际访问的主机名。
只有部分页面打不开页面依赖的其他域名在连接日志中找失败请求,不要只修改首页域名规则。
配置保存后又恢复原样远程配置更新或编辑了非当前文件确认当前文件和更新来源,保存副本后再修改。
规则显示命中但仍无法连接服务器、DNS 和目标服务暂时切换 Proxy 做对照,再单独检查服务器路径和域名解析。

排查时建议记录四项信息:当前网络、Global Routing 模式、启用的配置文件、实际测试域名。每次只改一个条件,并在改动后重新发起请求。不要把旧连接、缓存页面或后台同步结果当成新的规则测试结果。

如何回滚,避免远程配置覆盖本地修改

修改前把当前配置文件复制到安全位置,并给文件标注日期或用途。修改后如果出现解析错误、连接异常或规则大面积失效,先恢复原文件,再确认能否正常连接。确认基线恢复后,再只加入一条需要的规则。

如果使用远程规则或远程配置,先确认它是规则集、完整配置还是节点订阅,并查看更新后哪些内容发生了变化。不要把一份无法阅读或无法说明来源的完整配置直接覆盖现有文件。需要分享排障信息时,也不要公开订阅链接、身份凭据或包含个人信息的日志。

最后核对:2026-10-26。Shadowrocket 的版本、菜单名称和可用功能可能随 App 更新变化;本文只依据可核验的 App Store 产品信息和通用配置逻辑整理,具体界面以设备当前显示为准。

相关指南

如果你还没有完成 iPhone 上的客户端基础配置,可以先查看iPhone 客户端配置与连接排查;如果规则已经配置但仍然无法连接,再查看连接问题排查方法,把规则匹配问题与网络连接问题分开处理。

常见问题

Shadowrocket 里的 Config、Proxy、Direct 有什么区别?

Config 按当前配置文件中的 Rule 处理请求;Proxy 用于临时比较代理路径;Direct 用于直连对照。要验证分流规则,必须回到 Config。

为什么我添加了规则,但 Shadowrocket 仍然没有按规则连接?

先检查 Global Routing 是否选择 Config,再确认编辑的配置文件已启用。之后检查规则顺序、实际请求域名和策略名称,最后重新发起请求。

DOMAIN、DOMAIN-SUFFIX 和 DOMAIN-KEYWORD 怎么选?

DOMAIN 用于精确域名,DOMAIN-SUFFIX 用于域名及其子域名,DOMAIN-KEYWORD 用于包含某个关键词的域名。关键词匹配范围最宽,误匹配风险也更高。

FINAL 应该放在 Shadowrocket 规则的什么位置?

FINAL 通常放在普通规则最后,用于处理没有命中前面规则的请求。如果提前放置,后面的普通规则可能无法得到预期结果。

规则命中了 PROXY,但网站还是打不开,说明规则写错了吗?

不一定。规则命中只代表匹配完成,还要继续检查服务器参数、认证、DNS、网络路径和目标服务。可以暂时用 Proxy 模式做对照,再恢复 Config 检查实际规则。

相关阅读

参考资料

  1. App Store:Shadowrocket 产品说明与功能
  2. App Store:Shadowrocket 版本更新记录