目录
什么是 surge 规则
Surge 是一款功能强大的网络代理工具,它支持自定义规则来控制网络流量。surge 规则 就是用于配置 Surge 行为的一种特殊语法。通过编写 surge 规则,用户可以实现各种网络优化、内容过滤、代理转发等功能。
surge 规则主要包括以下几个方面:
- 基本语法: 用于定义 URL 匹配规则、流量处理方式等。
- 进阶语法: 支持正则表达式、条件判断、脚本编写等更复杂的功能。
- 配置示例: 针对不同应用场景提供现成的规则配置。
- 常见问题: 解答用户在使用 surge 规则时可能遇到的常见问题。
下面我们将逐一介绍 surge 规则的各个方面,帮助读者全面掌握 surge 规则的使用。
surge 规则语法
基本语法
surge 规则的基本语法如下:
[Rule] RULE-SET,category,policy DOMAIN,example.com,policy DOMAIN-SUFFIX,example.com,policy IP-CIDR,192.168.1.0/24,policy
RULE-SET
: 引用外部规则集DOMAIN
: 精确匹配域名DOMAIN-SUFFIX
: 匹配域名后缀IP-CIDR
: 匹配 IP 地址段
其中 policy
用于指定匹配流量的处理方式,如直连、代理、广告拦截等。
进阶语法
surge 规则还支持更复杂的语法,包括:
- 正则表达式: 使用
REGEX
关键字匹配 URL - 条件判断: 使用
IF
语句进行条件判断 - 脚本编写: 使用
SCRIPT
关键字运行 JavaScript 脚本
这些进阶语法可以帮助用户实现更灵活、更强大的规则配置。
surge 规则配置示例
常见应用场景
surge 规则可以应用于以下常见场景:
- 广告拦截: 拦截常见的广告域名和 IP 地址
- 内容优化: 加速常用网站的访问速度
- 网络代理: 设置代理服务器并进行分流
- 网络调试: 抓取和分析网络流量数据
实战配置案例
下面是一个综合性的 surge 规则配置示例:
[General] loglevel = notify skip-proxy = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, localhost, *.local bypass-tun = 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.0.0.0/24, 192.0.2.0/24, 192.88.99.0/24, 192.168.0.0/16, 198.18.0.0/15, 198.51.100.0/24, 203.0.113.0/24, 224.0.0.0/4, 255.255.255.255/32 interface = en0 replica = false ipv6 = false
[Proxy] DIRECT = direct Proxy = http, 192.168.1.1, 8080, username, password
[Proxy Group] Proxy = select, DIRECT, Proxy
[Rule] RULE-SET,https://example.com/surge.conf,Proxy DOMAIN-SUFFIX,google.com,Proxy DOMAIN,twitter.com,Proxy IP-CIDR,192.168.1.0/24,DIRECT GEOIP,CN,DIRECT FINAL,Proxy
这个配置示例包括了基本的网络设置、代理服务器配置以及各种规则匹配。通过这个配置,用户可以实现:
- 绕过内网 IP 段和特殊地址的代理
- 设置 HTTP 代理服务器并进行分流
- 匹配 Google、Twitter 等域名使用代理
- 匹配本地 IP 段直接连接
- 根据 GeoIP 信息判断是否使用代理
- 最终所有未匹配的流量使用代理
surge 规则常见问题
FAQ
-
如何编写 surge 规则?
- surge 规则的语法包括基本语法和进阶语法,用户可以根据需求选择合适的语法编写规则。
- 建议先学习基本语法,熟悉后再尝试使用进阶语法。
-
surge 规则有哪些常见应用场景?
- 广告拦截
- 内容优化
- 网络代理
- 网络调试
-
如何导入外部规则集?
- 可以使用
RULE-SET
关键字引用外部的规则集文件。 - 规则集文件需要遵循 surge 规则的语法格式。
- 可以使用
-
如何自定义 surge 规则的处理策略?
- 在规则中指定
policy
参数,可选的策略包括DIRECT
、PROXY
、REJECT
等。 - 用户也可以自定义策略组,使用
select
或url-test
等方式进行流量分发。
- 在规则中指定
-
surge 规则如何与 JavaScript 脚本结合使用?
- 可以使用
SCRIPT
关键字在规则中运行 JavaScript 脚本。 - 脚本可以实现更复杂的逻辑判断和流量处理。
- 可以使用
希望以上问答能够帮助您更好地理解和使用 surge 规则。如果还有其他问题,欢迎随时询问。