这是一个非常典型的误判场景:订阅正常、大部分网站都能开,偏偏某一个 App 打不开, 于是得出「这家机场把这个 App 限制了」的结论,然后去换一家。
换完,同样的问题原样复现 —— 因为分流规则跟着客户端走,不跟着服务商走。
有用户来说「订阅用不了,Threads 和 Reddit 也有限制,我要换机场」。 实际排查下来,订阅是好的,节点也是好的 —— 是客户端的分流规则里没有那两个 App 用的新域名, 结果它们的流量被当成国内流量走了直连,自然打不开。
⇒ 切一下全局代理就能开。这一单差点因为一个规则清单没更新而流失。
iOS 客户端默认不是「所有流量都走代理」,而是按一份规则清单分流:
问题就出在第三条。分流规则本质是一份由社区维护、周期性更新的域名清单, 一个新 App 上线之后,它用的域名要过一段时间才会被收进去。在此之前, 客户端「不认识」这些域名,就按默认走了直连 —— 而直连当然打不开。
不是机场限制你,也不是客户端有 bug,是规则清单的更新天然滞后于新 App 的上线。 每隔几个月有新 App 流行起来,就会来一批同样的问题。 知道这个机制,以后遇到任何「某个 App 打不开」都能自己定性。
1切全局代理验证。 小火箭首页 →「全局路由」→ 选「代理」(Proxy)。这会让所有流量强制走代理, 绕开分流规则。重新打开那个 App。
能开 → 确定是分流问题,跳到下面「三种修法」。
不能开 → 继续第 2 步。
2换一个地区的节点。 有些 App 会按 IP 所在地区做限制,或者某个地区的节点恰好被目标服务屏蔽。 从香港换到日本、新加坡各试一个。
换了就能开 → 是节点地区的问题,固定用能开的那个地区即可。
都不行 → 继续第 3 步。
3确认是不是全站性问题。 这时候去开几个别的国外网站。如果其它也普遍打不开, 那就不是这个 App 的事,去看 导入失败与连不上的四层排查。
「代理」模式是验证工具,不是长期设置。一直开着的话, 国内网站的流量也会绕一圈出国再回来 —— 又慢又费流量。 定性完就切回「配置」,然后按下面的方法修规则。
| 办法 | 怎么做 | 适合谁 |
|---|---|---|
| ① 更新规则 (推荐先试) |
手动更新一次订阅 / 配置文件。很多服务商的配置里带的是在线规则集,更新后就会拿到新域名 | 所有人。成本最低,经常一次就好 |
| ② 手动加规则 | 在客户端的配置里,为该 App 的域名加一条走代理的规则 | 愿意动手的。最精准,不影响其它流量 |
| ③ 长期用全局代理 | 全局路由一直保持「代理」 | 怕麻烦的。代价是国内流量也绕路,会明显变慢 |
三个条件同时成立,才轮得到换家:
只满足第一条不够 —— 那可能是节点地区问题。 只有单个 App 打不开就换服务商,换完大概率还是一样, 因为你带走的是同一个客户端和同一份分流规则。
大概率不是。机场限制通常是整体性的,不会只针对一个 App。 最常见的原因是分流规则没覆盖到这个 App 用的域名,导致它走了直连。 把全局路由切成「代理」再试,能开就说明是规则的问题。
把小火箭首页的「全局路由」从「配置」切成「代理」,让所有流量强制走代理, 然后重新打开那个 App。能打开就是分流规则的问题,节点是好的; 仍然打不开,才需要去查节点和网络。
分流规则本质是一份域名清单,由社区维护并周期性更新。 新 App 上线后,它使用的域名需要一段时间才会被收进规则集。 在此之前客户端不认识这些域名,按默认策略处理,往往就是直连。
三种,按推荐顺序:① 更新订阅或规则集,拿到最新域名清单; ② 手动为该 App 的域名加一条走代理的规则; ③ 临时把全局路由保持在「代理」——简单,但国内流量也会绕一圈,速度变慢。
切到全局代理后仍然打不开、换了不同地区的节点也打不开、同时其它网站也普遍不正常 —— 三条同时成立才可能是服务商的问题。 只有单个 App 打不开就换家,换完大概率还是一样, 因为分流规则跟着客户端走,不跟着服务商走。
操作路径基于 Shadowrocket iOS 版,其它客户端的对应设置一般叫「全局模式 / Global」。 文中「真实用户反馈」为本站收到的用户咨询场景,已去除品牌与个人信息。 本文不含任何测速或解锁数字 —— 本站只发布做过实测的数据。