先区分地址、配置文件与节点编码

“导入订阅”包含两个动作:取得内容,再让客户端解析内容。URL 是取得内容的地址,YAML 是配置文件的表达格式,Base64 是一种编码方式。这三者并不处在同一层:同一条 HTTPS 订阅地址,可能返回完整 Clash YAML,也可能返回经过 Base64 编码的节点链接。只看到地址,无法判断它能否直接导入。

拿到的内容 识别线索 适合的导入方式 后续更新
远程订阅 URL 通常以 https:// 开头,可能带令牌参数 远程配置或订阅地址入口 客户端重新请求同一地址
本地 YAML 文件 包含 proxies:、proxy-groups: 等键 导入本地文件,或打开配置目录 通常需要重新导入或自行维护
Base64 节点串 解码后常见多行 ss://、vmess:// 等 URI 支持对应格式的节点导入或可信转换工具 由来源及转换链路决定

URL 订阅:从复制地址到启用配置

复制客户端专用订阅,而不是账户网页

在订阅提供方的账户页面选择 Clash 或 Mihomo 对应的输出入口,再复制完整地址。账户登录页、购买记录页与订阅接口不是同一个地址。如果提供方分别列出 Clash、Clash Meta、通用订阅,应按实际客户端内核选择;使用 Mihomo 的客户端通常可使用面向 Clash Meta 的配置,但仍要核对具体协议支持情况。

  1. 确认来源。地址应来自实际使用的服务账户。保留查询参数,不要漏掉 ? 后面的令牌,也不要把复制时附带的引号、空格和换行带入输入框。
  2. 找到远程入口。例如 Clash Verge Rev 可在「订阅」页的 URL 输入框粘贴地址,再点击「导入」。版本界面可能调整,以“通过 URL 获取配置”的入口为准,而不是本地文件按钮。
  3. 等待下载与解析。导入后查看配置名称、更新时间和节点列表。如果出现解析错误,先保留原来的可用配置,不要连续覆盖。
  4. 选择新配置。确认刚导入的配置已被激活,再到「代理」页面为实际使用的策略组选择节点。下载完成但未切换配置时,连接仍可能沿用旧配置。
  5. 验证代理链路。先用客户端的连接测试,再开启系统代理并访问测试页面;需要接管非系统代理流量时,才继续配置 TUN。

在 ClashX 系列客户端中,远程订阅入口常见于菜单栏图标的「配置」→「托管配置」→「管理」,添加地址后再选择对应配置。不同分支的菜单名称不完全一致;看不到“托管配置”时,应先确认客户端名称与版本,不要套用其他客户端的截图步骤。

如果地址在浏览器中打开后显示登录页面、验证码或一段 HTML,即使服务器返回 HTTP 200,也不是可直接解析的 Clash 配置。应返回提供方页面重新获取订阅入口,而不是把该网页另存为 .yaml。

本地 YAML:导入文件与检查结构

本地文件适合保存手动维护的规则、离线迁移配置,以及导入提供方直接交付的配置包。常见扩展名是 .yaml 或 .yml,但扩展名只帮助识别文件,不能改变内容格式。把 Base64 文本改名为 YAML,不会自动生成策略组或分流规则。

导入前检查三项

  • 编码与缩进:使用 UTF-8 文本;YAML 层级使用空格,不用 Tab。列表项与上级键的缩进需要一致。
  • 配置范围:完整主配置通常包含节点或节点提供器、策略组与规则。只有 proxies: 的文件可能是节点提供器内容,并非可独立运行的完整配置。
  • 内核兼容:能被 Mihomo 识别的字段,不一定能被旧 Clash 内核识别。遇到“不支持的代理类型”应核对协议与内核,不能仅靠调整缩进解决。

下面仅展示 YAML 的层级关系与一个直连策略,不包含代理服务器,不能用来验证远程节点是否可用。7890 是示例监听端口,不代表所有客户端的默认值。

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

proxy-groups:
  - name: 手动选择
    type: select
    proxies:
      - DIRECT

rules:
  - MATCH,手动选择

在客户端的「订阅」或「配置」页面选择本地文件入口;支持拖放的客户端也可将文件拖入对应区域。导入后检查实际生效的端口与模式,因为图形客户端可能通过合并配置或设置面板覆盖文件中的字段。发现导入前后端口不一致时,以运行中的设置和日志为准。

Base64:解码节点不等于生成 Clash 配置

Base64 不是加密。它可以把文本编码成便于传输的字符串,却不能隐藏节点密码或订阅令牌。常见的通用订阅在解码后是一行一个节点 URI;这些 URI 描述单个节点,通常没有 Clash 主配置中的策略组、规则和 DNS 设置。

按解码后的内容选择处理方式

  1. 得到节点 URI 列表:先查看客户端是否提供对应协议的节点导入功能。主配置导入器不一定接受 URI 列表,支持单节点导入也不等于支持整份通用订阅。
  2. 得到完整 YAML:将其作为配置内容检查,确认缩进、协议类型和字段兼容性,再通过本地文件入口导入。
  3. 得到网页或错误信息:说明下载源或访问状态有问题。继续套一层 Base64 解码或修改文件后缀没有帮助。

需要转换时,优先使用提供方的 Clash/Mihomo 专用输出,或可信的本地转换工具。转换不只是解码,还需要把节点参数映射到目标内核格式,生成策略组与规则,并保留 TLS、SNI、传输方式等必要字段。原始信息不全时,转换工具无法推导缺失的认证参数。

第三方在线转换服务可能接触完整订阅地址和节点凭据。不要把真实地址粘贴到来源不明的网站,也不要在公开工单中提交原始文件。排查时应隐藏令牌、密码、UUID 和服务器信息;若令牌已经泄露,应在提供方账户中重置订阅地址。

自动更新:主配置与节点提供器分别计时

图形客户端管理的“订阅更新间隔”与内核配置中的节点提供器更新并非同一项。前者重新下载主配置,后者只更新 proxy-providers 引用的节点内容。调整其中一个,不能保证另一个同步变化。

更新对象 设置位置 核对重点
远程主配置 客户端订阅卡片的编辑或更新设置 界面使用分钟还是小时、是否启用自动更新
HTTP 节点提供器 主配置的 proxy-providers interval 以秒为单位
普通本地文件 文件维护流程 是否需要重新载入,以及是否引用远程资源

下面是 Mihomo 的 HTTP 节点提供器片段,86400 秒即 24 小时。地址使用保留示例域名,不提供实际节点;该片段需要并入完整主配置,目标响应应为内核支持的节点提供器内容,例如顶层包含 proxies: 的 YAML。

proxy-providers:
  remote-nodes:
    type: http
    url: "https://example.com/nodes.yaml"
    path: ./providers/remote-nodes.yaml
    interval: 86400

策略组还需要用 use: 引用 remote-nodes,节点才会进入相应组。提供器的健康检查间隔只控制探测频率,并不是订阅下载间隔。不要为了“节点更快”把更新间隔设成几秒;这会增加请求量,可能触发服务端限流。

客户端未运行、设备休眠或网络不可用时,不能假定定时任务一定执行。修改设置后先手动更新一次,确认没有报错,再观察更新时间与下一次启动后的行为。剩余流量和到期日能否显示,取决于响应信息和客户端支持,不影响对内容格式的判断。

导入失败:按下载、解析、运行顺序定位

第一步:确认能否取得正确响应

  • HTTP 401 或 403:优先检查地址完整性、令牌有效性及账户状态;403 也可能来自访问策略或防护系统,不能直接认定为节点故障。
  • HTTP 429:停止连续点击更新,按服务端提示等待,再降低更新频率。
  • 超时或证书错误:检查网络、系统时间与订阅域名解析。不要用关闭证书验证作为常规解决方案。

第二步:核对格式与内核

出现 YAML 行号错误时,检查提示行及其上一层缩进,尤其是冒号、引号和列表横线。出现未知代理类型时,记录客户端版本及内核名称,回到提供方选择兼容输出。配置中有 proxy-providers 而没有直接列出节点并不一定是错误,应继续查看提供器是否下载成功,以及策略组是否正确引用。

第三步:区分订阅更新路径与实际代理路径

订阅请求可能由客户端自身发出,不一定跟随内核代理。若旧配置能上网但新订阅下载失败,应查看客户端是否允许为订阅更新单独设置代理,以及该选项是否依赖已有可用配置。TUN 的作用是接管网络流量,不会把 Base64 自动变成 YAML,也不会修复失效令牌。

最后核对当前激活配置、策略组选择和系统代理。系统代理端口必须对应客户端实际监听端口;例如客户端监听 7890,系统代理却指向 7897,就会出现配置已导入但应用无法连接。按这个顺序检查,可以把“下载失败”“格式不兼容”和“连接未接管”分开处理,避免反复重装客户端。