在 Clash 客户端里添加配置时,最容易混淆的不是按钮位置,而是手里的内容究竟属于哪一种格式。订阅 URL、本地 YAML 配置、单节点分享链接和代理提供者文件都可能包含服务器信息,但它们的用途、导入入口和更新方式并不相同。把单节点链接粘贴到订阅输入框,或者把网页地址保存成 YAML,通常都会得到“格式错误”“配置解析失败”或“找不到代理组”等提示。
不同图形客户端的菜单名称略有差异,常见入口包括“配置”“订阅”“Profiles”或“配置文件”。它们最终都要把数据交给 Clash 兼容内核解析。理解数据类型之后,即使客户端界面变化,也能判断应该粘贴 URL、选择本地文件,还是先转换为完整配置。
订阅 URL、节点链接与 YAML 文件有什么区别
订阅 URL:由远程服务返回配置内容
订阅 URL 通常是一个以 https:// 开头的地址。客户端保存该地址后,会主动发起网络请求,并把服务器返回的内容存为远程配置。之后点击“更新订阅”,客户端会再次访问同一地址,以获取节点变动、策略组调整或规则更新。
地址本身不是配置正文。真正决定能否导入的是 HTTP 响应内容。一个看起来正常的订阅地址,可能返回完整 Clash YAML、仅包含节点的编码文本、登录页面、错误页面或一段 JSON。浏览器能打开该 URL,并不等于 Clash 内核能够解析它。
https://example.com/api/client/subscribe?token=example-token
订阅参数常用于识别账户或选择客户端格式。复制时应保留完整查询参数,避免遗漏问号后的内容。若服务页面提供“Clash”“Clash Meta”或“Mihomo”专用入口,应优先选择与当前内核对应的格式,而不是使用通用链接猜测兼容性。
单节点分享链接:只描述一个代理节点
单节点链接一般使用协议名称作为开头,例如 ss://、trojan://、vmess:// 或 vless://。它描述单个节点的服务器、端口、认证参数和传输设置,却通常不包含 Clash 运行所需的完整策略组、规则和默认出口。
部分客户端提供“从剪贴板导入节点”功能,可以把分享链接转换为节点条目;另一些客户端只接受完整配置。这时将单节点链接粘贴到订阅 URL 输入框不会成功,因为该输入框预期访问远程 HTTP 地址。即使节点被转换出来,也仍需把它放入 proxies,并由 proxy-groups 与 rules 引用。
本地 YAML:可以直接交给内核读取的配置
YAML 文件通常以 .yaml 或 .yml 结尾,内容可能包含端口、运行模式、节点、代理组、规则、DNS 和 TUN 设置。完整配置可以通过“导入本地配置”或“打开配置文件”载入。与远程订阅相比,本地文件不会自动从原地址更新;修改文件后通常需要重新载入或在客户端内刷新。
一个最小化的结构示意如下。实际节点参数应由可靠来源提供,示例只用于说明各区块之间的关系。
mode: rule
proxies:
- name: Example
type: ss
server: 192.0.2.10
port: 443
cipher: aes-128-gcm
password: example-password
proxy-groups:
- name: PROXY
type: select
proxies:
- Example
- DIRECT
rules:
- MATCH,PROXY
proxies 定义可连接的节点,proxy-groups 决定用户能选择哪些出口,rules 则把流量交给相应策略。仅有 proxies 而没有可用规则和策略组时,配置可能通过语法检查,却不能按预期完成分流。
Clash 客户端导入订阅链接的标准步骤
-
确认客户端使用的内核。
原版 Clash、Clash Meta 与 mihomo 的基础配置有较大兼容范围,但扩展协议、规则类型、DNS 字段和 TUN 选项并不完全一致。当前常见客户端多采用 mihomo 内核,导入时应选择服务端提供的 Clash Meta 或 mihomo 配置格式。
-
复制完整订阅地址。
从订阅管理页面使用复制按钮,检查地址前后是否混入空格、换行或说明文字。不要只复制页面上被省略显示的一部分,也不要把浏览器地址栏中的登录页地址当成订阅地址。
-
进入配置或订阅页面。
找到“新建订阅”“从 URL 导入”或“Download Remote Profile”一类入口。为配置填写容易识别的名称,再把 URL 放入远程地址输入框。若界面同时提供文件选择器,应把 YAML 文件交给文件导入入口,而不是放进 URL 输入框。
-
执行下载并查看状态。
客户端会访问远程地址并解析响应。成功后通常能看到配置名称、更新时间、节点数量或文件大小。若配置卡片已经建立但内容为空,应继续检查更新日志,而不是立即启用系统代理。
-
设为当前配置并选择策略。
导入成功不代表配置已经激活。需要选中该配置,再到代理页面选择策略组出口。使用规则模式时,流量会根据
rules分配;使用全局模式时,客户端通常把大部分流量交给指定的全局策略。 -
最后启用系统代理或 TUN。
系统代理适合遵循系统代理设置的应用。TUN 模式会通过虚拟网络接口接管更广的流量范围,往往需要系统权限。首次配置建议先验证普通系统代理,再根据应用覆盖范围决定是否启用 TUN。
Clash YAML 常见区块与格式要求
YAML 依赖缩进表示层级,通常使用空格,不应混入制表符。冒号后需要保留空格;列表项以短横线开头;包含特殊字符的值可以使用引号包围。编辑器若自动替换半角标点,也会导致解析失败。
节点与代理组的名称必须对应
策略组通过名称引用节点或其他策略组。节点名称从“东京 01”改为“东京主线”后,所有引用旧名称的位置都要同步修改。否则内核可能提示代理不存在,或者在载入配置时拒绝建立策略组。
proxy-groups:
- name: AUTO
type: url-test
proxies:
- Tokyo-01
- Singapore-01
url: https://www.gstatic.com/generate_204
interval: 300
select 组由用户手动选择,url-test 组会按测试结果选择可用节点,fallback 更关注按顺序切换到可用节点。具体支持情况取决于内核版本和客户端封装。测速地址、间隔与容差也会影响自动选择结果,不应把一次延迟数字当成长期质量结论。
规则按顺序匹配
Clash 规则通常自上而下检查,命中后不再继续。精确域名、域名后缀、IP 网段和规则集应放在符合配置目标的位置,兜底规则一般位于末尾。例如 DOMAIN-SUFFIX,example.com,DIRECT 会把指定域名后缀交给直连策略,MATCH,PROXY 则接收此前没有命中的流量。
规则中的策略名称必须在代理组或内置策略中存在。若订阅转换服务更改了代理组名称,却没有同步调整规则引用,配置就可能导入失败。遇到此类问题,应同时检查 proxy-groups 和 rules,而不是只查看节点列表。
代理提供者不是完整订阅配置
proxy-providers 用于从远程文件加载一组节点,再由策略组通过 use 引用。提供者文件通常只负责节点集合,不负责整份配置的 DNS、规则和端口设置。把 provider 地址直接作为完整配置导入时,客户端可能提示缺少关键字段。
proxy-providers:
remote-nodes:
type: http
url: https://example.com/provider.yaml
path: ./providers/remote-nodes.yaml
interval: 3600
proxy-groups:
- name: PROXY
type: select
use:
- remote-nodes
这里的远程文件由主配置引用。客户端首先载入主 YAML,再根据其中的 provider 定义下载节点集合。两级更新机制不同:更新主配置不一定立即更新所有提供者,具体行为取决于客户端是否提供单独的 provider 刷新操作。
订阅导入失败时按什么顺序检查
第一步:判断请求是否拿到了配置
先查看客户端日志中的 HTTP 状态和错误类型。状态码 401 或 403 常见于凭据失效、访问权限变化或请求参数缺失;404 表示路径可能已经调整;超时则应检查当前网络、DNS 解析和系统时间。若响应是 HTML,通常意味着地址跳转到了登录页、验证页或错误说明页。
某些订阅地址在浏览器中依赖登录状态,而客户端请求不会自动携带浏览器会话。应从服务的订阅管理页面获取专用 URL,不要复制需要先登录才能访问的普通网页地址。
第二步:识别返回内容的格式
完整 Clash YAML 常能看到 proxies、proxy-groups、rules 等字段。只有一长段编码文本时,返回内容可能面向其他客户端;只有多个协议链接时,它更接近节点集合。此时应在服务页面切换输出格式,或使用客户端明确支持的导入方式。
文件扩展名并不能可靠说明响应类型。URL 末尾可能没有 .yaml,但服务器仍返回 YAML;反过来,带有 YAML 字样的地址也可能因为授权失败而返回网页。应以实际响应和日志为准。
第三步:定位 YAML 语法与字段错误
日志若给出行号和列号,应先检查对应位置附近的缩进、冒号、引号和列表结构。错误源有时位于提示行之前,例如上一行的引号没有闭合,解析器会在下一行才发现异常。修改配置前保留原始副本,逐项调整比一次删除大段内容更容易定位原因。
“字段不支持”通常与内核差异有关。配置可能使用 mihomo 扩展规则、较新的协议字段或更新后的 DNS 结构,而当前客户端内核版本较旧。解决方向是更新兼容客户端、选择对应订阅格式,或按当前内核文档调整字段,不宜随意删除不认识的配置项后直接运行。
第四步:检查配置之间是否互相覆盖
部分客户端把订阅配置、全局覆写、混入配置和脚本处理分为不同层级。远程 YAML 本身正确,但本地覆写添加了重复端口、错误代理组或旧 DNS 字段,也会导致最终配置无法启动。排查时可以临时停用覆写功能,先确认原始订阅能够单独载入,再逐个恢复自定义项。
如果导入成功却无法联网,还应区分“配置解析问题”和“连接问题”。前者通常在加载阶段就有明确错误;后者可能表现为节点超时、域名解析失败、系统代理未启用,或 TUN 路由没有正确建立。先看日志发生在哪个阶段,可以避免反复删除并重新导入同一订阅。
订阅更新、配置保存与迁移注意事项
远程订阅适合持续接收节点和规则变更,但本地直接编辑的内容可能在下次更新时被覆盖。需要保留的自定义规则,建议放入客户端提供的覆写、合并配置或脚本处理功能中;如果客户端没有相应能力,可以维护独立的本地 YAML,并手动更新其中的节点来源。
订阅 URL 往往包含访问凭据,应像账户密钥一样保存。截图、日志或求助内容中应遮住查询参数,避免把完整地址发布到公开页面。更换设备时,可以在新设备上重新复制订阅,而不是通过公开聊天记录传递地址。
从一个 Clash 客户端迁移到另一个客户端时,先确认目标客户端采用的内核和配置目录规则。基础 YAML 通常可以复用,但图形客户端保存的订阅列表、策略选择、覆写脚本和 TUN 权限属于客户端状态,并不一定包含在 YAML 中。迁移后应重新选择当前配置、检查策略组,并重新授权系统代理或虚拟网络接口。
订阅更新频率也不宜设置得过短。节点提供者和主配置通常已经定义合理的更新时间;频繁请求不仅难以带来实际改善,还可能触发远端访问限制。日常使用可以按服务建议更新,在发现节点列表明显变化、配置提示过期或规则需要刷新时再手动执行一次更新。
快速判断:手里的内容应该放到哪里
- 以 HTTPS 开头,并由订阅管理页面提供:优先放入“从 URL 导入”或“远程配置”入口。
- 以协议名称开头的单条文本:使用客户端的节点导入功能,或者把它转换后写入完整 YAML。
- 电脑或手机里已有的 .yaml、.yml 文件:使用本地文件导入,不要把文件路径填入在线订阅框。
- 只包含节点列表的 provider 文件:由主配置中的
proxy-providers引用,不能直接替代完整运行配置。 - 打开后显示网页、登录提示或错误说明:返回内容不是可直接解析的 Clash 配置,应重新取得专用订阅地址。
- 能导入但代理页没有策略组:检查配置是否只有节点、策略组是否引用正确,以及当前配置是否已经激活。
Clash 订阅导入的核心不是反复尝试不同按钮,而是先识别输入格式,再确认客户端内核与配置内容匹配。订阅 URL 负责远程更新,YAML 负责描述完整运行结构,单节点链接只提供一个连接条目,proxy provider 则是由主配置管理的节点来源。按“请求结果、内容格式、YAML 结构、内核兼容、运行状态”的顺序排查,大多数导入问题都能被准确定位。