糖果云 Shadowrocket 分流规则不生效怎么办?
简答:如果糖果云在 Shadowrocket 中全局能用、分流却不按预期,先把 Global Routing 切到 Config,并确认当前启用的配置文件就是你正在检查的文件。然后用同一个域名分别测试 Proxy、Direct 和 Config:只有 Config 异常时,重点查规则顺序、策略组名称和 FINAL;三种模式都失败,则先查节点、DNS 或本地网络。本文只覆盖 iPhone/iPad 上已导入配置后的分流排查,不覆盖糖果云订阅链接、价格、当前状态或从零购买配置。
定义:Shadowrocket 分流规则是根据域名、IP 地址或地区等条件,把请求交给代理、直连、拒绝或策略组处理的配置逻辑;规则能否生效还取决于当前路由模式、启用的配置文件和网络解析结果。
先试这 5 步:快速判断是不是规则问题
本文是第三方使用指南,不代表 Candytally(糖果云)官方。当前没有检索到可核验的糖果云公开资料来确认其专属 Shadowrocket 订阅格式、规则地址或策略组名称,因此品牌相关配置应以提供方页面为准。
| 步骤 | 操作 | 看到什么 | 下一步 |
|---|---|---|---|
| 1 | 在 Home 查看 Global Routing | 应显示 Config,或你的版本中对应的配置模式 | 如果是 Proxy 或 Direct,先切回 Config |
| 2 | 进入 Config 查看当前文件 | 文件应是你正在编辑或导入的配置 | 文件不一致时,先停止改规则 |
| 3 | 用同一个域名测试 Proxy、Direct、Config | 记录三种模式是否有差异 | 只有 Config 异常时才优先查分流 |
| 4 | 检查规则顺序、策略名称和 FINAL | 具体规则是否被更宽泛规则提前匹配 | 先备份,再只调整一条规则 |
| 5 | 保存配置,断开后重新连接 | 用同一域名发起新请求 | 仍无变化时检查文件、订阅覆盖和 DNS |
Shadowrocket 在 App Store 页面自述为基于规则的代理工具,支持域名、域名后缀、域名关键词、CIDR 和 GeoIP 等匹配方式,也支持导入规则文件;页面同时说明应用本身不提供代理服务或服务器资源。可查看 Apple App Store 中的 Shadowrocket 功能说明。
先分清三个对象:模式、配置文件和节点
分流失败时,最常见的误判是把“导入了节点”“导入了配置”和“启用了分流”当成同一件事。它们实际承担不同作用:
- 节点或服务器:提供连接入口。Proxy 模式也无法连接时,通常应先查节点、网络或连接权限。
- 配置文件:保存规则、策略组、DNS、重写等设置。导入文件不等于当前正在使用它。
- Global Routing:决定当前请求采用配置规则、代理路径还是直连路径。只有进入配置规则的模式,规则命中结果才有排查意义。
操作时只改变一个变量。先记录当前节点、网络、配置文件和异常域名,再只切换 Global Routing。若切换后结果变化,说明此前可能没有使用预期的模式;若结果完全不变,不要立即重装应用或同时修改 DNS。
Shadowrocket 通过 Apple 的网络扩展能力处理设备网络流量,但网络扩展正常建立,并不等于某个域名已经按预期命中规则。Apple 对 Network Extension 的定义是允许应用扩展和定制系统网络能力,具体网络行为仍要结合应用配置和实际请求判断。可查看 Apple Network Extension 文档。
用 Proxy、Direct、Config 三模式做对照
对照测试要固定条件:同一台 iPhone 或 iPad、同一个 Wi-Fi 或蜂窝网络、同一个节点、同一个域名,并在每次切换后重新连接。不要用不同网站的结果互相比较。
| Proxy | Direct | Config | 优先排查方向 |
|---|---|---|---|
| 能打开 | 能打开 | 打不开 | 规则未命中、规则顺序错误、策略组名称不一致或配置文件不是当前文件 |
| 打不开 | 能打开 | 打不开 | 节点、代理连接、VPN 权限或代理策略异常;先不要继续改规则 |
| 能打开 | 打不开 | 打不开 | 规则可能把请求送到直连,或本地 DNS、IPv6 路径存在差异 |
| 能打开 | 能打开 | 能打开 | 基础连接和当前域名的分流均可用,不能据此推断其他 App 或域名也正常 |
| 三者都打不开 | 三者都打不开 | 三者都打不开 | 先查本地网络、节点、DNS、目标域名状态,不要从规则开始猜 |
表格只能帮助缩小范围,不是可用性证明。一次网页访问只能说明这一次请求的结果,不能代表所有应用、所有域名或长期连接都正常。
规则顺序、策略组和 FINAL 怎么核对
先备份当前配置,再检查异常域名对应的规则是否存在、是否排在更宽泛规则之前,以及第三列使用的策略名称是否确实存在于当前配置。不要根据“PROXY”“Proxy”或自定义名称猜测策略组,直接在当前配置中核对名称和当前选择。
可以用不含真实订阅信息的最小示例理解结构:
[Rule] DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
example.com 只是语法示例,不代表任何服务入口。实际规则中,范围更窄、目标更明确的规则通常应放在范围更宽的规则前面。例如,某个具体域名规则被更宽泛的关键词、后缀或 GEOIP 规则提前匹配时,后面的具体规则可能不会成为最终处理路径。
- DOMAIN:用于匹配明确域名。
- DOMAIN-SUFFIX:用于匹配域名后缀及其子域名。
- DOMAIN-KEYWORD:按域名关键词匹配,范围可能比预期更宽。
- IP-CIDR 或 IP-CIDR6:分别对应 IPv4 和 IPv6 地址段。
- GEOIP:按 IP 地理库判断,结果可能受到解析结果影响。
- FINAL:处理前面没有匹配到的请求,不是让请求重新尝试所有策略。
如果规则第三列引用了当前配置中不存在的策略组,不要继续增加规则。先恢复备份,确认策略组名称,再用一个域名做单条规则测试。
修改后完全没变化:检查保存、文件和订阅覆盖
如果修改规则后访问结果完全不变,按以下顺序检查:
- 确认编辑的是当前启用的配置文件,而不是历史文件、示例文件或仅用于导入的文件。
- 确认修改已经保存,并重新进入配置查看内容是否仍在。
- 断开 Shadowrocket 连接后重新连接,再发起一个新的请求。
- 如果刚执行过订阅更新,重新核对规则和策略组是否被远程内容替换。
- 恢复备份,只加入一条最小规则,避免多条规则同时改变。
订阅链接能在浏览器中打开,只能说明该链接在当时可访问,不能证明 Shadowrocket 已正确解析服务器、规则和策略组。订阅更新成功,也不能证明节点可用或目标网站一定可访问。
由于本次没有核实到糖果云专属配置文件的公开说明,不能直接断言其订阅更新一定会覆盖本地修改;这里应把“更新后本地规则消失”作为可观察现象,根据前后配置内容自行确认。
只有某个 App 或 HTTPS 网站异常:再查 DNS、IPv6 与新连接
如果浏览器正常、某个 App 异常,或只有 HTTPS 网站不按预期分流,不要马上认定规则失效。可能的排查方向包括:该 App 访问了不同域名、优先使用 IPv6、采用了不同的 DNS 解析路径,或仍在复用旧连接。
- 记录该 App 实际访问的域名,不能只用浏览器中的网址代替。
- 保持节点、网络和配置文件不变,只记录当前 DNS、IPv6 和连接状态。
- 一次只调整一个 DNS 或 IPv6 相关选项,然后重新连接。
- 用同一个 App、同一个域名重新发起请求,比较结果是否变化。
- 如果结果没有变化,恢复原设置,回到规则命中和配置文件检查。
Shadowrocket 的 App Store 页面列出 DNS over HTTPS、DNS over TLS、DNS over QUIC、本地 DNS 映射和 IPv6 等功能,但这些是应用页面中的能力说明,不代表糖果云订阅一定启用了某项设置。App Store 功能说明可用于核对应用能力边界。
不要把“浏览器能打开”当作“所有 App 都按同一规则处理”,也不要把单次连接成功当作长期稳定结论。
什么时候应该回滚,而不是继续加规则
出现以下情况时,建议停止扩大修改范围,恢复到已知可工作的配置:
- 无法确认当前正在编辑哪个配置文件。
- 规则引用的策略组名称没有在当前配置中核对。
- Proxy 模式本身也无法连接。
- 只有一个 App 异常,但还没有确认它访问的域名或 IPv6 情况。
- 订阅更新后规则内容改变,却没有保留原配置。
回滚后只验证一个边界:同一设备、同一网络、同一节点、同一域名,重新连接后发起一次新请求。如果回滚配置仍失败,问题可能已经不在分流规则,而在节点、DNS、本地网络或目标网站本身。
常见问题
糖果云 Shadowrocket 分流规则不生效,第一步改什么?
先不要改 DNS,也不要重装应用。打开 Home,确认 Global Routing 为 Config;再进入 Config,确认当前启用的文件就是正在检查的文件。若当前是 Proxy 或 Direct,规则可能没有按预期参与分流。
Proxy 模式能用,为什么 Config 模式还是打不开?
Proxy 模式只能说明代理路径可能可用,不能证明规则正确。Config 模式还要经过当前配置文件、规则顺序和策略组判断。优先核对具体域名规则是否被宽泛规则提前匹配,以及规则引用的策略名称是否存在。
修改 Shadowrocket 规则后需要重启应用吗?
不能笼统地说必须重启。更稳妥的做法是确认配置已保存,断开当前连接后重新连接,再用同一个域名发起新请求。如果仍无变化,检查是否编辑了未启用文件,或订阅更新覆盖了本地修改。
为什么只有一个 App 不按 Shadowrocket 分流规则走?
可能是该 App 使用了不同域名、IPv6、独立解析或不同网络请求方式。先确认它实际访问的域名,再保持节点和网络不变,分别测试 Config、Proxy 和 Direct。浏览器能打开不能代表所有 App 都按同一规则处理。
可以直接复制网上的 Shadowrocket 规则吗?
不建议未经核对就覆盖当前配置。规则可能引用不存在的策略组,也可能带有与你需求无关的重写或脚本项。先备份,再只加入一条最小规则,并确认订阅更新是否会替换本地内容。
糖果云的专属策略组名称在哪里确认?
本次检索没有核实到糖果云公开的专属策略组说明。应在当前 Shadowrocket 配置文件中查看实际策略组名称,或以提供方页面为准,不要根据其他配置文件的名称直接套用。
相关阅读
- 如果你也在 Clash Verge Rev 中遇到规则不生效,可继续看按命中结果排查
- 先核对订阅与连接基础状态,再判断是不是分流规则问题
- 如果 Proxy 模式本身也无法连接,转看节点连接失败的分层排查
- 如果对照测试指向 DNS,再看 DNS 设置与症状排查