高墙之外❤️

Surge配置怎么导入和排查?从订阅、节点到规则的完整教程

更新于 2026-10-24 · passwall.lol

简答:Surge 配置通常是以 [General]、[Proxy]、[Proxy Group]、[Rule] 组成的 .conf 文件。新手先导入配置或订阅,再确认策略组有节点,最后检查规则顺序和 FINAL;iOS、macOS 的入口不同,托管配置也不能直接本地修改。

定义:Surge 配置是用于定义代理节点、策略组、分流规则、DNS 和系统接管方式的文本配置文件,常见扩展名为 .conf。

先完成这三步:导入、选组、看日志

如果你只是想让 Surge 先工作,不要一开始就改几十条规则。按下面顺序操作:先导入配置或订阅,确认配置列表中出现新文件;再进入策略组,确认当前选择的策略不是空组;最后启动 Surge,打开请求列表或日志,查看请求命中了哪个策略。

现象优先检查判定标准
节点列表为空[Proxy] 或托管节点资源策略组中能看到至少一个可选节点
能启动但网页打不开当前出站模式、策略组和 [Rule]请求日志显示命中了预期策略
订阅更新失败订阅 URL、返回内容和托管配置状态重新下载后仍是完整的 [Section] 配置
局域网设备无法访问LAN 规则、系统代理和增强模式局域网地址命中 DIRECT 或对应内网策略

Surge 的配置文件采用类似 INI 的分段结构;官方文档把 [General]、[Proxy]、[Proxy Group] 和 [Rule] 作为最常见的基础段落。可以先阅读 Surge Quick Start 和 Profile Format 对照自己的文件。

iOS 和 macOS 如何导入 Surge 配置

iOS:从配置列表下载 URL

  1. 打开 Surge,进入首页的配置列表,点击当前配置名称或配置管理入口。
  2. 选择“从 URL 下载配置”或名称相近的 URL 导入选项。
  3. 粘贴配置链接,确认下载;如果系统提示安装配置,返回配置列表,点选刚下载的配置。
  4. 启动 Surge 后,进入策略组检查节点是否出现,再打开请求列表确认是否有命中记录。

如果应用内找不到对应入口,也可以使用 Surge 的 URL Scheme 安装配置:在浏览器或系统快捷指令中打开 surge:///install-config?url=经过百分号编码的配置URL。具体格式见 Surge URL Scheme。不同版本的中文菜单名称可能略有变化,应以当前界面为准。

macOS:从配置文件列表安装

  1. 打开 Surge Mac,进入配置文件列表或 Profiles 页面。
  2. 使用添加配置、从 URL 安装或导入本地文件的入口;如果配置已经下载为 .conf 文件,也可以直接选择本地文件。
  3. 安装完成后选中该配置并设为当前配置,然后启动 Surge。
  4. 若 macOS 使用增强模式或虚拟网卡接管流量,首次启用时按系统提示在“隐私与安全性”中放行相关组件;启动后再从请求列表检查进程是否被捕获。

macOS 与 iOS 可以共用 [Proxy]、[Proxy Group]、[Rule] 等段,但 [General] 往往需要按平台分别设置。官方的 Profile Format 也说明了使用 #!include 拆分配置段的方式。

最小可用配置:单节点、策略组和分流规则

下面的示例不包含真实服务器、密码或订阅地址,只用于说明结构。把示例中的占位内容替换成你实际获得的节点参数;如果手里已有完整托管配置,不要把整份订阅重复粘贴进本地配置。

[General]
dns-server = system

[Proxy]
MyNode = https, server.example, 443, username, password

[Proxy Group]
Proxy = select, MyNode, DIRECT
Auto = url-test, MyNode, DIRECT, url = http://www.apple.com/library/test/success.html

[Rule]
DOMAIN-SUFFIX,example.com,Proxy
GEOIP,CN,DIRECT
RULE-SET,SYSTEM,DIRECT
RULE-SET,LAN,DIRECT
FINAL,Proxy

三者关系可以这样理解:

  • Proxy:声明单个代理策略,例如服务器地址、端口、协议和认证信息。
  • Proxy Group:把多个节点或内置策略组合起来,供用户手动选择或自动测试。
  • Rule:根据域名、IP 或规则集,把请求交给某个节点、策略组、DIRECT 或 REJECT。

select 适合手动选择;url-test 会按测试结果选择可用策略;fallback 更适合按顺序使用可用策略。策略组名称必须和 [Rule] 中最后一列完全一致,包括大小写、空格和符号。官方说明见 Rules Overview 与 Understanding Surge。

规则按照从上到下的顺序匹配,第一条命中的规则会决定策略;FINAL 是兜底规则,建议放在规则段末尾。若把过于宽泛的规则放在前面,后面的精确规则就不会再执行。规则集可用 RULE-SET 引用内置、内嵌或外部资源,具体格式见 Rule Sets。

订阅、托管配置和单节点应该怎么选

方式适合场景注意事项
完整配置 URL服务商已经准备好节点、策略组和规则配置可能是托管类型,本地修改可能无法保存或会被远程更新覆盖
外部节点列表自己维护 [General]、[Proxy Group] 和 [Rule]需要确认列表内容确实是 Surge 支持的节点格式
单个节点只测试一个服务器或排查连接问题需要手动填写协议、地址、端口和认证信息
模块对主配置做局部调整模块不是完整配置,且不能任意修改 [Proxy] 和 [Proxy Group]

机场或服务商常见的是完整托管配置,而不是只提供一个 policy-path 节点列表。若文件首行带有 #!MANAGED-CONFIG 或配置被标记为托管配置,应把它视为远程维护文件:先复制为普通配置,再做本地调整;否则更新时可能覆盖手工修改。官方配置指引明确区分了普通配置、托管配置和企业配置,可参考 Surge 配置文件指引。

订阅链接、节点地址、用户名、密码和远程规则 URL 都属于敏感信息。分享截图或配置前,至少删除订阅 URL 的完整查询参数、节点密码、认证字段和个人域名;不要把含有真实凭据的 .conf 文件提交到公开仓库。MITM 证书只在明确理解用途和风险时启用,普通分流配置不需要为了“让规则生效”而开启它。

常见故障:按顺序排查,不要先重写整份配置

  1. 节点为空:先下载或打开原始配置,确认是否真的存在 [Proxy] 段;再检查 [Proxy Group] 是否引用了正确的节点名。若使用外部资源,先单独刷新资源并查看错误提示。
  2. 订阅更新失败:在浏览器或下载工具中检查 URL 是否仍能返回文本;返回内容应以 [General]、[Proxy] 等配置段开始,而不是登录页、JSON 错误或 HTML 页面。托管配置的更新间隔和远程状态以提供方配置为准。
  3. 规则不生效:确认当前出站模式是基于规则,而不是全局直连或全局代理;然后在请求日志中查看实际命中的规则和策略。检查更早的宽泛规则是否已经抢先匹配,并确认 FINAL 没有放在需要执行的规则前面。
  4. 局域网无法访问:先确认局域网网段、设备地址和端口;再检查 LAN 或私有地址是否命中 DIRECT。macOS 还要检查增强模式、虚拟网卡和系统权限;iOS 则要检查 VPN 接管状态及配置中的局域网相关规则。skip-proxy 只处理系统代理层面的绕过,不能替代完整的 LAN 规则配置。
  5. 启动后完全没有请求:确认 Surge 已启动、系统 VPN 或增强模式已建立,并从请求列表检查是否有流量进入。macOS 端如果权限提示被忽略,先退出 Surge,在“隐私与安全性”中重新放行后再测试。

排查时建议一次只改一个变量:先用单节点和简单的 select 策略组验证连接,再增加自动测速、外部规则集和复杂模块。这样更容易判断问题来自节点、订阅内容、规则顺序还是系统接管。

FAQ:Surge 配置最容易弄错的几个问题

Surge 配置文件必须叫什么名字?

完整配置通常使用 .conf 扩展名,但真正决定能否解析的是内容结构,而不是文件名。至少应使用正确的 [Section] 段落和对应语法;不要把纯节点列表、HTML 页面或 JSON 响应直接当成完整配置导入。

为什么导入后看不到节点?

常见原因是导入的只是规则文件、托管配置加载失败,或 [Proxy Group] 引用了不存在的节点名。先打开配置内容确认 [Proxy] 是否存在,再检查外部资源更新结果和策略组引用名称。

可以直接修改托管配置吗?

托管配置通常由远程 URL 更新,本地修改可能不可编辑,也可能在下一次更新后被覆盖。需要长期自定义时,应先复制为普通配置,或用适合的模块、分离配置段处理局部调整。

select、url-test 和 fallback 怎么选?

想手动指定节点,用 select;想依据测试结果自动选择,用 url-test;想按预设顺序使用可用节点,用 fallback。排查阶段优先使用 select,因为它的行为最容易复现。

为什么 FINAL 会导致规则看起来失效?

Surge 按顺序匹配规则,FINAL 会立即结束匹配并处理剩余请求。如果 FINAL 出现在某条精确规则之前,后面的规则就不会执行。把 FINAL 保持在规则段末尾,并在日志中确认实际命中的策略。

常见问题

Surge 配置文件必须叫什么名字?

完整配置通常使用 .conf 扩展名,但真正决定能否解析的是内容结构。至少应使用正确的 [Section] 段落和对应语法。

为什么导入后看不到节点?

先确认配置中存在 [Proxy] 段,再检查外部资源是否更新成功,以及 [Proxy Group] 引用的节点名称是否完全一致。

可以直接修改托管配置吗?

托管配置通常由远程 URL 更新,本地修改可能不可编辑,也可能在下一次更新后被覆盖。需要自定义时应先复制为普通配置。

select、url-test 和 fallback 怎么选?

手动指定节点用 select,按测试结果自动选择用 url-test,按预设顺序使用可用节点用 fallback。排查阶段优先使用 select。

为什么 FINAL 会导致规则失效?

规则从上到下匹配,FINAL 会立即结束匹配。把 FINAL 放在规则段末尾,并通过请求日志确认实际命中的策略。

相关阅读

参考资料

  1. Quick Start · Surge(manual.nssurge.com)
  2. Profile Format · Surge(manual.nssurge.com)
  3. URL Scheme · Surge(manual.nssurge.com)
  4. Rules Overview · Surge(manual.nssurge.com)
  5. Rule Sets · Surge(manual.nssurge.com)
  6. Surge 配置文件指引 · Surge Tech Community(community.nssurge.com)
  7. Understanding Surge · Official Guidance(manual.nssurge.com)