先分清订阅地址与配置内容
导入前,先看手里拿到的是什么。URL 是资源地址,YAML 是配置文件的文本格式,Base64 则是一种编码方式。三者并不是互斥的订阅类型:同一个 HTTPS 地址,可能返回 YAML,也可能返回经过 Base64 编码的节点列表,甚至返回登录网页。
Clash 客户端负责管理配置、提供界面并启动代理内核。mihomo 是兼容 Clash 配置体系并扩展功能的内核,也常被称为 Clash Meta。配置是否能用,既取决于返回内容,也取决于当前内核是否支持其中的协议和字段。
| 拿到的内容 | 识别线索 | 下一步 |
|---|---|---|
| URL 订阅地址 | 通常以 https:// 开头,可能附带令牌参数 | 复制到客户端远程配置入口 |
| 本地 YAML 文件 | 扩展名常为 .yaml 或 .yml,内容有缩进与键值 | 使用本地文件导入入口 |
| Base64 节点串 | 编码后的长文本,解码后可能是多行协议链接 | 确认客户端支持,或获取 Clash 专用订阅 |
| 单条节点链接 | 例如以 ss://、vmess:// 开头 | 使用明确支持节点导入的入口 |
导入 URL 订阅:从复制地址到选中配置
1. 复制面向 Clash 或 mihomo 的订阅
进入订阅提供方的账户页面,优先选择标注“Clash”“Clash Meta”或“mihomo”的导出入口。不同入口可能返回不同协议与配置结构;“通用订阅”未必能直接作为完整 Clash 配置使用。
复制真正的订阅地址,不要复制账户后台的浏览器地址,也不要复制按钮旁边的说明文字。确认开头没有空格、结尾没有中文句号。地址中的 &、= 和百分号编码都可能有实际含义,不要自行删改。
2. 在客户端的配置页导入
- 打开客户端,进入“配置”或“Profiles”页。以 Clash Verge Rev 为例,先点侧栏“配置”,再使用该页的订阅链接输入区。
- 粘贴完整地址,点击“导入”。如果当前版本采用“新建”窗口,则选择远程配置类型,再填写 URL。
- 等待配置卡片出现。查看更新时间或错误提示,不要连续重复点击导入。
- 选中刚导入的配置,使它成为当前配置。只出现在列表里,不代表已经启用。
- 进入“代理”页,展开实际使用的策略组,确认组内能看到节点,再选择一个可用节点。
其他客户端可能把同类操作放在菜单栏图标的“配置”菜单内。入口文字可以不同,但处理顺序一致:获取远程内容、解析配置、选中配置、检查策略组。
3. 区分下载成功与配置生效
“订阅更新成功”通常只说明这次内容获取与处理完成。它不等于所选节点可连接,也不等于浏览器流量已经进入代理。先确认当前配置,再看代理模式;一般从“规则”模式开始,由配置中的规则决定直连还是代理。
导入本地 YAML:先检查结构,再检查来源
YAML 使用缩进表达层级。Clash 配置里常见 proxies(节点)、proxy-groups(策略组)、rules(分流规则),也可能用 proxy-providers 从外部加载节点。没有内联 proxies,不一定是空配置。
- 把文件保存到容易找到的位置,例如“下载”文件夹。确认不是网页另存得到的 HTML 文件。
- 进入客户端配置页,使用“导入文件”或本地配置入口。部分客户端支持拖入文件,以界面提示为准。
- 选中配置,查看是否出现解析错误。若提示具体行号,优先检查该行及上一行的缩进、冒号和引号。
- 检查外部节点源与规则源是否加载成功。本地文件仍然可能依赖网络资源。
用于检查导入流程的最小配置
下面是可以作为本地配置保存的 YAML 示例。它监听本机 7890 端口,并把请求交给直连出口。它没有代理节点,只适合验证文件格式和配置加载流程,不能用来测试代理线路。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
rules:
- MATCH,DIRECT
mixed-port 是可同时接收 HTTP 与 SOCKS 代理请求的混合端口。这里的 7890 是示例值,不是所有客户端的固定值;若界面中的端口设置或配置覆写改变了端口,应以实际监听值为准。
修改 YAML 时使用空格缩进,不要混入制表符。节点密码、URL 或名称包含特殊字符时,按 YAML 语法正确加引号。远程配置的直接修改可能在下次更新时被覆盖;需要长期调整时,优先使用客户端提供的覆写或合并功能。
识别 Base64:解码后仍要判断内容
Base64 不是加密。常见编码文本包含英文字母、数字、加号和斜杠,末尾可能有等号;URL 安全变体还可能使用短横线和下划线。但“看起来像一长串字符”不能单独证明它是有效订阅。
解码后的三种常见结果
- 多行节点 URI:例如若干条
ss://或vmess://链接。这是节点集合,不自带完整的策略组与分流规则。 - YAML 文本:继续检查配置结构与内核兼容性,不能只凭解码成功就确认可用。
- 错误信息或其他文本:回到提供方页面确认订阅权限、链接类型与有效期。
确实需要离线检查时,可以在 Mac“终端”中运行下面的命令。先把待检查的编码文本复制到剪贴板,再执行;命令只做本地解码,结果会显示在终端中。
pbpaste | /usr/bin/base64 -D
这是 macOS 自带工具的参数写法。遇到解码错误,可能是文本截断、混入其他字符或使用了不同编码变体,不能直接判定账号失效。解码结果可能包含密码,不要录屏或原样分享;检查后清理剪贴板。
如果结果是节点列表,而客户端的远程配置入口只接受完整 YAML,应回到提供方选择 Clash 专用订阅。只有在客户端明确支持通用节点订阅、或已配置可信的本地转换流程时,才走对应入口。不要为了一次导入,把含凭据的订阅交给来源不明的在线转换服务。
首次验证:配置、节点、流量分三步检查
先检查配置与策略组
确认当前配置有选中标记,代理页里的节点名称与这次导入的内容相符。策略组是“从哪些出口中选一个”的配置集合;如果规则引用的组不存在,即使文件能下载,也可能无法正确加载或路由。
再检查节点可用性
在代理页执行一次延迟测试。测试结果反映的是客户端针对测试地址的探测情况,不等于下载速度,也不能保证所有网站都能访问。遇到超时,换一个节点重复一次,并查看日志中的连接或认证错误,不要仅凭一个红色数字重装客户端。
最后检查应用是否进入代理
在客户端中开启“系统代理”,再用浏览器打开需要验证的网站。系统代理是 macOS 提供给应用的代理设置,只有遵守该设置的应用才会使用它。终端命令和部分应用不一定自动跟随,因此可以显式指定代理端口测试:
curl --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 -I https://example.com
运行前,把命令中的端口调整为客户端实际的 HTTP 或混合端口。127.0.0.1 指当前这台 Mac;连接等待上限是 10 秒,整个请求上限是 20 秒。收到 HTTP 响应表示请求链路获得了响应,但是否经过远端节点,仍需结合“连接”页或日志里的规则命中与出口判断。
TUN 是通过虚拟网卡接管流量的方式,覆盖范围通常比系统代理更广。首次导入订阅不必立即启用 TUN:先让配置和普通代理请求正常工作,再按应用需求调整接管方式,排错变量更少。
设置订阅更新间隔:先手动成功,再自动更新
先在配置卡片的操作菜单里执行一次“更新”。确认更新时间改变、配置仍能加载,再打开该配置的编辑或设置入口,查找自动更新及更新间隔。不同客户端可能使用分钟、小时或秒,输入前必须看单位。
- 普通个人使用:可以从每 24 小时一次开始,即 1440 分钟或 86400 秒。这里是起始建议,不是协议规定。
- 节点经常调整:按提供方说明改为每 6 小时或 12 小时一次,不要把间隔压到几秒。
- 临时更换节点或套餐:在提供方完成变更后手动更新一次,再检查策略组里是否出现新节点。
- Mac 经常合盖:休眠期间通常不会按时执行客户端任务。唤醒后查看实际更新时间,必要时手动更新。
配置订阅更新、节点源更新、规则源更新和延迟测试是四件不同的事。YAML 中某个 provider 的 interval 常以秒为单位,但它并不是客户端配置卡片的统一更新设置。不要为了提高订阅刷新频率,随意修改所有含有 interval 的字段。
如果当前配置需要依靠现有代理才能刷新,更新前先保留一个可用节点。更新失败时查看客户端是否保留了旧配置,避免删除唯一可工作的配置后才发现新地址无法访问。
导入与更新失败:按错误类型处理
| 看到的现象 | 优先检查 | 处理动作 |
|---|---|---|
| HTTP 401 或 403 | 令牌、账户权限、提供方访问策略 | 登录账户确认订阅状态,必要时重新生成地址 |
| HTTP 404 | 路径是否完整、订阅入口是否变更 | 重新复制提供方当前发布的地址 |
| HTTP 429 | 是否频繁刷新或多个设备同时请求 | 停止连续重试,按服务端要求等待 |
| YAML 解析错误 | 是否返回网页、缩进是否损坏 | 检查返回内容类型,再按报错行号修正本地文件 |
| 不支持的代理类型 | 内核能力与导出格式是否匹配 | 选择兼容格式,或更新到支持该协议的客户端与内核 |
| 请求超时或证书错误 | 网络路径、系统时间、服务器证书 | 检查连接与日期时间,向提供方确认服务状态 |
下载到内容,但没有节点
检查是否误用了只包含规则的文件,或导入了需要其他配置引用的节点源文件。完整配置、节点 provider 文件和规则 provider 文件用途不同,不能因为扩展名都是 YAML 就互相替换。
浏览器能打开地址,客户端却更新失败
浏览器可能携带登录 Cookie,而客户端通常不会继承浏览器登录状态;服务端也可能根据请求头返回不同格式。回到账户页获取专门的订阅地址,并在客户端日志中查看实际错误。不要通过关闭证书验证来绕过报错。
地址曾经公开,应该怎么办
在提供方后台重置订阅令牌,然后在每台设备更新地址,并确认旧地址已失效。仅删除聊天截图或移除本地配置,不能撤回已经泄露的访问凭据。