什么是Shadowrocket
Shadowrocket是一款在iOS上使用的网络代理工具,它可以帮助用户绕过这些限制,享受更自由的互联网体验。尤其适用于需要翻墙的人群。Shadowrocket通过用户制定规则以决定哪些流量需要通过代理,哪些则不需要。
Shadowrocket的规则结构
在Shadowrocket中,规则的基本语法格式一般为:
规则类型, 匹配方案, 代理节点
理解这一结构是学习如何编写规则的第一步。典型的规则类型包括常见的Proxy、Reject和DNS等,而匹配方案包括域名、IP或关键字等。
Shadowrocket规则的类型
在实际使用中,Shadowrocket主要提供以下几种规则类型:
- Proxy:将匹配的流量通过指定代理节点代理。
- Reject:直接拒绝访问匹配的流量。
- DNS:指定DNS解析规则。
Proxy规则使用详解
最常用的规则是Proxy规则,使用此规则需要按以下格式书写:
PROXY, domain=example.com, yourProxyNode
这里,yourProxyNode
是你在Shadowrocket中配置的代理节点名。
Reject规则使用详解
为了屏蔽某些流量,我们使用Reject规则,格式如下:
REJECT, domain=example.com
如上所示,所有访问example.com
的流量将被拒绝。
DNS规则使用详解
通过设置DNS规则,用户可以选择特定的DNS解析方式,防止DNS污染。它的基本格式如下:
DNS, domain=example.com, dnsServerIP
例如,指定使用一个可靠的DNS服务器解析某个域名。
Shadowrocket规则的匹配方案
在规则中,匹配方案同样至关重要,它决定了哪类流量应用相应的流量控制。以下是常用的匹配方案:
- domain:精确匹配域名
- domain-suffix:后缀匹配
- ip-address:某个IP指定的规则
- keyword:含有特定关键字的URL
常用匹配方案示例
- 对于特定网站的IP过滤:
REJECT, ip-address=192.168.1.1
- 对某个后缀域名排除匹配:
PROXY, domain-suffix=example.com, yourProxyNode
- 关键字过滤示例:
REJECT, keyword=blockedKey
编写Shadowrocket规则的最佳实践
编写规则并有效化处理流量需要注意的几个要点:
- 清晰命名代理节点:便于规则编写与维护。
- 合理顺序排列规则:Prevent 访问的流量通常应该放在前面。
- 定期维护规则:搭建的环境可能会变化,及时更新规则条目。
Shadowrocket规则实例
为了帮助了解,我们可以拿出一些众多真实的规则做为案例分析:
- 拒绝所有涉及到特定关键字的请求:
REJECT, keyword=exampleKeyword
- 使用代理的规则设置:
PROXY, domain-suffix=youtube.com, youtubeProxyNode
- 适合本地服务使用的DNS规则:
DNS, domain=specialservice.local, 8.8.8.8
FAQ(常见问题解答)
如何在Shadowrocket中添加规则?
在Shadowrocket应用中,用户可以通过点击右上角的“配置”选项,选择“编辑”来手动添加新规则或者导入现成的规则文本。
Shadowrocket支持哪些格式的规则?
Shadowrocket支持的规则数组格式包括:MongoDB下载格式、JSON格式、Swift模式、Shadowsocks原协议等用户熟知的网络协议格式。
能否运行多个Shadowrocket规则?
可以,但规则需要设置好优先级,系统会根据顺序执行直至找到第一个匹配条目。
如何实时测试我添加的规则?
在Shadowrocket的测试功能中,可以输入网站URL直接进行测试,观察是否经过代理,是否有效被接受或拒绝。
总结
通过本篇文章,读者应能对Shadowrocket的相关规则写法获得更全面的理解。在力争自由上网权益的日常使用中,规则的逐步精细化和高效编写将最大限度利用已配置好的代理。