Shadowrocket 是一款基于 iOS 系统的网络代理工具,支持多种代理协议和规则分流,它并非 VPN,而是通过代理服务器转发特定流量。
核心特性:
- 支持 Shadowsocks、ShadowsocksR、VMess、VLESS、Trojan、HTTP(S)、SOCKS5 等协议
- 基于域名的规则分流系统(Rule-based proxy)
- 支持 GeoIP 和 GeoSite 数据库
- 本地 DNS 映射与 DoH/DoT 支持
- 流量统计与日志记录
- 小组件与快捷指令支持
配置节点
手动添加节点
路径: 首页 → 右上角 → 选择协议类型
通用字段说明:
- 服务器:域名或 IP 地址
- 端口:服务器端口号
- 密码/UUID:身份验证凭证
- 加密方法:如
aes-256-gcm、chacha20-poly1305(SS)或auto(VMess) - 插件:可选的 obfs/simple-obfs 或 v2ray-plugin 配置
订阅配置
URL 订阅:
- 首页 → 右上角 → 类型选择
Subscribe - 粘贴订阅链接(支持 Base64 或 SIP008 格式)
- 开启「自动更新」可定期同步节点
文件导入:
- 支持
.conf、.json、.yaml配置文件直接导入 - 可通过 iCloud、AirDrop 或 URL scheme 导入
规则配置(Rules)
规则类型
| 类型 | 说明 | 示例 |
|---|---|---|
| DOMAIN | 完整域名匹配 | DOMAIN,www.google.com,Proxy |
| DOMAIN-SUFFIX | 后缀匹配 | DOMAIN-SUFFIX,google.com,Proxy |
| DOMAIN-KEYWORD | 关键词匹配 | DOMAIN-KEYWORD,google,Proxy |
| IP-CIDR | IP 段匹配 | IP-CIDR,192.168.1.0/24,Direct |
| GEOIP | 国家/地区代码 | GEOIP,CN,Direct |
| FINAL | 默认规则 | FINAL,Proxy |
规则策略
- PROXY:走代理节点
- DIRECT:直连
- REJECT:拒绝连接(可用于去广告)
- 自定义策略组:如
Auto、Select、Load Balance
配置模式
- 配置模式(Config):使用自定义规则文件
- 代理模式(Proxy):全局代理或直连
- 场景模式(Per-App):按应用指定代理规则
高级设置
DNS 配置
设置路径: 设置 → DNS → 域名系统
推荐配置:
本地映射:8.8.8.8, 1.1.1.1
DoH 服务器:https://dns.google/dns-query
备用 DNS:223.5.5.5
功能选项:
- IPv6:启用 IPv6 解析(需服务器支持)
- DNS over HTTPS/TLS:加密 DNS 查询
- 分应用 DNS:为特定域名指定 DNS 服务器
分流设置
- 绕过中国大陆:自动将国内 IP/域名直连
- 局域网直连:192.168.x.x、10.x.x.x 等内网地址不走代理
- Cellular 网络策略:可单独设置移动数据下的规则
证书管理
- 用于 HTTPS 解密(MITM)和 QUIC 拦截
- 需安装并信任根证书:设置 → 证书 → 生成新的 CA 证书 → 安装描述文件
功能模块
重写(Rewrite)
- URL 重写:修改 HTTP 请求/响应
- 302 跳转:强制 URL 跳转
- Reject:屏蔽特定请求(广告拦截)
示例规则:
^https?://example.com/ad - reject
^https?://old.com https://new.com 302
脚本(Script)
支持 JavaScript 脚本处理网络请求:
- HTTP 请求/响应修改
- 定时任务(Cron)
- 网络状态监听
脚本示例:
// 修改请求头
$httpClient.get({
url: "https://api.example.com",
headers: {
"User-Agent": "Custom Agent"
}
}, function(error, response, data) {
$done();
});
分流规则集(Rule Set)
可订阅远程规则集:
- ConnersHua(神机规则)
- lhie1 规则
- ACL4SSR 规则
URL Scheme
快速启动:
shadowrocket://toggle # 切换代理开关
shadowrocket://connect # 开启连接
shadowrocket://disconnect # 断开连接
添加节点:
shadowrocket://add?server=1.2.3.4&port=443&password=xxx&method=aes-256-gcm
常见问题(FAQ)
Q: 为什么无法连接?
- 检查节点配置是否正确(端口、密码、加密方式)
- 确认「全局路由」设置(建议先用「代理」模式测试)
- 检查 iOS 是否允许 VPN 配置(设置 → 通用 → VPN)
Q: 如何更新 GeoIP 数据库? 设置 → GeoLite2 数据库 → 更新(或自定义数据库 URL)
Q: 支持哪些加密方式?
- SS:
aes-256-gcm,chacha20-ietf-poly1305,2022-blake3-aes-256-gcm等 - VMess:
auto,aes-128-gcm,zero,none
Q: 如何备份配置?
支持 iCloud 同步,或导出 .conf 文件到文件 App。
配置文件示例
[General] bypass-system = true skip-proxy = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, localhost, *.local dns-server = 223.5.5.5, 8.8.8.8 fallback-dns-server = 1.1.1.1 ipv6 = false [Rule] DOMAIN-SUFFIX,apple.com,DIRECT DOMAIN-SUFFIX,google.com,PROXY GEOIP,CN,DIRECT FINAL,PROXY [Host] localhost = 127.0.0.1 [URL Rewrite] ^https?://example.com - reject
注意:Shadowrocket 为付费应用(App Store 购买),请通过官方渠道下载以确保安全,配置节点时请遵守当地法律法规。
如需特定协议的详细配置说明或脚本编写帮助,请告诉我具体需求。