@kfk_ai: https://x.com/kfk_ai/status/2065346037288730995

X AI KOLs Following 工具

摘要

深度解析 Shadowrocket 的规则系统与智能分流功能,强调其作为可编程路由器的本质,提供从基础规则到高级功能(HTTPS解密、加密DNS、广告拦截)的完整教程。

https://t.co/nbFXELOFy1
查看原文
查看缓存全文

缓存时间: 2026/06/12 19:01

你真的会用 Shadowrocket 吗?

开着代理刷网页,慢得像回到了拨号上网的年代;微信突然一直转圈,怎么刷都刷不出来;打开淘宝,莫名其妙变成了国际版——如果你把这些都怪到「节点不好」头上,那只说明一件事:你根本没在用小火箭,你只是把它当成了一个开关。

Shadowrocket 从来就不是一个「翻墙软件」。它是一台跑在你手机里的可编程路由器,「能刷出谷歌」只是它顺手能做的事里,最不起眼的一件。

而大多数人,用了它好几年,连一成的本事都没碰到过。

先搞清楚它是什么

你手机上每一次联网——打开一个网页、某个 App 在后台请求数据——这些流量都会先经过小火箭。它要做的事只有一件:为每一条请求做决定,是走代理,是直连,还是干脆拒绝。

这就是「能用」和「会用」的分水岭。能用的人,把所有流量一股脑塞进一个节点,全局代理;会用的人,写了一套规则,让不同的流量各走各的路:该出国的出国,该留在国内的留在国内,该拦的直接拦掉。

而决定这一切的,就是它的王牌——规则系统。

王牌:颗粒度极细的规则系统

在 iOS 上,论分流的精细程度,小火箭属于第一梯队,它用的是和 Surge 同源的一套规则语法。所谓「细」,是指你几乎可以从任何一个维度去描述一条流量。

按域名匹配,是最常用的一类。DOMAIN 精确匹配单个域名,DOMAIN-SUFFIX 匹配后缀(写一个 google.com 就能覆盖它名下所有子域名),DOMAIN-KEYWORD 按关键词模糊匹配,DOMAIN-WILDCARD 则支持通配符。

按 IP 和地理位置匹配,是分流的另一根支柱。IP-CIDR 匹配一个网段,IP-ASN 按 IP 所属的运营商网络匹配,而最关键的是 GEOIP——它能判断一个 IP 是否归属于某个国家,GEOIP,CN 就代表「这是一个国内 IP」。

除此之外,还能按请求本身的特征来匹配:USER-AGENT 识别发起请求的 App 标识,URL-REGEX 用正则去匹配整条 URL,DST-PORT 匹配目标端口。更进一步,AND、OR、NOT 这类逻辑规则可以把多个条件组合起来,RULE-SET 则能直接引用一份远程维护的规则集,省去自己一条条写。

每一条规则的结尾,都跟着一个策略,告诉小火箭命中之后该怎么办:PROXY 走代理,DIRECT 直连,REJECT 拦截。三个动作,配上前面那一堆匹配维度,就是整套分流逻辑的全部积木。

最容易踩的坑:顺序就是一切

这是新手最常忽略、也最致命的一点:规则是从上往下逐条匹配的,一旦命中某一条,匹配立刻停止,后面写得再精细也不会再看。

换句话说,规则的顺序直接决定结果。如果你把一条「兜底全部走代理」的 FINAL,PROXY 放到了最前面,那后面所有精心写的分流规则全部作废,因为流量在第一行就被截胡了。

正确的写法,是把最具体、最该优先的规则放在最上面,把兜底规则放在最末尾。小火箭在编译配置时也遵循一套隐含的优先级:模块里的规则高于配置文件,域名类规则高于 IP 类规则,能够精确匹配的显式规则(如 DOMAIN)排在靠前,依赖数据库推断的规则(如 GEOIP)排在其后,而 FINAL 永远是最后兜底的那一条。

一份最小的分流配置,骨架大致是这样:

[Rule] DOMAIN-SUFFIX,openai.com,PROXY DOMAIN-KEYWORD,google,PROXY DOMAIN-SUFFIX,cn,DIRECT GEOIP,CN,DIRECT FINAL,PROXY

读起来就是一句话:OpenAI 和谷歌相关的走代理,明确是国内的域名直连,剩下凡是国内 IP 的直连,其他一律走代理。

智能分流:为什么微信、支付宝、银行 App 不受影响

理解了规则,就能理解小火箭最实用的价值——智能分流。它的核心思路只有一句:国内流量直连,国外流量走代理。一行 GEOIP,CN,DIRECT,就能让绝大多数国内 IP 不必绕一圈国外节点。

这件事的好处是实打实的。国内的 App 不经过境外服务器,延迟低、不卡顿;更重要的是不容易触发风控——银行、支付类 App 一旦检测到你的请求来自境外 IP,很可能弹出额外验证甚至直接限制操作。很多人遇到的「微信一直转圈」,背后往往就是分流或 DNS 没配对,把本该直连的国内流量错误地送进了代理。

好消息是,你不需要从零开始写这些。小火箭内置了一份默认配置 default.conf,里面已经包含了一套覆盖大多数场景的国内外分流规则,开箱即用。想要更准、更全的话,可以换上社区长期维护的第三方规则集(blackmatrix7、Johnshall 等都是常见来源),不仅分流判断更精细,往往还顺手带上了去广告功能。

这里有个容易被忽略的细节:GEOIP 依赖一份 IP 地理数据库,如果数据库太久没更新,分流就会出错——典型症状包括 ChatGPT 的流量没走代理、淘宝莫名其妙跳转到国际版。定期更新 GeoIP 数据库,是保持分流准确的一个小习惯。

顺带一提,iOS 系统本身并不提供「为某个 App 单独设置代理」的能力,所以小火箭里所谓的「分应用代理」,其实都是通过域名、IP、UA 这些规则去近似实现的。理解了这一层,你就不会再去找一个根本不存在的「按 App 开关」了。

被大多数人忽略的进阶工具箱

规则之外,小火箭还藏着一整套高级功能,它们才是把这款软件和普通「机场客户端」区分开的地方。

流量统计与日志,是最该先用起来的。打开代理日志后,每一条请求命中了哪条规则、最终走了什么策略,都会被清清楚楚地记下来。当你怀疑「这个网站到底走没走代理」,看一眼日志就有答案,这是排查分流问题最直接的手段。DNS 日志则能告诉你每个域名被解析成了哪个 IP。

广告拦截,靠的是 REJECT 策略配合广告域名规则集,直接在网络层把广告请求掐断。这比浏览器插件更彻底,因为它连 App 内部的广告请求也能拦下来。REJECT 还有多种返回形式,比如回一张 1 像素的透明 GIF,避免页面因为请求被拦而留下一块空白。

本地 DNS 映射(Hosts),可以把某个域名直接钉死到一个指定 IP,绕过正常的 DNS 解析。无论是访问内网服务、加速特定站点,还是屏蔽某个域名,都用得上。

加密 DNS,小火箭支持 DoH、DoT、DoQ 等多种形式,把 DNS 查询本身加密传输,能在相当程度上缓解 DNS 污染和劫持。

HTTPS 解密(MITM),是其中最强、也最需要谨慎的一项。安装并信任一张 CA 证书之后,小火箭就能解密你这台设备上的 HTTPS 流量,从而对请求做重写、去广告、脚本改写等深度操作。但要清楚:它的本质,是对你自己的设备做了一次「中间人」。这意味着只应该对你完全信任的配置开启它,证书也要妥善保管——这是一把锋利的双刃剑。

那么,「会用」到底意味着什么

会填一个节点,只是入门。真正的「会用」,是你脑子里有了一张流量的地图:一条请求进来,你大致能说出它会往哪走。

当你能盯着日志判断「这一条为什么走了直连」,能为某个特定的服务单独补一条规则,能在卡顿的时候分辨出问题是出在节点还是出在分流——到这一步,你才算真的会用 Shadowrocket。

它从来都不只是一个「翻墙」的开关,而是一套让你重新掌控自己设备网络流量的工具。开关谁都会拨,但那张地图,需要你自己去画。

相似文章

@PinYunYes: 你确定你会用 Shadowrocket 吗? 大多数人的用法:打开 App → 导入订阅 → 点连接。然后就放着不管了。 直到某天支付宝转圈、微信转账卡住、银行 App 直接闪退。第一反应:手机老了。 其实不是。是没做分流。所有流量全走代…

X AI KOLs Timeline

介绍了 Shadowrocket 的正确配置方法,包括加载远程规则模块实现智能分流,避免国内网站走代理导致卡顿,并提供了 TUN 模式配置和去广告模块。