Skip to content

这一页是机场客户端配置的通用深度教程,适用于 Windows、macOS、Android、iOS 和路由器上的主流客户端:从订阅链接、配置文件、节点、策略组和规则这几个基本概念讲起,到订阅如何导入和更新、配置文件长什么样、策略组怎么设计、系统代理与 TUN 怎么选、规则怎么添加并确认生效、自定义内容怎样才不会被订阅更新覆盖,最后讲 DNS、备份迁移和不同客户端之间的格式适配。只想快速把订阅导入某个客户端的读者,可以直接看 订阅链接导入通用教程;具体平台的安装步骤请看对应的平台页面。下面先给一张按需求查找的速查表。

速查:想做什么,先看哪一节 ​

你想做什么要点先看哪一节
第一次把订阅导入客户端复制与客户端匹配的订阅链接,粘贴后选中配置、选节点、开代理订阅链接导入通用教程
弄懂一份配置由什么组成节点是出口,策略组选节点,规则把流量交给策略组配置由哪些部分组成
让订阅自动更新又不丢自定义内容自定义写进覆写区,不直接改订阅生成的配置配置更新机制、覆写机制
按地区或用途分组节点用筛选建立地区分组,按用途设计策略组策略组与节点管理
决定用系统代理还是 TUN日常用系统代理,命令行、游戏等再开 TUN系统代理、TUN 与其他运行方式
添加一条规则并确认生效规则从上到下匹配,用「连接」页面看命中情况规则添加、修改和生效检查
解决解析异常、198.18 地址等问题先分清 DNS 由谁处理DNS 配置要点
换电脑、换手机或换客户端先备份,再按格式适配迁移配置备份、恢复与设备迁移、格式适配
改完配置出错按常见错误逐项排查,改前先备份常见配置错误与排查

核心结论 ​

核心结论

  • 能用订阅链接就不用手动文件:订阅可以自动更新,机场换节点后不需要重新导入。
  • 按客户端复制对应格式的订阅:Clash / mihomo、sing-box、Shadowrocket 等格式各不相同,机场后台一般会分别提供。
  • 一份配置 = 节点 + 策略组 + 规则:节点是出口,策略组决定用哪个节点,规则决定流量交给哪个策略组。
  • 自定义规则写在覆写区:直接改订阅生成的配置,下次更新就会被覆盖;还要注意有的覆写方式会整体替换列表。
  • 规则从上到下匹配:命中第一条就停止,规则没生效先看前面有没有被别的规则截走。
  • 用「连接」页面验证:每条连接命中了哪条规则、走了哪个节点,客户端都会显示,不要靠猜。
  • 订阅链接即账号凭证:不要交给来路不明的在线转换网站,备份时也要妥善保管。

配置由哪些部分组成 ​

理解客户端配置,先要分清五个概念:订阅、配置文件、节点、策略组和规则。它们的关系可以概括为「订阅提供配置,配置里的规则把流量分给策略组,策略组再选出一个节点」。

概念一句话定义谁来维护
订阅链接服务商为你生成的专属网址,客户端从这里下载配置或节点列表服务商
配置文件客户端实际加载的完整内容,包含节点、策略组、规则和各项设置服务商下发,或你自己编写
节点一台机场服务器的连接信息,包括地址、端口、协议和密钥服务商
策略组一组节点的集合和选择方式,例如手动选择、自动测速服务商预设,你可调整
规则「匹配条件 + 目标策略」的列表,决定每条连接走哪里服务商预设,你可追加

一条连接在客户端里的处理过程 ​

  1. 浏览器访问某个网站,请求进入客户端(通过系统代理、TUN 或 VPN 接口);
  2. 客户端从规则列表的第一条开始逐条比对,找到第一条匹配的规则;
  3. 规则指向某个策略组,例如「节点选择」或「DIRECT」(直连);
  4. 策略组按其类型选出一个具体节点;
  5. 客户端通过该节点把请求发往目标网站。

后面所有的配置操作,都是在调整这个链条的某一环:导入订阅是获取节点,管理策略组是决定选哪个节点,编写规则是决定流量去哪个策略组,运行方式则决定流量能否进入客户端。

订阅链接与配置文件导入 ​

客户端获取节点信息有三种常见方式,绝大多数机场用户应使用订阅链接,因为只有它能自动更新。

方式内容能否自动更新适用场景
订阅链接一个 HTTPS 网址,返回完整配置或节点列表能绝大多数机场用户
本地配置文件下载到本地的 YAML / JSON 等文件不能,需手动替换自己编写或调试的配置
单个分享链接vmess://、vless://、trojan://、ss:// 等不能临时添加单个节点

通用导入步骤 ​

  1. 在服务商后台复制与客户端匹配的订阅链接;
  2. 打开客户端的「订阅 / 配置 / Profiles」页面,选择「从 URL 导入」或「添加订阅」;
  3. 粘贴链接,填写一个便于识别的名称,设置自动更新间隔;
  4. 保存后选中这份配置,使其成为当前生效配置;
  5. 回到代理页面选择节点,开启系统代理、TUN 或 VPN 开关;
  6. 分别访问一个国内网站和一个境外网站,确认都能正常打开。

逐个平台、带客户端名称的操作说明见 订阅链接导入通用教程(全平台)。

一键导入的原理 ​

机场后台的「一键导入」按钮,本质上是一个由客户端注册的特殊链接,例如 Clash 系客户端常用的 clash://install-config?url=订阅地址,sing-box 官方文档定义的远程配置导入格式是 sing-box://import-remote-profile?url=编码后的地址#编码后的名称。点击后系统唤起对应客户端,自动填入订阅地址。按钮没反应时,说明客户端未安装、不支持该链接格式,或浏览器拦截了唤起请求,改用手动复制粘贴即可。

导入时的常见提示 ​

提示含义处理
解析失败、格式错误复制的订阅格式与客户端不匹配,或文件本身有语法错误换成对应客户端的订阅;自编文件检查语法
下载失败、超时客户端访问订阅地址失败检查网络,稍后重试,参考 订阅更新失败
节点数量为 0订阅过期、流量用完,或协议不被支持到服务商后台确认套餐状态,确认客户端支持的协议
导入成功但只有节点没有规则导入的是通用订阅(节点列表)需要规则时改用 Clash 等完整配置格式

同时有多个订阅时 ​

有的用户会同时使用两个服务商,一个主用、一个备用。组织多个订阅有两种思路:

思路做法优缺点
分开导入、按需切换每个订阅单独导入为一份配置,用哪个选哪个简单直观;切换时自定义规则要分别维护
合并到一份配置自己编写主配置,用多个 proxy-providers 分别引用各订阅一处维护规则;需要一定配置能力

对多数用户来说,分开导入就足够了。把自定义规则放在全局覆写(如 Clash Verge Rev 的全局扩展脚本)中,可以让它同时作用于所有订阅,避免重复维护。

订阅链接保管

订阅链接包含你的账号令牌,任何拿到它的人都能使用你的流量。不要发到群聊、论坛或截图外传;怀疑泄露时,在服务商后台重置订阅,再在所有设备重新导入。

配置文件结构详解 ​

看懂配置文件的结构,是自己修改规则、排查问题的前提。下面以使用最广的 mihomo YAML 和 sing-box JSON 为例说明,示例只演示结构,不含真实节点。

mihomo(Clash)YAML 的基本骨架 ​

mihomo 是 Clash 系客户端目前广泛使用的开源内核,Clash Verge Rev、FlClash、Clash Party、OpenClash、Nikki 等都基于它;其配置文件使用 YAML 格式。YAML 是一种用缩进表示层级的文本格式,缩进必须用空格,不能用制表符。

yaml
# 示例:mihomo 配置的基本骨架(订阅地址为占位符,不可直接使用)
mixed-port: 7890
mode: rule
proxy-providers:
  my-sub:
    type: http
    url: "https://example.com/your-subscription"
    path: ./proxy_providers/my-sub.yaml
    interval: 3600
    health-check:
      enable: true
      url: https://www.gstatic.com/generate_204
      interval: 300
proxy-groups:
  - name: 节点选择
    type: select
    proxies:
      - 自动选择
      - DIRECT
    use:
      - my-sub
  - name: 自动选择
    type: url-test
    use:
      - my-sub
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
rules:
  - GEOIP,CN,DIRECT
  - MATCH,节点选择

各部分的作用:

字段作用
mixed-port本地代理端口,同时支持 HTTP 与 SOCKS,系统代理指向它
mode出站模式:rule(规则)、global(全局)、direct(直连)
proxies直接写在配置里的节点列表(机场下发的完整配置通常用它)
proxy-providers从外部地址加载的节点集合,可定时更新并做健康检查
proxy-groups策略组,proxies 引用具体节点或其他组,use 引用节点集合
rules规则列表,从上到下匹配

机场下发的 Clash 订阅通常已经是完整配置,直接导入即可;上面这种用 proxy-providers 引用订阅、自己写策略组和规则的方式,适合想完全掌控配置的进阶用户,订阅返回内容是否能被 proxy-providers 解析,以 mihomo 官方文档为准。

sing-box JSON 的路由片段 ​

sing-box 是另一个通用代理平台,配置使用 JSON 格式,结构更严谨,字段随版本变化较多。它的路由部分由规则列表 rules、规则集 rule_set 和默认出站 final 组成,规则通过 action 指定动作,route 表示交给某个出站:

json
{
  "route": {
    "rules": [
      {
        "domain_suffix": ["example.org"],
        "action": "route",
        "outbound": "direct"
      }
    ],
    "final": "proxy"
  }
}

这是一个示例片段,direct、proxy 必须是配置中已存在的出站标签。JSON 不支持注释,也不允许最后一个元素后面带逗号,手动编辑时最容易在这两点出错。完整字段以 sing-box 官方文档为准。

配置更新机制 ​

订阅导入后,客户端会按设定的间隔重新下载配置,这保证了机场更换节点后你无需任何操作;但更新也会覆盖你直接改在配置里的内容。

  • 自动更新:在订阅设置中填写更新间隔,客户端会按时下载新配置。sing-box 官方文档规定其图形客户端的远程配置默认每 60 分钟自动更新;
  • 手动更新:机场更换节点、续费、重置订阅后,手动点一次「更新」;
  • 更新是否经过代理:部分客户端可以选择更新订阅时是否走代理,直连更新失败时可以切换试试;
  • 更新失败:常见原因是订阅过期、订阅地址被干扰或本地网络问题,参考 订阅更新失败。

更新会覆盖什么、保留什么 ​

内容更新后说明
订阅下发的节点、策略组、规则被新内容替换这是更新的目的
直接修改在订阅配置里的内容丢失不要这样改
覆写、扩展配置、扩展脚本、混入保留并重新叠加自定义内容应放在这里
客户端自身设置(端口、主题、开机启动)保留属于客户端,不属于订阅
你在策略组中手动选择的节点多数客户端会尽量保留节点名变化时可能回到默认

策略组与节点管理 ​

策略组是连接规则和节点的桥梁:规则把流量交给某个策略组,策略组再按自身类型选出节点。合理的策略组设计能让日常使用更省心。

策略组类型 ​

以 mihomo 内核为例,官方文档列出的策略组类型如下:

类型行为典型用途
select(手动选择)由你手动选定组内的节点「节点选择」主分组、固定用途分组
url-test(自动测速)定期测延迟,自动选延迟最低的节点「自动选择」分组
fallback(故障转移)按顺序使用第一个可用节点对稳定性要求高的场景
load-balance(负载均衡)在多个节点之间分配连接多线路分担
relay(链式代理)流量依次经过多个节点特殊需求,新手很少用到

其他客户端的分组名称不同(如「策略组」「代理组」,sing-box 中为 selector / urltest 出站),思路一致。

用筛选建立地区分组 ​

mihomo 的策略组支持用 filter 按节点名称中的关键词或正则表达式筛选节点,适合按地区自动分组。下面是一个示例:

yaml
# 示例:按名称筛选出某地区节点并自动测速(关键词需按你订阅中的实际节点名调整)
proxy-groups:
  - name: 香港自动
    type: url-test
    use:
      - my-sub
    filter: "(?i)港|hk|hong kong"
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50

tolerance 表示延迟差在多少毫秒以内不切换节点,可以减少频繁跳动。

节点管理建议 ​

  1. 定期执行一次延迟测试,了解哪些节点不可用;
  2. 主分组手动选择常用节点,同时保留一个自动选择分组作为备用;
  3. 不同用途可以选不同地区,例如 AI 服务选择其支持的地区,并用手动选择固定,避免自动切换地区触发风控;
  4. 延迟只代表连通性,晚高峰速度以实际使用为准,可参考 晚高峰测速。

示例场景:按用途设计分组 ​

示例场景:一位用户在主分组之外新建了「AI 服务」和「流媒体」两个手动选择分组,把相关域名规则分别指向它们。日常浏览用自动选择,AI 服务固定在一个目标服务支持的地区,流媒体按需切换地区。三类需求互不影响,切换某个分组的节点也不会打断其他用途的连接。

系统代理、TUN 与其他运行方式 ​

客户端拿到节点后,还需要让系统里的应用把流量交给它。日常浏览用系统代理即可,需要接管所有程序时再用 TUN。

运行方式原理优点局限常见平台
系统代理修改系统的 HTTP / SOCKS 代理设置简单,对系统影响小不读系统代理的程序不生效Windows、macOS
TUN 模式创建虚拟网卡,在网络层接管流量几乎所有程序都生效需要管理员权限或安装服务Windows、macOS、Linux
VPN 接口通过系统 VPN 能力接管流量移动端主流方式同时只能运行一个 VPNAndroid、iOS
手动代理端口应用里填写 127.0.0.1 和客户端端口精确控制单个程序需要逐个配置浏览器插件、命令行工具
透明代理在路由器上拦截转发流量局域网设备免配置部署门槛高OpenWrt 等

TUN 模式:客户端在系统中创建一块虚拟网卡,并把系统路由指向它,从而在网络层接管所有程序的流量,不依赖程序是否读取系统代理。

怎么选 ​

你的需求建议方式
只用浏览器访问网站系统代理
命令行工具(如 git、包管理器)需要代理TUN,或在终端设置代理环境变量
游戏、不读系统代理的桌面程序TUN
只想让某一个程序走代理手动代理端口
手机、平板客户端的 VPN 开关
电视、游戏机路由器透明代理,见 路由器与软路由

命令行设置代理环境变量的示例(端口以客户端实际设置为准):

bash
# 示例:在当前终端会话中让命令行工具使用本地代理(macOS / Linux)
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890

TUN 模式的注意事项 ​

TUN 能接管几乎所有流量,但也更容易和系统其他组件产生冲突,开启前了解以下几点:

  1. 权限:Windows 上通常需要以管理员身份运行或安装客户端提供的服务组件,macOS 上需要授权安装辅助程序,具体以客户端提示为准;
  2. 与其他虚拟网卡冲突:公司 VPN、虚拟机网络、其他代理工具的虚拟网卡可能与之争抢路由,开启后断网时先关闭这些工具;
  3. DNS 接管:TUN 模式下客户端通常会接管 DNS,浏览器的安全 DNS 可能绕过它,导致域名规则不生效;
  4. 局域网访问:访问打印机、NAS 等局域网设备时,确认局域网地址段有直连规则;
  5. 关闭后的残留:客户端异常退出时,系统代理或路由可能没有恢复,表现为关闭客户端后无法上网,重新打开客户端再正常关闭,或手动关闭系统代理即可。

移动端的运行方式差异 ​

Android 和 iOS 上的客户端几乎都以 VPN 接口的形式运行,因此有几个与电脑不同的特点:

  • 只能同时运行一个:打开一个客户端会让系统断开另一个 VPN;
  • 分应用代理:Android 上不少客户端支持按应用选择是否经过代理,适合让银行类应用不走代理;iOS 则主要依靠规则分流,详见 Android 客户端 与 iOS 客户端;
  • 后台限制:系统省电策略可能结束后台的客户端,需要在系统设置中允许其后台运行。

出站模式 ​

无论哪种运行方式,客户端一般还提供三种出站模式:规则(按规则分流,日常推荐)、全局(全部走代理,用于排查)、直连(全部不走代理)。规则不生效时,先切到全局看问题是否消失,就能判断是规则问题还是节点问题。

不要同时运行多个代理工具

两个客户端同时设置系统代理会互相覆盖,同时开 TUN 或 VPN 会争抢路由。切换客户端前先关闭另一个,冲突排查见 代理冲突。

规则添加、修改和生效检查 ​

规则由「匹配条件 + 目标策略」组成,按从上到下的顺序匹配,命中第一条就停止。写好规则的关键是选对类型、放对位置,并用连接日志验证。

常用规则类型 ​

以 mihomo 官方文档为准,常用类型如下:

类型匹配方式示例
DOMAIN完整域名DOMAIN,www.example.com,节点选择
DOMAIN-SUFFIX域名及其所有子域名DOMAIN-SUFFIX,example.com,节点选择
DOMAIN-KEYWORD域名中包含关键词DOMAIN-KEYWORD,example,DIRECT
GEOSITE域名分类数据库中的某一类GEOSITE,cn,DIRECT
IP-CIDR目标 IP 地址段IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP目标 IP 所属国家或地区GEOIP,CN,DIRECT
PROCESS-NAME发起连接的进程名(Android 上可匹配包名)PROCESS-NAME,example.exe,DIRECT
RULE-SET引用一个规则集RULE-SET,my-rules,节点选择
AND / OR / NOT逻辑组合多个条件按官方文档语法书写
MATCH匹配所有,作为最终规则MATCH,节点选择

no-resolve 表示匹配 IP 类规则时不为域名额外做 DNS 解析,常用于局域网和保留地址段。其他客户端的规则关键字基本相同,最终规则可能叫 FINAL。

一个完整的规则示例 ​

yaml
rules:
  - DOMAIN-SUFFIX,example.com,节点选择   # 示例:域名及其子域名走「节点选择」
  - DOMAIN-KEYWORD,example,DIRECT        # 示例:域名包含关键词的直连
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve  # 局域网地址直连
  - GEOIP,CN,DIRECT                      # 中国大陆 IP 直连
  - MATCH,节点选择                        # 以上都不匹配时的默认去向

示例中的 example.com 仅作演示,策略组名称要与你配置中实际存在的分组名一致。

用规则集管理大量规则 ​

规则集是一份独立维护的规则列表,通过 rule-providers 引用,可以定时从网络更新,避免把成百上千条规则写进主配置。mihomo 官方文档中规则集的写法示例如下:

yaml
# 示例:引用一个远程规则集(地址为占位符)
rule-providers:
  my-rules:
    type: http
    behavior: domain
    format: yaml
    url: "https://example.com/rules/my-rules.yaml"
    path: ./rules/my-rules.yaml
    interval: 86400
rules:
  - RULE-SET,my-rules,节点选择
  - MATCH,节点选择

behavior 有 domain、ipcidr、classical 三种,必须与规则集内容一致;format 支持 yaml、text、mrs。规则集只从可信来源引用,因为它直接决定你的流量走向。

规则顺序的原则 ​

  1. 越具体越靠前:单个域名规则放在宽泛的关键词、地区规则之前;
  2. 局域网和直连例外放最前:避免内网访问被送进代理;
  3. GEOIP 类规则靠后:它需要解析出 IP 才能判断,放前面会让大量域名提前解析;
  4. MATCH / FINAL 永远在最后:它之后的规则永远不会被匹配。

检查是否生效 ​

  1. 保存规则后,确认客户端已重新加载配置;
  2. 打开「连接」或「日志」页面,访问目标网站;
  3. 找到对应连接,查看它命中的规则和使用的策略组;
  4. 命中的不是你的规则:把你的规则移到更前面,或检查是否被更早的规则截走;
  5. 域名规则不生效而 IP 规则生效时,可能与 DNS 设置有关,见下文 DNS 一节。

示例场景:排查一条不生效的规则 ​

示例场景:用户添加了 DOMAIN-SUFFIX,example.com,DIRECT,希望该网站直连,但访问时仍然走了代理。排查过程如下:

  1. 在连接页面找到 example.com 的连接,发现命中的是订阅自带的某条 RULE-SET 规则,说明自定义规则排在它后面;
  2. 检查自定义规则的位置,发现写在了后置规则里;
  3. 改为前置规则并重新加载配置;
  4. 再次访问,连接页面显示命中了自定义的 DOMAIN-SUFFIX 规则,目标策略为 DIRECT。

整个过程没有更换节点,也没有修改订阅,问题只出在顺序上。这也是为什么排查规则问题时,连接页面比任何经验都可靠。

分流思路与规则规划见 代理分流规则。

自定义内容写在哪里:覆写机制 ​

自定义规则和设置必须写在客户端提供的覆写机制里,它们会在每次订阅更新后重新叠加到配置上;但不同客户端的叠加方式不同,有的会整体替换列表,这一点必须先弄清楚。

覆写:客户端在加载订阅配置后,再按你提供的内容修改配置的机制,不同客户端分别称为扩展配置、扩展脚本、覆写、混入(Mixin)等。

客户端类型推荐位置(具体菜单名以客户端为准)
Clash Verge Rev订阅的规则编辑器(前置 / 后置规则)、扩展配置、扩展脚本
Clash Party覆写功能
FlClash覆写脚本或自定义规则
Stash(iOS)覆写文件(.stoverride)
其他 iOS 客户端应用内的本地规则、配置编辑区或插件 / 模块
路由器插件插件提供的覆写 / 混入 / 自定义规则区

Clash Verge Rev 的处理顺序 ​

Clash Verge Rev 官方文档说明,配置按「订阅原始配置 → 应用设置 → 全局扩展配置 → 全局扩展脚本 → 订阅扩展配置 → 订阅扩展脚本 → 应用设置改写」的顺序处理;原来的 Merge 已更名为扩展配置,前置、后置规则等功能移到了订阅右键菜单的可视化编辑器中。

需要特别注意:官方文档写明,扩展配置中写出的列表和值(如 rules)会整体替换原内容,而 tun、sniffer 这类嵌套对象按项合并。也就是说,如果在扩展配置里直接写一个 rules 列表,订阅自带的全部规则都会被替换掉。只想在前面加几条规则时,应使用规则编辑器的前置规则,或用扩展脚本插入:

javascript
// 示例:Clash Verge Rev 扩展脚本,在订阅规则最前面插入一条直连规则
function main(config) {
  config.rules = config.rules || [];
  config.rules.unshift("DOMAIN-SUFFIX,example.com,DIRECT");
  return config;
}

Stash 覆写文件 ​

Stash 官方文档说明,覆写文件使用 YAML 格式、扩展名为 .stoverride,可以同时启用多个,从上到下依次作用于原配置;同名的数组字段(如 rules)会插入到原数组开头,同名字典按键递归合并。因此在 Stash 中用覆写添加规则,不会替换订阅原有规则:

yaml
# 示例:Stash 覆写文件
name: 自定义规则
desc: 在订阅规则前插入示例规则
rules:
  - DOMAIN-SUFFIX,example.com,DIRECT

路由器插件 ​

Nikki 官方功能列表包含配置混入(Profile Mixin);OpenClash 有覆写设置。具体写法以插件文档为准,详见 路由器与软路由。

DNS 配置要点 ​

DNS 决定了域名规则能否正确匹配,也影响网页打开速度;多数情况下沿用订阅自带的 DNS 设置即可,只有出现解析问题时才需要调整。

DNS:把域名翻译成 IP 地址的系统。客户端接管 DNS 后,才能知道一条连接对应的是哪个域名,从而按域名规则分流。

常见的 DNS 工作方式 ​

  • fake-ip:客户端为域名返回保留网段中的虚拟地址,连接时再还原出域名做规则匹配,响应快,但少数依赖真实地址的应用需要加入例外列表;
  • 真实 IP(redir-host 等):返回真实解析结果,兼容性更好;
  • 加密 DNS:通过 DoH、DoT 等加密方式查询,减少被干扰的可能。

具体选项名称、默认值和推荐设置以所用客户端和内核文档为准。

什么时候需要动 DNS 设置 ​

机场下发的完整配置通常已经带有经过调试的 DNS 设置,贸然修改反而容易出问题。建议只在以下情况调整:

  1. 已经确认节点正常(全局模式下能打开网站),但规则模式下部分网站解析异常;
  2. 国内网站在开启客户端后明显变慢,关闭后恢复;
  3. 自己编写配置、没有使用订阅自带的 DNS 设置;
  4. 需要让某些域名使用指定的解析服务器,例如公司内网域名。

调整时每次只改一项,并记录原值,改完后重新加载配置并清理系统或浏览器的 DNS 缓存再测试。

典型症状与方向 ​

症状可能与 DNS 有关的原因方向
延迟正常但网页打不开解析结果被污染或解析超时检查 DNS 设置,尝试加密 DNS
国内网站变慢国内域名被解析到境外地址检查国内域名使用的解析服务器
域名规则不生效、IP 规则生效浏览器或系统绕过了客户端的 DNS关闭浏览器安全 DNS 或改为跟随系统
局域网设备名无法访问局域网域名被送进代理为局域网地址和域名添加直连规则

详细排查见 DNS 问题。

配置备份、恢复与设备迁移 ​

需要认真备份的只有你自己写的内容:覆写、脚本、自定义规则;订阅下载的配置随时可以重新获取。

需要备份的内容是否必须说明
订阅链接建议保存在密码管理器中,随时可在后台重新复制
自定义规则、覆写脚本必须这是你自己的劳动成果,丢失后只能重写
客户端设置(端口、主题、启动项)可选重新设置也很快
订阅下载的配置文件不必重新导入订阅即可得到最新版本

备份方式 ​

  • WebDAV:Clash Verge Rev、FlClash、Clash Party 支持通过 WebDAV 备份和恢复,适合多台电脑同步;
  • 本地导出:FlClash 支持本地文件备份;其他客户端可复制配置目录或导出配置文件;
  • iCloud:部分 Apple 平台应用支持把配置放在 iCloud,Stash 的配置、规则和订阅可通过 iCloud 同步,sing-box 官方 Apple 客户端支持 iCloud 配置;
  • 路由器:使用 OpenWrt 的系统备份功能。

多设备同步的取舍 ​

电脑、手机都在用时,是否要让它们共用一套自定义规则,取决于客户端是否属于同一体系:

  • 同为 mihomo 系客户端(如电脑用 Clash Verge Rev、手机用 FlClash 或 Stash):规则语法基本一致,可以维护一份规则文本,分别粘贴到各自的覆写位置;
  • 跨体系(如电脑用 mihomo 系、iPhone 用 Quantumult X):语法不同,需要各自维护,建议只同步「哪些域名直连、哪些走某分组」的清单,再按各自写法改写;
  • 使用规则集:把自己的规则整理成一份规则集文件,放在自己可控的位置,由各客户端引用,修改一次即可全部生效,但要注意这份文件不能公开包含敏感信息。

迁移步骤 ​

  1. 在旧设备备份自定义内容;
  2. 在新设备从官方来源安装同一客户端;
  3. 恢复备份,或重新导入订阅后再粘贴自定义规则;
  4. 测试几个常用网站,确认规则和节点都正常;
  5. 确认无误后,按需在旧设备上删除配置。

备份文件同样敏感

备份文件里通常包含订阅链接和节点信息。不要上传到公开网盘或发送给他人,WebDAV 服务也应使用自己可信的账号。

不同客户端之间的格式适配和转换 ​

不同客户端使用的配置格式不同,最稳妥的做法是在机场后台直接复制目标客户端对应格式的订阅,而不是自己转换。

常见格式 ​

格式使用的客户端特点
Clash / mihomo YAMLClash Verge Rev、FlClash、Clash Party、Clash Meta for Android、OpenClash、Nikki;Stash 兼容节点、策略组、规则写在同一文件
sing-box JSONsing-box 官方客户端、HomeProxy 等结构严谨,字段随版本变化较多
通用订阅(分享链接列表)v2rayN、v2rayNG、Shadowrocket、PassWall 等通常只含节点,不含规则
各 iOS 应用自有格式Shadowrocket、Quantumult X、Loon、Surge规则和功能各有扩展

适配建议 ​

  1. 优先使用机场提供的对应格式订阅:多数机场后台会分别给出 Clash、通用、Shadowrocket、Quantumult X 等入口,这是最稳妥的方式;
  2. 换客户端前先确认格式:从 Clash 系换到 v2rayN,应复制通用订阅而不是 Clash 订阅;
  3. 协议支持不同:较新的协议不一定所有客户端都支持,导入后部分节点缺失时,先确认客户端是否支持该协议;
  4. 规则不能直接搬:不同格式的规则语法有差异,迁移自定义规则时需要按目标客户端的写法改写。

换客户端的完整流程 ​

  1. 确认新客户端支持的格式和协议,再到机场后台复制对应格式的订阅;
  2. 整理旧客户端的自定义内容:把覆写、前置规则、脚本中的规则逐条抄出来;
  3. 按新客户端的语法改写,放到新客户端的覆写或本地规则区;
  4. 关闭旧客户端的系统代理、TUN 或 VPN,避免两个工具同时运行;
  5. 在新客户端导入订阅并验证:国内网站、境外网站和自己常用的服务都要测试;
  6. 观察几天后再卸载旧客户端,有问题时可以快速切回。

规则写法对照 ​

同一条「某域名后缀走代理」的规则,在不同格式中的写法如下(策略或出站名称为示例):

格式写法
mihomo / StashDOMAIN-SUFFIX,example.com,节点选择
sing-box{"domain_suffix": ["example.com"], "action": "route", "outbound": "proxy"}
其他 iOS 客户端关键字相近,但策略名、参数顺序以各自文档为准

关于订阅转换 ​

开源项目中有专门的订阅转换和管理工具,例如 subconverter(github.com/tindy2013/subconverter)和 Sub-Store(github.com/sub-store-org/Sub-Store),Clash Party 也集成了 Sub-Store。它们可以在不同格式之间转换、合并或整理订阅。

不要把订阅交给来源不明的在线转换网站

在线转换服务需要你提交完整的订阅链接,服务方可以看到并保存你的节点信息和账号令牌。确实需要转换时,优先使用机场官方提供的格式,或在自己的设备上运行开源工具。

常见配置错误与排查 ​

配置问题多数出在语法、名称引用和规则顺序三处,按下表对照症状通常能很快定位。

症状原因处理
导入或保存时提示 YAML 解析错误缩进不一致、使用了制表符、冒号后缺空格统一用两个空格缩进,检查报错行附近
JSON 解析错误末尾多余逗号、缺少引号、写了注释删除注释和多余逗号,用编辑器的格式检查
提示找不到某个代理或策略组规则或策略组引用的名称不存在名称必须完全一致,包括大小写和表情符号
自定义规则不生效被前面的规则截走,或写在会被覆盖的位置查看连接日志,移到前面或改写到覆写区
更新订阅后自定义规则消失直接改了订阅配置改用覆写、扩展配置或脚本
订阅自带规则全部消失扩展配置中写了 rules 导致整体替换改用前置规则或脚本插入
开启系统代理但部分程序不走代理程序不读取系统代理改用 TUN 或手动设置代理端口
规则模式下打不开、全局模式正常规则把流量送到了直连或错误分组检查命中规则,调整顺序
全局模式也打不开节点或网络问题换节点,参考 节点全部超时排查

修改配置的安全习惯 ​

  • [ ] 改动前先备份当前可用的配置或覆写内容;
  • [ ] 每次只改一处,改完立即验证;
  • [ ] 外部规则集、脚本只从可信来源引用;
  • [ ] 不在公开场合粘贴含订阅地址或节点密码的完整配置;
  • [ ] 遵守所在地法律法规以及所访问服务的条款。

常见问题 ​

订阅链接和配置文件有什么区别?

订阅链接是一个网址,客户端会定期从这里下载最新的节点和规则;配置文件是下载到本地的具体内容。用订阅链接导入可以自动更新,手动导入的本地配置文件不会随机场变化自动更新。

自己加的规则为什么更新订阅后就没了?

订阅更新会用服务商下发的新内容覆盖原配置。自定义规则应写在客户端提供的覆写、扩展配置、脚本或本地规则区域,这些内容会在每次更新后重新叠加到配置上。

不同客户端的订阅能通用吗?

不一定。Clash / mihomo 使用 YAML 格式,sing-box 使用 JSON 格式,Shadowrocket、Quantumult X 等也有各自的格式。优先在机场后台复制对应客户端的订阅,不要随意使用第三方在线转换服务。

怎么确认某条规则已经生效?

打开客户端的「连接」或「日志」页面,访问目标网站,查看这条连接命中的规则和使用的策略组。命中的不是你写的规则时,通常是前面有其他规则先匹配了。

系统代理和 TUN 模式该用哪个?

日常浏览用系统代理即可,简单且对系统影响小;命令行工具、游戏或不读取系统代理的程序需要代理时,再开启 TUN 模式。两者不要和其他代理工具同时使用。

策略组里的自动选择和手动选择有什么区别?

手动选择(select)由你指定节点,适合固定用途;自动选择(url-test)定期测延迟并自动切到最快的节点,适合作为备用。需要固定出口地区的服务,例如 AI 工具,建议用手动选择。

配置文件导入时提示格式错误怎么办?

先确认复制的是对应客户端格式的订阅;自己编辑的 YAML 文件最常见的错误是缩进不一致或使用了制表符,JSON 文件常见错误是多余的逗号或缺少引号。

规则里的策略组名称写错了会怎样?

客户端通常会报错并拒绝加载配置,或者让该规则失效。规则中引用的策略组名称必须与配置中实际存在的分组名完全一致,包括大小写和表情符号。

延伸阅读 ​

更新记录 ​

日期变更
2026-10-07首次发布完整内容
2026-10-07扩写为深度指南
2026-10-08按搜索结果页结构调整:开头加「速查:想做什么,先看哪一节」表

本专题文章 ​

  • 订阅链接导入通用教程(全平台)2026-10-08

    机场订阅链接导入通用教程:在 Windows、macOS、iOS、Android 主流客户端中导入订阅、选择节点、开启系统代理或 TUN,附分平台步骤、导入报错对照表、自动更新与分流模式的建议设置。