Shadowrocket(俗称小火箭)是iOS平台主流的代理客户端,白名单模式可实现精细化流量控制,仅让指定域名或IP走代理通道,本文详解白名单配置步骤、规则写法及常见问题解决方案。
什么是白名单模式
白名单模式与黑名单模式相对应,黑名单模式下,除规则匹配的域名直连外,其他流量全部走代理;白名单模式则相反,仅规则内的域名走代理,其他流量直连,这种模式适合需要精确控制代理流量的场景,
- 跨境办公仅访问特定学术资源站点
- 访问国际网络加速服务时只代理目标域名
- 减少不必要的代理流量,降低延迟
小火箭APP白名单配置步骤
进入配置管理
打开Shadowrocket,点击底部「配置」标签页,点击右上角「+」添加新配置,推荐选择「从URL导入」订阅链接,或手动编辑本地配置文件。
编辑规则部分
在配置文件中找到rules字段,添加白名单规则,基础写法如下:
rules: # 白名单域名走代理 - DOMAIN-SUFFIX,example.com,Proxy - DOMAIN-KEYWORD,academic,Proxy # 其他流量直连 - MATCH,Direct
启用规则集(推荐)
对于需要管理大量白名单域名的场景,建议使用规则集功能:
rules:
- RULE-SET,whitelist,Proxy
- MATCH,Direct
rule-providers:
whitelist:
type: file
behavior: domain
path: ./whitelist.yaml
将需要走代理的域名写入whitelist.yaml文件,格式为:
payload: - '+.example.com' - '+.academic-resource.org'
分流规则类型与优先级
理解不同规则类型的匹配逻辑,是配置高效白名单的关键:
| 规则类型 | 写法示例 | 匹配逻辑 |
|---|---|---|
| DOMAIN | DOMAIN,www.google.com |
精确匹配域名 |
| DOMAIN-SUFFIX | DOMAIN-SUFFIX,google.com |
匹配域名后缀 |
| DOMAIN-KEYWORD | DOMAIN-KEYWORD,google |
关键词匹配 |
| IP-CIDR | IP-CIDR,10.0.0.0/8,Proxy |
IP段匹配 |
| GEOIP | GEOIP,US,Proxy |
国家/地区匹配 |
优先级顺序:规则按从上到下依次匹配,命中后停止,因此白名单规则应放在其他通用规则之前。
TUN模式与系统代理的区别
小火箭APP支持两种运行模式:
- 系统代理模式:仅接管HTTP/HTTPS流量,兼容性较好但无法处理UDP
- TUN模式:创建虚拟网卡接管所有流量,包括UDP和游戏场景
白名单设置在两种模式下均有效,TUN模式下,即使应用未配置代理,白名单匹配的流量仍会被拦截并走代理通道。
常见问题排查
现象:白名单域名未走代理
原因:规则优先级错误或域名格式不匹配
解决方法:检查规则是否在其他规则之前;确认域名使用DOMAIN-SUFFIX还是DOMAIN写法;尝试添加前缀启用模糊匹配
现象:非白名单域名意外走代理
原因:配置文件中存在全局代理规则
解决方法:确保最后一条规则为MATCH,Direct,避免遗漏流量走代理
现象:规则集加载失败
原因:规则集文件路径错误或格式不规范
解决方法:检查path路径是否正确;确认whitelist.yaml文件存在于配置目录
节点订阅配置建议
配置好白名单规则后,需要添加有效的节点订阅才能正常使用代理服务,建议选择支持多协议的中转或专线节点,4K视频需高带宽线路,跨境办公场景优先考虑低延迟节点,可使用SubConverter工具将不同格式的订阅链接转换为小火箭兼容格式。
