Surge 规则推荐:先选可核验来源,再控制规则顺序
简答:先保留 Surge 内置的 SYSTEM、LAN 规则,再按实际需求加入一套可核验的场景规则;规则按从上到下匹配,最后用 FINAL 兜底。导入后查看请求详情确认命中规则,异常时先停用新增规则集或恢复备份。
定义:Surge 规则是根据域名、IP、进程、协议或请求特征,为网络连接选择直连、代理或拒绝策略的匹配条目。
三步速查:普通用户与进阶用户分别怎么选
| 你的需求 | 先做什么 | 验证标准 |
|---|---|---|
| 只想让国内与局域网正常直连 | 保留 SYSTEM、LAN,再添加少量明确的 DOMAIN-SUFFIX 规则 | 国内网站和局域网设备可访问,请求详情显示正确策略 |
| 需要 AI、流媒体或社交服务分流 | 选择写明原始规则文件和用途的规则来源,一次只启用一类 | 目标域名命中预期策略,其他域名不被宽泛规则误代理 |
| 规则经常失效或走错线路 | 停用最近加入的 RULE-SET,查看请求详情和规则顺序 | 恢复最小配置后,再逐条加入并记录变化 |
| 需要自动更新线路但又想自定义规则 | 优先了解关联配置,或使用外置策略组管理线路 | 线路更新与本地规则修改互不覆盖 |
本文是第三方使用指南,不代表 Surge 官方;规则仓库、配置文件和客户端界面可能变化,导入前应打开来源页面核对原始内容。
可核验的 Surge 规则来源对比
“规则来源”与“完整配置”不是同一类资源。规则来源适合挑选单个场景,完整配置适合阅读结构;不建议直接覆盖现有配置。
| 来源 | 适合场景 | 维护与兼容信息 | 建议用法 |
|---|---|---|---|
| Surge 内置 SYSTEM、LAN | 系统例外与局域网直连 | 由 Surge 自身提供;官方说明指出具体子规则会随 Surge 更新调整,LAN 规则可能触发 DNS 解析 | 作为基础规则保留,不要再叠加重复的局域网规则 |
| Surge-Rule-Snippets | 挑选代理、直连、拒绝和特殊应用规则片段 | README 明确面向 Surge、ShadowRocket、Potatso、Cross;页面公开提交记录,但未声明固定更新频率 | 只取需要的片段,先检查策略名、规则格式和兼容性 |
| ClashConnectRules/Surge | 参考完整配置的分组、场景分类和规则顺序 | 仓库提供 Surge 配置示例与规则来源列表;不等于官方配置,更新频率和每条规则的长期有效性未核实 | 仅作结构参考,删除其中不属于自己的订阅、DNS、MITM 和远程控制设置 |
官方规则说明明确区分了 DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、DOMAIN-SET 和 RULE-SET;其中 RULE-SET 可以复用多种子规则,但整个规则集通常指向同一个策略,因此不同出口的业务不宜混在一个规则集中。查看 Surge 官方中文规则说明
Surge 规则顺序:先具体,后宽泛,最后 FINAL
Surge 规则按照从上到下的顺序逐条匹配,命中后停止;最后一条应是 FINAL 兜底规则。这个顺序决定了规则集数量多不多,更决定了请求最终走哪条策略。查看官方规则匹配原理
- DOMAIN:只匹配明确的单个域名,适合处理一个特殊站点。
- DOMAIN-SUFFIX:匹配主域名及其子域名,通常比关键词规则更容易控制范围。
- DOMAIN-KEYWORD:按字符串匹配,范围较宽,使用前要检查误命中。
- DOMAIN-SET:适合大量域名列表,官方说明其针对大规模域名集合做了优化。
- RULE-SET:适合复用远程或本地规则文件,但整个规则集通常共用一个策略。
- GEOIP:属于 IP 判断类规则,使用前要理解 DNS 解析和 IP 归属的影响。
- FINAL:必须放在最后,策略名必须是当前配置中已经存在的策略或策略组。
通用排序可以采用:明确的系统与局域网例外 → 拒绝或广告规则 → 特定业务规则 → 国内直连规则 → IP 类规则 → FINAL。实际配置仍要以你的策略组名称和规则来源为准。
可直接修改的最小 Surge 规则模板
下面只提供一个最小规则段,适合先验证语法和匹配逻辑。节点A、AI_DOMAIN、STREAM_DOMAIN 都是必须替换或删除的占位符;如果当前配置没有对应策略组,不要直接粘贴。
[Proxy Group]
Proxy = select, DIRECT, 节点A
RejectAds = select, REJECT, DIRECT
[Rule]
# 1. 系统与局域网
RULE-SET,SYSTEM,DIRECT
RULE-SET,LAN,DIRECT
# 2. 具体域名示例:替换为你已核验的真实域名
DOMAIN-SUFFIX,AI_DOMAIN,Proxy
DOMAIN-SUFFIX,STREAM_DOMAIN,Proxy
# 3. 如不需要拒绝规则,删除下一行;如使用远程规则,先核对来源
# RULE-SET,你的规则文件地址,RejectAds
# 4. 最后一条必须是兜底
FINAL,Proxy
这不是完整生产配置,也没有包含 DNS、MITM、订阅和节点定义。修改后先检查逗号、策略名称和占位符,再重新载入;如果出现配置错误,立即恢复备份。Surge 官方说明,规则集中的子规则不能分别绑定不同策略,所以 AI、流媒体和国内直连应按出口需求拆分。
托管配置、关联配置与外置策略组怎么区分
| 方式 | 核心含义 | 适合人群 | 注意事项 |
|---|---|---|---|
| 托管配置 | 完整配置由远程来源提供,系统设置和规则通常由来源维护 | 不需要自定义规则的用户 | 本地编辑边界受限,远程内容变化可能改变行为 |
| 关联配置 | 以托管配置为基础建立本地配置,并让指定 Section 持续跟踪远程变化 | 想保留线路更新,同时自行调整规则的用户 | 必须确认哪些 Section 跟踪远程版本,避免修改后被覆盖 |
| 外置策略组 | 本地完全控制配置,通过 policy-path 引入代理策略列表或配置文件中的 Proxy 段 | 熟悉 Surge 配置语法的进阶用户 | 远程策略地址失效、名称改变或格式变化时,需要自行排查 |
Surge 官方知识库将这三种方式分别说明,并指出关联配置通常可让 Proxy 与 Proxy Group 跟踪远程变化,而通用设置和规则由本地控制。查看官方配置模式说明
iPhone、iPad 与 Mac:系统代理、增强模式和 MITM 的边界
- iPhone 与 iPad:Surge 开启后会注册本地代理服务,并通过 Network Extension 建立虚拟网卡。遇到 App 不按预期工作时,先查看请求记录,再判断是规则问题还是接管问题。
- Mac 系统代理:主要依赖应用是否遵守系统代理。部分命令行程序可能不读取系统代理,需要使用程序自身的代理设置。
- Mac 增强模式:通过虚拟网卡接管更多程序,适合系统代理无法覆盖的场景,但可能与其他 VPN、网络过滤工具或局域网路由产生冲突。
- MITM:用于解密特定 HTTPS 流量,使 URL 等 HTTP 层特征可被进一步处理;普通 DOMAIN 或 DOMAIN-SUFFIX 分流通常不需要安装 MITM 证书。只为明确用途开启,并保留证书撤销方法。
官方中文指引说明,Mac 的“设置为系统代理”与“增强模式”属于不同接管方式,iOS 则使用系统网络扩展建立虚拟网卡;官方 FAQ 也提醒,某些 App 使用 SSL Pinning 时可能无法完成 MITM。查看接管方式与 MITM 原理 查看官方常见问题
导入、校验、验证与回滚:按这个闭环操作
- 备份:复制当前配置,记录正在使用的配置名称,不要覆盖唯一副本。
- 检查来源:打开规则仓库的 README、原始文件和提交记录,确认它确实是 Surge 可识别格式。
- 核对策略:检查规则末尾的策略名是否在当前的 Proxy 或 Proxy Group 中存在。
- 一次只加一组:先加入国内直连、AI、流媒体或广告中的一类,避免无法判断是哪组规则造成问题。
- 自检占位符:删除
AI_DOMAIN、STREAM_DOMAIN等占位符,确认 URL、逗号和 Section 名称完整。 - 重新载入:加载配置后观察是否出现语法错误;出现错误就恢复备份,不要继续叠加修改。
- 查看命中:访问一个明确属于该场景的域名,在请求详情中确认命中的规则、最终策略和错误信息。
- 失败分流:规则未命中时检查前面是否已有宽泛规则;国内应用变慢时检查是否被关键词规则或代理兜底拦截;AI 或流媒体异常时先切换手动策略,再检查 DNS 与出口。
- 撤销:停用新增 RULE-SET 或恢复备份,确认请求恢复后,再逐条重新加入。
官方故障排除建议先区分“没有成功接管网络请求”和“已经看到请求但转发失败”两类问题;请求可见时,应查看具体请求的日志信息。查看 Surge 官方故障排除指南
规则集维护清单:出现这些情况先停用
- 原始规则地址返回 404、空内容,或内容明显不是 Surge 规则格式。
- README、规则文件和本地配置使用的策略名称不一致。
- 仓库公开记录长期没有可核验变化,但页面没有明确说明更新周期;此时不要自行断言它仍在维护。
- 多个规则集重复匹配同一域名,导致请求走错策略。
- 加入后出现国内应用变慢、局域网不可达或登录失败,却无法从请求详情定位原因。
- 远程配置包含不属于自己的订阅、DNS、MITM、脚本或远程控制设置。
处理方式是先停用新增规则,恢复最小配置,再用单域名规则验证。公开规则片段项目也明确提醒,规则并非越多越好,过多规则会增加维护和资源负担;其 README 还提示不同客户端对规则参数的支持范围并不完全相同。查看规则片段项目说明
常见问题
Surge 规则推荐优先选远程规则集还是本地规则?
先用少量本地规则验证需求,再考虑远程 RULE-SET。远程规则便于复用,但内容、策略名和地址都可能变化。
为什么规则写了却没有生效?
先看请求详情中的命中规则。常见原因是前面已有更宽泛规则提前命中、策略名称不存在,或实际请求使用了 IP 而不是域名。
DOMAIN-SUFFIX 和 DOMAIN-KEYWORD 怎么选?
通常优先 DOMAIN-SUFFIX,因为匹配范围更明确。DOMAIN-KEYWORD 只适合确实需要模糊匹配的场景。
Mac 一定要开增强模式吗?
不一定。先使用系统代理;只有部分程序不遵守系统代理时,再评估增强模式,并检查它与 VPN、局域网和网络过滤工具的冲突。
iPhone 和 iPad 能照搬 Mac 配置吗?
不能完全照搬。规则语法可以复用,但接管方式、系统权限、MITM 证书和部分功能支持要以当前客户端界面与官方说明为准。
什么时候需要 MITM?
只有需要读取 HTTPS 内部 URL 或使用 URL-REGEX 等 HTTP 层特征时才考虑。普通域名分流通常不需要。
完整配置能不能直接导入?
不建议直接覆盖。先检查订阅地址、DNS、MITM、远程控制、策略组和规则来源,确认无误后再在备份副本上测试。
参考资料
Surge 官方中文指引:理解 Surge 原理
Surge 知识库:使用来自代理服务商的线路
Surge 故障排除指南
常见问题
Surge 规则推荐先选哪一类?
先保留 SYSTEM、LAN,再按单一需求加入少量规则片段;完整配置只适合参考结构,不建议直接覆盖。
规则集没有更新频率怎么办?
不要推断它仍在维护。查看公开提交记录和原始文件,无法确认时改用本地规则并保留回滚副本。
规则命中错误怎么排查?
打开请求详情,看命中规则和最终策略;检查是否被前置宽泛规则提前匹配,再逐条停用新增规则。
Mac 一定要开增强模式吗?
不一定。先使用系统代理;只有不遵守系统代理的程序仍无法接管时,再评估增强模式及其路由影响。
MITM 能解决所有分流问题吗?
不能。MITM 主要用于读取 HTTPS 内部请求特征,普通 DOMAIN、DOMAIN-SUFFIX 分流通常不需要证书。
iPhone、iPad 和 Mac 能共用一份规则吗?
规则段通常可以参考复用,但接管方式、权限和 MITM 行为存在平台差异,应按当前官方说明分别核对。
相关阅读
参考资料
- Surge 官方中文指引:理解 Surge 原理(manual.nssurge.com)
- Official Guidance: Understanding Surge(manual.nssurge.com)
- Surge 知识库:使用来自代理服务商的线路(kb.nssurge.com)
- Surge 故障排除指南(kb.nssurge.com)
- Surge 常见问题(kb.nssurge.com)
- Surge-Rule-Snippets 规则片段仓库
- ClashConnectRules/Surge 配置仓库