科学之家

适用客户端

Surge 分流规则

支持平台
iOSmacOS
规则格式
LIST · RULE-SET

为 Surge 添加远程 Rule Set,为不同服务选择策略,并保留 FINAL 兜底。

官方图文介绍

为 Surge 添加远程 Rule Set,为不同服务选择策略,并保留 FINAL 兜底。 下方为对应客户端的官方资料图,具体规则的添加方法见本页教程。

根据 Surge 官方资料(新窗口) 整理

Surge · 官方 App Store 截图
Surge · 官方 App Store 截图查看官方图文来源(新窗口) · 核对 2026-09-15
Surge · 官方 App Store 截图
Surge · 官方 App Store 截图查看官方图文来源(新窗口) · 核对 2026-09-15

图片为官方发布素材或标明的官网页面实拍;中文介绍由本站根据官方资料整理。平台与版本不同,界面可能有所差异。

01 · 开始前,准备好这三样

本教程从你已经安装 Surge、并有一份能正常连接的配置开始。先确认网页能够通过现有节点打开,再添加分流,这样遇到问题时更容易判断是节点、规则还是配置格式的原因。

  1. 备份:导出或复制当前完整配置,记下原本启用的配置名。先在副本上修改,随时可以恢复。
  2. 出口名称:抄下已有代理策略组或出站标签的全名。示例里的大写占位名称需要替换,空格、大小写和符号都要一致。
  3. 测试目标:先选一个服务,例如 GitHub。只添加一组规则并测试成功,再逐步加入其他资源。
本软件的设置位置

配置文件 [Rule] 段的 RULE-SET。Surge 的 RULE-SET 可以混合域名与 IP 规则;DOMAIN-SET 是另一种格式,不能仅通过改文件后缀互换。本页选用 Surge 专用 .list。

三个词先认识

规则内容
要匹配的域名、IP 或条件。域名填写 github.com,不带 https:// 或网页路径。
策略 / 出站
匹配后交给哪个出口,或者选择直连、拒绝。规则本身不提供代理线路。
兜底
没有其他规则命中时的处理方式。保留现有兜底,不要把它误放到具体规则前面。

02 · Surge 的规则内容

下表提供本软件对应的远程规则资源。规则源负责维护匹配名单,你负责指定策略。先从需要的一项开始,不必一次全部启用。YAML domain 与本页 SRS 均为域名集合,直接使用 IP 的流量还需要 IP 规则。

Surge 规则与建议策略
用途配置中的标识策略对应资源
广告拦截science-category-ads-all拦截打开 Surge LIST
YouTubescience-youtube已有代理策略打开 Surge LIST
Netflixscience-netflix已有代理策略打开 Surge LIST
OpenAIscience-openai已有代理策略打开 Surge LIST
Telegramscience-telegram已有代理策略打开 Surge LIST
GitHubscience-github已有代理策略打开 Surge LIST
Steamscience-steam已有代理策略打开 Surge LIST
国内直连science-cn直连打开 Surge LIST

广告拦截是可选项。遇到登录、支付、验证码或视频加载异常,先看是否命中拦截规则,再对实际误拦截域名建立优先放行规则。选择代理策略只改变连接出口,不保证某个服务的地区权限或线路可用性。

具体网站与大范围规则重叠怎么办?

按需要把明确的网站例外放在更优先的位置。国内集合或通用代理集合范围很大,可能提前命中某个服务;查看实际匹配记录后再调整顺序。同一网站还可能使用独立的登录、图片、视频域名,不能只测试首页。

03 · Surge 图文设置教程

Surge设置路径示意
软件设置顺序示意;具体步骤请以下文为准。

1. 复制一份可用配置

在 Surge 中复制当前配置后编辑,记录可用策略或策略组名称。先确认基础代理已经可用;本页远程 .list 文件不包含任何节点。

2. 在 [Rule] 中引用远程集合

使用文本编辑找到 [Rule],加入本页 RULE-SET 行。已有 [Rule] 时只合并行,不要创建重复段。每行依次是 RULE-SET、远程文件地址、策略名称。规则集文件本身不需要重复写策略。

3. 设置策略及先后顺序

把 PROXY_NAME 改成配置中的真实名称。广告选择 REJECT,国内集合选择 DIRECT,其余按需求指定组。具体服务集合放在宽泛的国内或通用规则前,保留原 FINAL 在最后。

4. 检查资源与请求记录

保存配置并启用规则模式。查看远程规则资源是否加载,重新打开测试网站,在请求查看器核对命中规则和策略。若配置报错,先检查策略名和英文逗号,不要直接删除其他原有规则。

04 · 视频教程

视频教程待更新

Surge 的分流视频教程正在准备中,可先按照图文步骤完成设置。

查看视频教程

05 · 配置片段与下载

下面是用于合并的规则片段,没有节点、监听端口或完整客户端设置。不要用它替换整个配置。把片段放入上文指定的位置;已有同名段或数组时合并内容,并保留原有配置。

复制前替换占位名称

把 PROXY_NAME 替换成当前配置中已有的代理策略名称。直连和拦截名称按本软件示例保留;不知道组名时先回到软件的策略页面查看。

Surge · 合并用规则片段
[Rule]
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/AdvertisingLite/AdvertisingLite.list,REJECT
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/YouTube/YouTube.list,PROXY_NAME
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/Netflix/Netflix.list,PROXY_NAME
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/OpenAI/OpenAI.list,PROXY_NAME
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/Telegram/Telegram.list,PROXY_NAME
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/GitHub/GitHub.list,PROXY_NAME
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/Steam/Steam.list,PROXY_NAME
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/ChinaMax/ChinaMax.list,DIRECT

下载文件与上面展示的内容一致,按钮会保存到本地;若浏览器直接显示文本,可用“另存为”保存并保留原文件后缀。JSON 文件不允许注释或尾随逗号,YAML 使用空格缩进,配置中的逗号和等号应使用英文符号。

后续怎样更新?

使用软件的远程资源更新功能,并按客户端支持设置自动更新。需要修改的是资源的策略或地址时,应编辑本地引用配置,而不是改写上游文件。

06 · 怎样确认真的生效?

验证分流的三个检查点:流量进入客户端、规则成功匹配、出口符合预期。
图 2 · 分流验证检查图。网页能打开,只能证明连接成功,不能单独证明规则命中。
  1. 先看配置:确认当前启用的就是刚修改的配置或路由方案,运行模式能够使用分流规则。
  2. 再看资源:远程规则应显示下载或更新成功;本地规则应能在配置或编辑页面中找到。文件下载成功和规则被引用是两件事。
  3. 发起新连接:关闭测试网站的旧连接后重新打开,例如 github.com。只刷新网页可能复用旧连接,导致看到的仍是旧策略。
  4. 核对结果:在请求、活动连接或日志里找到目标域名,检查规则与出口。需要走代理的访问应命中相应策略,而国内直连应显示直连。
一个最小验证例子

先只配置 GitHub,给它指定一个已有代理策略。访问 github.com,找到这次请求。若记录显示的是通用兜底,回去检查规则位置;若已经匹配 GitHub 却打不开,就检查该策略里选中的线路。两种情况的处理方法不同。

07 · 常见问题与恢复方法

下载后为什么不能直接导入节点订阅?

本页下载的是规则片段或规则集合,节点订阅是另一种数据。按本软件教程合并规则,再使用你已有的节点;不能把规则链接当成节点地址。

提示找不到策略、出站或标签怎么办?

检查占位名称是否已经替换,并逐字比较大小写、空格和特殊符号。规则写了一个名称,不会自动创建该策略或出站。

配置保存后没有效果怎么办?

依次确认:选中了正确配置、没有全局代理或全局直连覆盖、目标应用流量进入客户端、规则成功加载、具体规则没有被更早的规则抢先匹配。每次只改一个条件再测试。

远程文件打不开或格式报错怎么办?

先从本页资源链接确认拿到的是实际规则内容,不是登录页、错误网页或 GitHub 文件预览页。再核对扩展名和声明格式;不要通过改名把 SRS、MRS、LIST、YAML 相互转换。

误拦截后怎样恢复?

先停用刚添加的拦截规则或恢复备份配置。恢复联网后,查看误拦截域名并添加更具体的放行例外,再逐条重新启用;不要为了修复一个站点而清空所有已有规则。

修改会不会被订阅更新覆盖?

直接编辑远程订阅生成的配置,可能在更新时丢失。软件支持覆写或扩展时使用对应机制;采用本地完整配置副本时,需要自己合并后续订阅变化。

浏览器能走代理,其他软件却没有命中规则?

系统代理只覆盖遵循该设置的程序,部分程序使用自己的代理设置或直接连接。先在客户端日志确认目标程序是否出现;没有记录时检查接管方式与分应用设置。只有客户端明确支持并完成所需配置时才使用 TUN;仅添加规则不能接管原本未进入客户端的流量。

域名规则已命中,为什么仍有部分图片、登录或视频失败?

同一服务往往分别使用页面、账号、图片和媒体域名。先查看失败请求的真实目标与最终出口,再判断是否缺少规则、命中拦截或出口不可用。应用直连 IP、IPv6 或 UDP 的连接也可能走不同路径;按对应软件文档检查,不能只凭首页成功认定全部请求都正常。

更新后提示不认识字段,怎样判断是语法还是版本问题?

记录当前客户端和内核版本,查该版本支持的字段与规则格式。先使用配置检查功能查看具体行号:缩进、逗号等属于文件语法,unknown field 一类提示还可能是功能版本不匹配。恢复备份确认原配置可用后,再按官方迁移说明逐项调整。

提交问题反馈时应该准备什么?

提供客户端与内核版本、设备系统、问题出现步骤,以及脱敏后的目标域名、命中规则、出站名称和错误码。保留一份能正常工作的配置用于对照;不要公开完整订阅地址、账号密钥或包含认证信息的日志。

08 · 资料来源

以下资料用于核对软件语法与设置方式。教程按 2026-09-25 可访问资料整理;软件界面随版本变化时,请以其官方文档及实际界面为准。