surge 规则完全指南

目录

  1. 什么是 surge 规则
  2. surge 规则语法
  3. surge 规则配置示例
  4. surge 规则常见问题

什么是 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

  1. 如何编写 surge 规则?

    • surge 规则的语法包括基本语法和进阶语法,用户可以根据需求选择合适的语法编写规则。
    • 建议先学习基本语法,熟悉后再尝试使用进阶语法。
  2. surge 规则有哪些常见应用场景?

    • 广告拦截
    • 内容优化
    • 网络代理
    • 网络调试
  3. 如何导入外部规则集?

    • 可以使用 RULE-SET 关键字引用外部的规则集文件。
    • 规则集文件需要遵循 surge 规则的语法格式。
  4. 如何自定义 surge 规则的处理策略?

    • 在规则中指定 policy 参数,可选的策略包括 DIRECTPROXYREJECT 等。
    • 用户也可以自定义策略组,使用 selecturl-test 等方式进行流量分发。
  5. surge 规则如何与 JavaScript 脚本结合使用?

    • 可以使用 SCRIPT 关键字在规则中运行 JavaScript 脚本。
    • 脚本可以实现更复杂的逻辑判断和流量处理。

希望以上问答能够帮助您更好地理解和使用 surge 规则。如果还有其他问题,欢迎随时询问。

正文完