内容纲要

🗂 | 本文目录: Surge 指南


RULE-SET

RULE-SET 分为内置规则集和外部规则集,内部规则集目前是两种:SYSTEMLAN

内置规则集:SYSTEM

可匹配来自 macOS 和 iOS 自身的大多数系统请求,App Store 和 iTunes 等其他内容服务的请求不会被匹配。

它的内容是:

USER-AGENT,*com.apple.mobileme.fmip1
USER-AGENT,*WeatherFoundation*
USER-AGENT,%E5%9C%B0%E5%9B%BE*
USER-AGENT,%E8%AE%BE%E7%BD%AE*
USER-AGENT,com.apple.geod*
USER-AGENT,com.apple.Maps
USER-AGENT,FindMyFriends*
USER-AGENT,FindMyiPhone*
USER-AGENT,FMDClient*
USER-AGENT,FMFD*
USER-AGENT,fmflocatord*
USER-AGENT,geod*
USER-AGENT,locationd*
USER-AGENT,Maps*
DOMAIN,api.smoot.apple.com
DOMAIN,captive.apple.com
DOMAIN,configuration.apple.com
DOMAIN,guzzoni.apple.com
DOMAIN,smp-device-content.apple.com
DOMAIN,xp.apple.com
DOMAIN-SUFFIX,ess.apple.com
DOMAIN-SUFFIX,push-apple.com.akadns.net
DOMAIN-SUFFIX,push.apple.com
DOMAIN,aod.itunes.apple.com
DOMAIN,mesu.apple.com
DOMAIN,api.smoot.apple.cn
DOMAIN,gs-loc.apple.com
DOMAIN,mvod.itunes.apple.com
DOMAIN,streamingaudio.itunes.apple.com
DOMAIN-SUFFIX,lcdn-locator.apple.com
DOMAIN-SUFFIX,lcdn-registration.apple.com
DOMAIN-SUFFIX,ls.apple.com
PROCESS-NAME,trustd

使用方法:

RULE-SET,SYSTEM,DIRECT

内置规则集:LAN

可匹配局域网 IP 地址和 .local 后缀,请注意该规则集会触发 DNS 请求。

它的内容为:

DOMAIN-SUFFIX,local
IP-CIDR,192.168.0.0/16
IP-CIDR,10.0.0.0/8
IP-CIDR,172.16.0.0/12
IP-CIDR,127.0.0.0/8
IP-CIDR,100.64.0.0/10
IP-CIDR,224.0.0.0/4
IP-CIDR6,fe80::/10

注意这里的「请注意该规则集会触发 DNS 请求」,如果看过之前的文章应该就会明白这是和 no-resolve 选项有关,但有关局域网的部分不单是匹配 IP 本身,一些 IP 为本地网络的域名也应该包含在内,所以不应该使用 no-resolve 选项。

故而一般的配置都会将此放置于配置末尾(在 DOMAIN 相关类型规则之后就不会触发)。

使用方法:

RULE-SET,LAN,DIRECT

外部规则集

外部规则集就是从另一个文件或者 URL 引用规则集。

其实从上述两个内置规则集例子可以看出,所谓的规则集就是将多个子规则放在一个单独的文件中,便于分享和复用。但是规则集中的规则不可以指定策略,而是将整个规则集指向一个同一个策略。

可以将制作好的规则集文本文件放置在服务器上进行引用,如:

RULE-SET,https://www.example.com/direct.list,DIRECT

在配置里使用 RULE-SET 类型规则,内容就是规则集地址,然后加上策略即可。

DOMAIN-SET

DOMAIN-SET 实际属于「标准规则」,但是其功能类似 Ruleset 所以放在一篇文章里说了。

RULE-SET 可包含所有类型的子规则,执行效率和在主配置中的规则没有区别,DOMAIN-SET 仅可使用 DOMAINDOMAIN-SUFFIX 两种形式的内容,使用了特别的逻辑进行优化,在内容非常多时性能有极大的提升。(千条以上,否则两者没有太大的区别)

DOMAIN-SET 文件内容示例如下:

.doubleclick.net
static.googleadsserving.cn
1.1.1.1

文件中每行为一个域名或一个 IP 地址,如果某行以 . 开头则表示匹配所有子域名和该域名本身。

⚠️ 注意:IP 仅支持一个 IP 地址,不支持类似 IP-CIDR 类型规则的子网掩码号的写法

它的使用方法也类似 Ruleset:

DOMAIN-SET,https://www.example.com/reject.list,REJECT

参考