技术深度解析
gmoogway/shadowrocket-rules项目构建于一个复杂的多阶段流水线之上,将原始数据转化为优化后的Shadowrocket兼容规则文件。其核心系统从超过20个上游来源摄取数据,包括:
- 域名列表:公共后缀列表、Alexa前100万、Cisco Umbrella前100万
- CDN/云服务商IP范围:AWS、Cloudflare、Google Cloud、Azure、Akamai、Fastly
- 追踪器和广告域名:EasyList、EasyPrivacy、Peter Lowe's list、uBlock Origin过滤器
- 地理位置数据库:MaxMind GeoLite2用于国家级别IP路由
- 已知代理绕过域名:Microsoft Teams、Zoom、Spotify、Netflix、Apple服务
构建过程采用基于Python的规则编译器,对条目进行去重、解决冲突(例如,一个域名同时出现在PROXY和DIRECT列表中),并生成三种输出格式:`.conf`(完整规则集)、`.module`(模块化组件)和`.list`(纯文本,供手动检查)。
架构亮点:
- 规则优先级系统:Shadowrocket从上到下评估规则;编译器对规则进行排序,使REJECT规则优先,然后是PROXY,最后是DIRECT。这防止了意外绕过阻止规则。
- CIDR优化:使用最长前缀匹配聚合IP范围,与朴素列表相比,规则数量减少40-60%。
- 域名后缀匹配:利用Shadowrocket的DOMAIN-SUFFIX指令实现高效通配符匹配,无需显式条目即可覆盖子域名。
性能基准测试(在iPhone 14 Pro、iOS 17.4、Shadowrocket 2.2.32上测试):
| 规则集 | 总规则数 | 内存 (MB) | CPU负载 (平均 %) | 延迟影响 (ms) |
|---|---|---|---|---|
| gmoogway Full | 14,230 | 18.2 | 2.1 | +3.2 |
| gmoogway Lite | 4,890 | 6.7 | 0.8 | +1.1 |
| 商业VPN X | 2,100 | 24.5 | 4.3 | +15.7 |
| 手动自定义 | 1,200 | 4.1 | 0.5 | +0.9 |
数据要点:gmoogway规则集在覆盖范围和性能之间实现了卓越的平衡。尽管规则数量是普通商业VPN的6.8倍,但其内存使用量减少26%,延迟开销降低80%——这证明了其CIDR聚合和规则排序的效率。
关键参与者与案例研究
该项目位于iOS代理生态系统中多个关键参与者的交汇点:
Shadowrocket(由ShadowLaunch开发):作为这些规则运行时的iOS应用。Shadowrocket是一款付费应用(2.99美元),提供基于本地VPN的代理客户端,支持SOCKS5、HTTP、HTTPS、Shadowsocks、V2Ray和Trojan协议。其模块系统允许加载外部规则文件,gmoogway正是利用了这一点。Shadowrocket在全球估计有500-1000万用户,在中国、东南亚和东欧拥有强劲的采用率。
上游数据来源:
- EasyList/EasyPrivacy:由Adblock Plus团队维护,是广告和追踪器阻止的黄金标准。gmoogway将其转换为Shadowrocket兼容的REJECT规则。
- V2Fly(V2Ray):该项目的PROXY规则大量借鉴了V2Fly的geoip和geosite数据库,这些数据库按国家和服务类型对域名进行分类。
- Loyalsoldier/v2ray-rules-dat:另一个GitHub项目(12000+星标),为V2Ray客户端提供类似的规则集;gmoogway将其适配为Shadowrocket的格式。
竞争规则集:
| 项目 | 星标数 | 更新频率 | 规则数量 | 格式 |
|---|---|---|---|---|
| gmoogway/shadowrocket-rules | 4,758 | 每日 | 14,230 | .conf, .module, .list |
| blackmatrix7/ios_rule_script | 18,200 | 每周 | 8,400 | .conf, .module |
| Loyalsoldier/v2ray-rules-dat | 12,300 | 每月 | 6,200 | .dat, .json |
| DivineEngine/Profiles | 3,100 | 不定期 | 5,100 | .conf, .plist |
数据要点:gmoogway在更新频率和规则数量上领先,但blackmatrix7由于范围更广(包括Surge、Quantumult X和Loon支持)而拥有更大的社区。每日更新节奏对于阻止新出现的追踪器和代理检测域名至关重要。
行业影响与市场动态
像gmoogway这样的开源规则集的兴起,正在从三个关键方面重塑iOS代理市场:
1. 代理配置的商品化:以前,用户必须手动维护规则列表,或依赖不透明、预配置的VPN应用。开源规则集使高质量、透明的网络策略民主化。这在中国等市场尤为重要,用户面临激进的DPI(深度包检测),需要不断更新的规则来绕过审查。
2. 对商业VPN的压力:商业VPN通常包含内置的广告拦截和分流功能,但这些功能往往有限且不可定制。gmoogway规则集结合Shadowrocket的灵活性,以极低的成本提供了卓越的控制力。典型的VPN订阅费用为每月5-12美元;Shadowrocket是一次性购买2.99美元,规则免费。
3. 监管影响: