Shadowrocket规则编写指南

什么是Shadowrocket规则

Shadowrocket是一款iOS平台上的代理工具,用户可以通过编写规则来实现对网络流量的精细化控制。规则编写是Shadowrocket使用的关键之一,能够帮助用户实现个性化的代理配置。

规则语法

在编写Shadowrocket规则时,需要了解一些基本的规则语法,包括匹配模式、代理行为等。

匹配模式

  • DOMAIN-SUFFIX:域名后缀匹配
  • DOMAIN-KEYWORD:域名关键词匹配
  • IP-CIDR:IP地址段匹配
  • GEOIP:地理位置匹配

代理行为

  • PROXY:使用代理
  • DIRECT:直连
  • REJECT:拒绝连接
  • IPSET:添加到IP集合

常见规则类型

在实际编写规则时,常见的规则类型包括广告屏蔽、自定义代理、分流策略等。

广告屏蔽规则

广告屏蔽规则用于屏蔽指定域名或关键词的广告请求,提升浏览体验。

示例:

{
  "name": "AdBlock Rule",
  "type": "DOMAIN-SUFFIX",
  "value": "doubleclick.net",
  "behavior": "REJECT"
}

自定义代理规则

自定义代理规则允许用户自行指定特定域名或IP的代理行为,灵活配置网络访问路径。

示例:

{
  "name": "Custom Proxy Rule",
  "type": "DOMAIN-KEYWORD",
  "value": "google",
  "behavior": "PROXY",
  "destination": "ProxyServer"
}

分流策略规则

分流策略规则可根据域名、IP等条件将流量分流至不同的代理服务器,实现灵活的网络流量管理。

示例:

{
  "name": "Routing Rule",
  "type": "DOMAIN-SUFFIX",
  "value": "example.com",
  "behavior": "PROXY",
  "destination": "ProxyServerA"
}

规则编写实例

以下是一个简单的Shadowrocket规则编写实例,用于理解规则的基本结构和语法���

{
  "name": "Example Rule",
  "type": "DOMAIN-SUFFIX",
  "value": "example.com",
  "behavior": "PROXY",
  "destination": "ProxyServer"
}

常见问题解答

如何导入自定义规则?

可以通过在Shadowrocket应用中的“配置”-“导入配置文件”来导入自定义规则。

规则编写中的常见错误有哪些?

  • 语法错误:缺少逗号、括号不匹配等
  • 规则冲突:多条规则匹配同一流量时可能产生冲突

规则的优先级如何确定?

规则的优先级按照规则在配置文件中的先后顺序确定,越靠前的规则优先级越高。

如何测试规则是否生效?

可以通过访问特定的网站或应用,观察代理日志或网络请求日志来验证规则是否生效。

正文完