搜索 K
Appearance
很多人以为「小火箭配置」是玄学,实际上它是���道非常确定的工程题:规则引擎的匹配顺序 + 出口节点的物理链路质量 + DNS 解析路径,三者共同决定你最终看到的体验。缺任何一环,都会出现「视频能刷但图片加载慢」「广告屏蔽了却崩了某 App」「TikTok 免拔卡今天好用明天失效」这类症状。
直接给结论:
no-resolve 参数、规则匹配顺序、FINAL 兜底策略这三处写错,是 90% 用户「国内网站变慢」的根因。下文按「机理 → 对比矩阵 → 选型 → 实操 → 排障 → 避坑 → FAQ」的顺序展开,可以按需跳读。
Shadowrocket 的 [Rule] 段本质是一个有序链表,从上往下逐条比对,命中第一条即执行对应策略并终止匹配。这带来两个直接后果:
GEOIP,CN,DIRECT 写在广告 REJECT 规则之前,广告域名就会被判定为国内 IP 而直连放行,屏蔽直接失效。因此正确的书写顺序永远是:精确域名规则 → 域名后缀规则 → IP 段规则 → GEOIP 兜底 → FINAL。
no-resolve IP-CIDR 和 GEOIP 这两类规则需要先解析出 IP 才能判断。如果不加 no-resolve,客户端会在每次请求前发起一次 DNS 查询,在跨境链路下这往往意味着 50ms 到 300ms 不等的额外延迟。
写法上应该是:
[Rule]
DOMAIN-SUFFIX,cn,DIRECT
IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY,dns-failedno-resolve 的含义是「仅对已经拿到的 IP 做判断,不主动触发解析」,在直连规则上大量使用可以显著降低首包延迟。
这是最容易被忽略的一层。Shadowrocket 只负责「把包导到哪个出口」,真正的体验上限由���口链路决定:
0.1% 以内,代价是带宽成本高,所以专线机场通常按流量计费。结论很直白:规则决定「走得对不对」,线路决定「走得快不快」。这两件事要分开诊断,不要混为一谈。
以下数据来自 AirPick 实验室在 iOS 17/18 双版本、iPhone 14 Pro 与 iPhone 15 Pro 各 3 台设备上的重复测试,取中位数。测试使用同一节点(香港 IEPL,200Mbps 独享),仅替换规则集。
| 量化指标 | ACL4SSR 精简版 | Loyalsoldier | blackmatrix7 | 自建混合方案(推荐) |
|---|---|---|---|---|
| 规则总条数 | 约 3,800 条 | 约 12,000 条 | 约 26,000 条 | 4,000 至 6,000 条 |
| 冷启动解析耗时 | 0.18s | 0.42s | 0.91s | 0.22s |
| 常驻内存占用 | 约 28MB | 约 41MB | 约 67MB | 约 33MB |
| 国内直连准确率 | 93.5% | 97.1% | 98.4% | 97.8% |
| 广告域名拦截覆盖 | 基础(约 55%) | 中等(约 70%) | 全面(约 88%) | 高(约 85%) |
| 流媒体分流精度 | 中等 | 较高 | 高 | 高 |
| TikTok 特殊域名处理 | 无 | 部分 | 完整 | 完整 + 自定 |
| 误杀率(国内 App) | 1.2% | 0.6% | 1.8% | 0.4% |
| 更新维护频率 | 周更 | 周更 | 日更 | 自主可控 |
| 上手门槛 | 低 | 低 | 中 | 中高 |
怎么读这张表:
0.4% 以下,代价是你要花时间维护。场景 A:只刷网页、社媒、学术搜索,月流量 50GB 以内 不需要复杂规则。一套精简的国内直连白名单 + FINAL,PROXY 就够,广告屏蔽用域名级 REJECT。这类用户对链路稳定性的敏感度远高于带宽,选专线比选大带宽划算。
场景 B:TikTok / 海外短视频重度用户 核心诉求是出口 IP 的「原生度」和地区一致性。规则层面要做两件事:把 TikTok 的地区探测域名单独挂到一个固定的目标地区策略组,其余流量走主策略组;同时屏蔽掉会泄露真实地区的遥测请求。
场景 C:国内 App 与海外服务混用 必须严防 DNS 泄漏和规则误杀。建议使用国内域名白名单 + GEOIP,CN,DIRECT,no-resolve 双层兜底,并把银行、支付、政务类 App 加入 skip-proxy 与 excluded 列表。
场景 D:小流量、预算敏感型用户 这类用户最容易踩坑:低价大流量套餐常见于超售严重的 BGP 中转,晚高峰体验崩塌。更理性的选择是买小流量包走专线。例如微风网络这类以 IEPL 专线为主、50GB/月起的小规格套餐,年付折合下来单月成本很低,对网页社交与学术检索这类低带宽高稳定性需求的场景,体验通常优于同价位的「大流量中转」。
小火箭支持三种导入方式:订阅链接、本地配置文件、.sgmodule 模块。推荐流程是:
.conf),确定 [General] 段的 dns-server、skip-proxy、bypass-tun。.sgmodule),模块只做增量,不覆盖主配置。[Rule] 的最顶部,确保优先级最高。导入后务必检查 [General] 中的 dns-server 是否被模块改成了境外 DNS。这是「导入模块后国内网站变慢」最常见的原因。
第一层:域名级 REJECT(必做,零风险)
[Rule]
DOMAIN-SUFFIX,doubleclick.net,REJECT
DOMAIN-SUFFIX,googlesyndication.com,REJECT
DOMAIN-SUFFIX,umeng.com,REJECT-DROP
DOMAIN-KEYWORD,adservice,REJECT
DOMAIN-SUFFIX,cn,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY注意 REJECT 与 REJECT-DROP 的区别:前者返回一个空响应,App 能立刻拿到结果继续执行;后者直接丢包,会让 App 等待超时。对于 SDK 类广告,REJECT 通常体验更好;对于后台埋点上报,REJECT-DROP 更省电。
第二层:MITM + 脚本(进阶,有代价)
用于处理信息流原生广告与激励视频。必须在 [MITM] 段配置 hostname 白名单,并在系统设置中信任证书。
风险清单:
skip-proxy,否则可能触发风控。结论:域名级 REJECT 是必做项,MITM 是可选优化项,不要为了去广告牺牲支付与账号安全。
先把机制说清楚。TikTok 国际版的地区判定是一个多因子交叉验证过程,主要参考:
在未越狱的 iOS 上,Shadowrocket 无法直接改写 SIM 卡的 MCC/MNC。 因此所谓「免拔卡」在工程上通常由以下三件事组合实现:
*.tiktokv.com、*.tiktokcdn.com、*.musical.ly、*.byteoversea.com 等后缀。配置示例:
[Rule]
DOMAIN-SUFFIX,tiktokv.com,TikTok-美国
DOMAIN-SUFFIX,tiktokcdn.com,TikTok-美国
DOMAIN-SUFFIX,byteoversea.com,TikTok-美国
DOMAIN-SUFFIX,musical.ly,TikTok-美国
DOMAIN-SUFFIX,ibytedtos.com,TikTok-美国其中 TikTok-美国 是在策略组中固定指向美国落地节点的独立分组。这样做的好处是:不影响你的主策略组,TikTok 流量始终从同一地区出口,避免地区漂移导致的风控。
客观提醒:成功率不是 100%,且会随客户端版本、节点 IP 生命周期波动。任何宣称「100% 永久免拔卡」的方案都值得怀疑。
规则写对了不代表链路没问题。以下是 AirPick 实验室的标准诊断流程,按顺序执行。
macOS / Linux 侧(检测节点与链路):
# 1. 检查到节点的路由跳数与丢包
mtr -rwzc 50 节点IP或域名
# 2. 检查 DNS 解析路径是否被污染
dig +short example.com @8.8.8.8
dig +trace example.com
# 3. 检查本地 DNS 配置(macOS)
scutil --dns | grep nameserver
# 4. 检查端口可达性与延迟
tcping -t 5 节点域名 443
# 5. 验证代理出口 IP 与 GeoIP 归属
curl -x socks5h://127.0.0.1:1080 https://ipinfo.io/jsoniOS 侧(小火箭内置):
Rule matched 行。| 症状 | 高概率根因 | 验证方式 | 处置 |
|---|---|---|---|
| 国内网站首屏慢,二次打开正常 | DNS 走了境外解析 | scutil --dns 查 nameserver | 把 DNS 改回国内 DoH 或运营商 DNS |
| 视频能加载,图片大面积空白 | 规则误杀了 CDN 域名 | 导出日志看 REJECT 命中项 | 将 CDN 后缀加入 DIRECT 白名单 |
| 所有流量都走代理 | FINAL 前缺少 GEOIP 兜底 | 日志中 FINAL 占比过高 | 补 GEOIP,CN,DIRECT,no-resolve |
| 晚高峰速度骤降,白天正常 | 公网中转绕路或超售 | mtr 看第 5 跳后丢包 | 换专线节点 |
| 单线程快,多线程并发极慢 | 节点侧 QoS 限速 | 并发 8 线程测速对比 | 更换机场或套餐 |
| 广告拦掉了但 App 崩溃 | 误杀了统计 SDK 依赖域名 | 关闭 REJECT 逐条回滚 | 放行该域名 |
| TikTok 提示网络异常 | 出口 IP 被标记或地区漂移 | 查出口 IP 的 ASN 归属 | 固定地区策略组,换原生 IP |
每次改完规则,做一次三件套验证:国内电商 App 打开速度、YouTube 4K 首帧时间、TikTok 是否能正常进入推荐流。三项都正常,说明规则没有引入新的误杀。
| 宣传话术 | 背后真相 | 识别方法 | 规避动作 |
|---|---|---|---|
| 「1000Mbps 独享」 | 通常是共享带宽的峰值标称 | 晚高峰 8 线程并发测速 | 只看晚高峰实测,不看标称 |
| 「无限流量」 | 常见于限速阈值后的降速套餐 | 查服务条款中的限速条款 | 明确限速阈值与降速后速率 |
| 「原生 IP 解锁全流媒体」 | 可能只是 DNS 解锁,非 IP 原生 | 查 IP 的 ASN 与实际解锁测试 | 要求提供实机解锁截图 |
| 「BGP 专线」 | BGP 是公网路由协议,不是专线 | 用 mtr 看是否经过公网骨干 | 区分「BGP 中转」与「IEPL/IPLC 专线」 |
| 「一键永久去广告」 | 依赖 MITM,随版本失效 | 观察两周后的实际拦截率 | 以域名级 REJECT 为主,脚本为辅 |
| 「免拔卡 100% 成功」 | 依赖 IP 原生度,非客户端能力 | 更换节点后是否立刻失效 | 优先选择原生 IP 节点 |
| 「规则越大越专业」 | 规则条数与效果无正相关 | 对比冷启动耗时与误杀率 | 按需裁剪,控制在 6000 条以内 |
| 「免费节点稳定可用」 | 通常超售严重或存在流量监听 | 观察延迟抖动与证书指纹 | 敏感流量绝不走免费节点 |
Q1:导入模块后,国内 App 反而变卡了,怎么排查? 先看 [General] 段的 dns-server 是否被改写为境外 DNS,这是最高频原因。其次检查模块是否在 [Rule] 顶部插入了 FINAL,PROXY,导致国内域名全部走代理。用「工具 → 日志」搜索 FINAL 的命中比例,超过 30% 就说明兜底规则有问题。
Q2:REJECT 和 REJECT-DROP 到底该用哪个?REJECT 返回空响应,App 会立刻继续执行,适合广告 SDK 这类需要快速失败重试的场景;REJECT-DROP 直接丢包,适合后台埋点上报,更省电但会让前台等待超时。拿不准时一律用 REJECT。
Q3:为什么测速很快,但看视频一直转圈? 典型的 QoS 限速特征。节点的单连接带宽被限制,测速工具用多线程跑出了峰值,但视频流是单连接长连接,拿不到那个带宽。用 curl 单线程下载一个大文件做对比测试即可确认。
Q4:TikTok 能进但推荐流刷不动,是什么问题? 通常是出口 IP 的地区与客户端缓存地区不一致,触发了风控降级。检查三件事:策略组是否固定同一地区、出口 IP 的 ASN 是否为该地区原生、是否有遥测请求回传了真实地区。建议固定一个策略组,不要频繁切换节点地区。
Q5:开启 MITM 后,某些 App 提示证书错误怎么办? 把该 App 的所有域名从 [MITM] 的 hostname 白名单中移除,并在 [General] 的 skip-proxy 中加入对应域名后缀。银行、支付、政务类 App 建议全局排除,不要开启解密。
Q6:规则条数对性能的影响到底有多大? 实测在 iPhone 13 及以上机型,6000 条以内差异不明显;超过 2 万条后,冷启动解析耗时增加约 0.5 到 0.8 秒,常驻内存增加约 30MB。老机型建议把规则裁剪到 6000 条以内。
Q7:换了好几个节点,TikTok 还是打不开,是规则问题吗? 把规则排除法用起来:临时切到全局代理模式再试一次。如果全局能通,说明是分流规则问题;如果全局也不通,问题在节点 IP 或链路质量,跟规则无关。这一步能省掉大量无谓的规则调试时间。
最后一句实在话:规则配置是一项「收益递减」的工作。从「完全不能用到能用」,做好国内直连白名单加 GEOIP 兜底就够了;从「能用」到「好用」,80% 的体感提升来自换一条靠谱的专线,剩下 20% 才来自规则精修。别把时间全花在调规则上。