一、先分清订阅地址与订阅内容
Clash 导入订阅时,最容易混淆的是“从哪里获取”和“获取到什么”。URL 是远程资源的地址,Base64 是文本编码方式,YAML 是配置文件使用的数据格式。三者并非同一层级的三个选项:同一条 HTTPS 订阅地址,返回的内容可能是 YAML,也可能是经过 Base64 编码的节点列表。
因此,能复制链接不代表内容一定适用于当前客户端,文件名以 .yaml 结尾也不能证明服务器实际返回了配置。判断兼容性时,需要同时检查订阅入口、响应内容和客户端所用内核。
| 对象 | 常见识别特征 | 导入时的含义 |
|---|---|---|
| 订阅 URL | 通常以 https:// 开头,可能带路径与查询参数 |
客户端通过地址获取配置,并可保留地址用于更新 |
| Base64 文本 | 常见为较长的字母、数字与符号组合,可能以等号结尾 | 需要先确认解码结果;节点 URI 列表通常需要转换或专门的导入支持 |
| YAML 配置 | 常见字段包括 proxies:、proxy-groups:、rules: |
字段、协议与引用均兼容时,可作为配置使用 |
二、订阅链接复制、导入与首次启用
1. 从提供方选择对应的配置入口
在订阅提供方的账户页面寻找标注为“Clash”或与当前内核匹配的订阅入口。若页面区分通用订阅、Clash 配置和 mihomo 配置,应按客户端实际使用的内核选择。mihomo 是 Clash Meta 后续使用的内核名称,部分扩展协议和字段需要相应支持;界面相似不等于配置能力完全一致。
- 复制完整的 HTTPS 地址,保留
?后的查询参数与&分隔的参数。 - 不要复制账户管理页、付款页或分享说明页的地址,这些页面通常返回 HTML。
- 通过聊天软件转发后,检查末尾是否多出句号、引号或换行,避免把正文标点一起导入。
- 不要自行删除看似随机的令牌字段;服务器可能依靠它识别订阅权限。
2. 在配置管理页粘贴 URL
不同客户端的菜单名称有所差异。常见操作路径为「配置」→「新建」→「远程」,或「订阅」→「添加订阅」→「URL」。在地址栏粘贴链接,为配置命名,再执行下载或导入。若界面只有“从文件导入”,该入口读取的是本地文件,不应把 URL 当作文件路径填写。
- 先保留现有可用配置,不要在首次导入时删除旧记录。
- 将新配置命名为“日常订阅-主用”等可辨识名称,避免多条记录都叫“默认”。
- 等待下载和解析结束,检查结果是否显示成功,而不是只看列表是否新增一行。
- 选中并启用这份配置;“已添加”和“正在使用”是两个状态。
- 进入策略组页面,确认出现预期的组名与节点,再选择一个出口进行访问测试。
系统代理与 TUN 属于流量接管方式,不负责把订阅转换为可用配置。首次排查时先确认配置已加载、策略组可见,再处理系统代理或 TUN,能减少变量。端口也以客户端实际显示为准,不要因为示例常见 7890 就认定所有安装都使用这个端口。
三、Base64 订阅为什么不能直接当 YAML 使用
通用订阅常把多行节点 URI 编码为一段 Base64 文本。解码后可能出现以 ss://、vmess:// 或 trojan:// 开头的行。这些行描述节点连接参数,并不自然包含 Clash 需要的策略组、规则顺序和 DNS 设置。
部分客户端提供节点导入或订阅转换功能,但这属于客户端附加能力,不能推断所有 Clash 配置入口都支持。把整段 Base64 文本另存为 config.yaml,只改变文件名,不会让内容变成 YAML。
优先选择原生输出,再考虑转换
- 先回到提供方页面,寻找可直接返回 Clash YAML 的入口。
- 如果只有通用订阅,查阅当前客户端是否明确支持该格式,以及支持哪些协议。
- 确需转换时,优先使用提供方提供的功能或可信的本地工具,检查生成结果中的节点、策略组与规则。
- 转换完成后保留来源说明。若只是导入一次本地文件,后续远程节点变更通常不会自动同步到该文件。
四、YAML 配置:完整配置与节点提供者文件
YAML 只是语法格式,文件还要符合使用位置的结构要求。完整配置可以包含监听端口、节点、策略组、规则与 DNS;供 proxy-providers 使用的节点文件通常只提供节点数据,不能简单等同于一份已经配置好分流策略的 Profile。
下面是一份用于理解结构的最小直连配置。它没有远程代理节点,不能替代订阅;启用后,规则把连接交给 DIRECT。其中 mixed-port: 7890 表示同一监听端口接受 HTTP 与 SOCKS 代理连接,实际使用前应检查端口是否已被其他程序占用。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
proxies: []
proxy-groups:
- name: 手动选择
type: select
proxies:
- DIRECT
rules:
- MATCH,手动选择
查看配置时重点检查三处
- 节点来源:
proxies中直接定义节点,或通过proxy-providers引入节点。看不到内联节点不一定代表配置为空,还要检查提供者是否加载成功。 - 策略组引用:组内的节点名、其他组名或提供者引用需要存在。名称发生变化后,旧引用可能失效。
- 规则目标:
rules的目标必须能解析为有效策略。示例中的“手动选择”与组名完全一致,修改其中一处时应同步检查另一处。
编辑 YAML 时使用空格缩进,不要用 Tab。密码、特殊字符和带冒号的字符串应按 YAML 语法正确引用。若配置来自远程订阅,直接修改下载后的文件可能在下次更新时被覆盖;需要持久修改时,应使用客户端明确支持的覆写、合并或扩展机制,并确认其生效顺序。
五、订阅更新:远程记录、本地文件与覆盖范围
远程订阅记录通常保留 URL,执行更新时重新请求内容;本地导入的 YAML 通常只是一次文件快照。是否支持监视文件或自动刷新,取决于客户端实现。两者看起来都出现在配置列表中,但更新来源不同。
首次导入后先做一次手动更新
在当前记录的菜单中寻找「更新」或「刷新」,观察更新时间是否变化,并检查更新结果。若客户端支持周期更新,可以先采用 24 小时的间隔,再按提供方说明调整。间隔单位可能是分钟、小时或秒,应看清输入框标注;频繁请求可能触发服务端限流。
- 更新成功但节点未变:服务器可能仍返回同一份内容,也可能是另一份配置正在启用。先核对当前 Profile 名称。
- 订阅已更新但提供者仍报错:主配置下载与
proxy-providers的远程节点下载是两个环节,要分别检查。 - 本地规则消失:远程更新可能覆盖原文件。将长期维护的规则放入受支持的覆写配置,而不是反复修改订阅正文。
- 更新地址变更:提供方重置令牌后,旧地址可能失效,需要替换保存的 URL,而不是只反复点击刷新。
下载订阅是否经过代理,同样取决于客户端实现和相关设置。遇到“必须先连接才能更新”的循环时,可先切回旧的可用配置,再更新新记录;不要只为获取订阅就同时重置系统代理、DNS 与 TUN。
六、导入后节点为空:按请求、格式、加载顺序排查
“节点为空”可能发生在下载之前,也可能发生在解析或展示阶段。先保留错误原文,再按下表缩小范围,比反复重新安装更有效。日志中如含地址参数、节点凭据或账户标识,分享前应进行遮挡。
| 现象或日志 | 优先检查 | 下一步 |
|---|---|---|
| HTTP 401 或 403 | 令牌、账户权限、访问策略 | 在提供方页面重新复制订阅,确认订阅有效及客户端请求要求 |
| HTTP 429 | 更新频率与请求限制 | 暂停连续刷新,按服务端提示等待后再请求 |
| 返回 200,但内容以 HTML 开头 | 登录页、错误页或访问验证页面 | 更换为实际订阅入口;200 只说明请求得到响应,不说明内容可用 |
| YAML 解析失败 | 响应格式、缩进、报错行附近的字段 | 确认下载到 YAML,而非 Base64、JSON 错误信息或网页 |
| 提示不支持的节点类型 | 协议与当前内核能力 | 选择匹配内核的订阅输出,或按客户端文档更新内核 |
| 配置加载成功,列表只有 DIRECT | 提供者下载、节点过滤与策略组引用 | 检查提供者状态和过滤表达式,再确认当前启用的配置 |
不要把“测试超时”直接当成“导入失败”
节点已经显示但延迟测试超时,说明问题通常已进入连接测试阶段。测试 URL 不可达、节点认证失败、网络阻断或 DNS 异常,都可能产生超时。此时应检查具体连接日志,而不是把正常的 YAML 再次转换为另一种格式。
反过来,配置卡片显示“添加成功”也不代表内核已经接受配置。有的界面会先保存记录,再执行下载或切换。最终应同时确认:下载成功、内核加载成功、当前配置已选中、策略组引用有效。
七、导入完成后的检查清单
- 订阅来源明确,URL 完整,令牌未出现在公开截图或笔记中。
- 响应内容符合当前入口要求,已区分完整 YAML、节点提供者文件与 Base64 节点列表。
- 当前启用的 Profile 正确,策略组中能看到预期节点或已成功加载的提供者。
- 手动更新至少成功一次,自动更新间隔与客户端显示的单位一致。
- 本地规则有独立备份,已确认订阅更新是否会覆盖修改。
- 连接测试失败时记录具体报错,按配置加载、节点连接、流量接管的顺序处理。
后续需要配置系统代理、规则模式或 TUN 时,可继续查看Clash 使用指南;需要理解节点、策略组与规则的引用关系,可阅读进阶配置。先把订阅格式与更新链路确认清楚,再调整流量接管设置,排查路径会更明确。