← 返回 x-air.shop 本地视觉备份 首页

Clash 配置生成:节点与订阅转 Mihomo YAML,生成、导入、校验一步到位

更新于 2026-10-23 · x-air.shop

简答:Clash 配置生成先按输入选择路径:订阅 URL 优先直接导入客户端,单条或多条节点链接再本地转换为 Mihomo YAML,已有 YAML 用 mihomo -t 校验,最后在 Clash Verge Rev 中选中并启用配置。

定义:Clash 配置生成,是把单节点链接、批量节点、Base64 订阅或订阅 URL 转换为客户端能够读取的 Clash/Mihomo YAML,并补齐代理组、规则或 DNS 等配置结构。

30 秒速查:先判断你要生成什么

本文与 Clash 项目及其开发者无隶属关系。先看你手里的内容,再决定是否需要生成 YAML;很多人其实只需要在客户端直接添加订阅,不必把远程订阅转换成新文件。

现有内容优先路径生成结果先检查什么
一个 vmess://、vless://、trojan://、ss:// 等链接本地转换为单节点 YAMLproxies 中包含一个节点服务器、端口、认证字段和 TLS 参数是否完整
多条节点分享链接逐行输入本地转换工具批量节点 YAML每行一个链接,删除空行和不明参数
Base64 订阅或订阅 URL客户端直接导入;需要筛选时再本地转换远程 Profile 或本地 YAML订阅地址是否仍然有效,返回内容是否为配置而非登录页
已有 YAML先用 Mihomo 校验,再导入客户端可修正的 Clash/Mihomo 配置缩进、冒号、节点名称和代理组引用是否一致

最短结论:订阅 URL → 直接导入;单条或多条节点链接 → 本地转换;已有 YAML → mihomo -t 校验。需要合并多个订阅、筛选节点、修改代理组或统一规则时,才值得生成新的 YAML。

如果不想手写,可以优先选择本地运行的 SubConv 开源仓库。仓库说明它用于把订阅转换为 Mihomo 兼容配置,并支持 Clash 配置和 Base64 格式输入;具体安装方式、模板和协议支持以仓库当前说明为准。不要把真实订阅、UUID、密码或密钥直接粘贴到不明在线页面。

生成前先选目标:Mihomo YAML 还是旧 Clash 格式

“Clash 配置”并不是所有客户端都完全通用。生成前应先确认目标客户端使用的内核,再把目标写成“面向 Mihomo 的 YAML”。Mihomo 配置文档列出了多种出站代理类型和配置结构,字段名称必须以对应协议文档为准。Mihomo 配置文档

原版 Clash 核心的维护和协议兼容性不能默认等同于 Mihomo。SubConv 仓库 README 明确提示原始 Clash 核心已不再获得支持,并建议使用 Mihomo;如果旧客户端导入后提示未知字段、节点数量为零或配置加载成功但全部不可用,应先检查客户端内核,而不是立刻重写 YAML。SubConv 项目说明

协议常见关键字段容易出错的地方核对文档
VMessserver、port、uuid、alterId、cipher、传输层、TLSUUID、端口、传输层、TLS 与服务端不匹配Mihomo VMess 配置
VLESSserver、port、uuid、network、TLS 或 Reality 参数servername、public-key、short-id、Path 或 gRPC 服务名填错Mihomo VLESS 配置
Trojanserver、port、password、TLS 参数密码、SNI、证书校验或端口不一致Mihomo Trojan 配置
Shadowsocksserver、port、cipher、password加密方式、密码、端口或插件参数不一致Mihomo Shadowsocks 配置
Hysteria2server、port、password、TLS、SNI、可选混淆参数把 Hysteria v1 字段套用到 Hysteria2,或漏填密码、TLS、端口Mihomo Hysteria2 配置
TUICserver、port、UUID、密码、TLS、ALPN 和拥塞控制相关参数认证方式、ALPN、SNI、证书校验或版本不匹配Mihomo TUIC 配置

servername、证书校验、Reality 公钥和短 ID 都属于连接参数,不能拿示例值替换真实值。TLS 相关字段应对照 Mihomo 的 TLS 配置说明填写;如果只是排查语法,不要把 skip-cert-verify 当成默认修复方法。Mihomo TLS 配置

不想手写:两条可照做的生成路径

路径一:订阅 URL 直接导入

  1. 复制完整订阅地址,保留所有参数,不要截断问号后的内容。
  2. 打开支持远程 Profile 的客户端,选择添加远程配置或订阅链接。
  3. 粘贴 URL,保存并等待配置下载完成。
  4. 回到配置列表,选中刚添加的 Profile,再进入代理页面选择节点或策略组。
  5. 如果提示下载成功但节点为空,用浏览器或命令行查看响应内容,确认不是 HTML 登录页、JSON 报错或空白文件。

订阅地址应按权限凭据处理。Clash Verge Rev 的隐私说明指出,远程 Profile 更新会向你填写的订阅地址发起请求,订阅提供方能够看到请求来源 IP;自动更新开启后还会按设置重复请求。Clash Verge Rev 隐私说明

路径二:用 SubConv 本地转换

  1. 先阅读 SubConv 仓库中的安装说明,并按当前文档准备运行环境。
  2. 逐行粘贴节点分享链接,或输入订阅内容;真实 URL、UUID、密码和端口只使用自己的值。
  3. 目标选择 Mihomo 兼容配置,第一次建议使用仓库提供的通用模板,不要同时叠加复杂规则、TUN、Fake-IP 和大量远程规则集。
  4. 生成后保存为 config.yaml,用文本编辑器确认缩进没有被压平,再执行配置测试。
  5. 如果需要修改规则或代理组,先备份原文件,每次只改一类字段,便于定位问题。

SubConv 仓库列出了通用模板和自部署方式,但不会替你核验节点来源、服务端参数或配置安全性。生成成功只代表转换流程完成,不代表每个节点都能连接。

最小 YAML 结构示例

下面只演示结构,示例中的域名、端口、加密方式和密码都必须替换为你自己的真实值:

mode: rule
log-level: info
mixed-port: 7890
proxies:
  - name: "替换为节点名称"
    type: ss
    server: "替换为服务器域名或 IP"
    port: 443
    cipher: "替换为服务端加密方式"
    password: "替换为密码"
proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - "替换为节点名称"
rules:
  - MATCH,PROXY

最小配置的判定标准是:能通过 Mihomo 语法测试,客户端能看到一个节点和一个代理组。先完成这一步,再逐项加入 TLS、传输层、DNS 和规则,避免一次修改多个变量。

Clash Verge Rev 导入 YAML:Windows、macOS、Linux 桌面端

Clash Verge Rev 的配置文档将导入方式分为远程订阅和本地配置:远程配置可以使用订阅链接导入或订阅链接配置,本地配置可以新建配置文件或拖拽配置文件。拖拽导入的最低版本要求以当前文档说明为准,文档目前写明为 v1.6.2。Clash Verge Rev 配置文档

  1. 打开 Clash Verge Rev,进入 Profiles/配置 页面。
  2. 导入订阅:选择远程订阅或导入订阅链接,粘贴以 http:// 或 https:// 开头的地址并保存。
  3. 导入本地 YAML:选择新建本地配置文件,再选择 config.yaml;如果使用拖拽入口,把 YAML 文件拖入配置页面。
  4. 等待解析结束,点击该配置使其成为当前配置;不要只停留在“文件已导入”状态。
  5. 进入代理页面,选择节点或代理组,再按需要开启系统代理。
  6. 只有在需要接管非代理端口流量时才启用 TUN;如果开启后全机断网,先关闭 TUN,回到普通系统代理验证。

如果出现 client error(Connect),配置文档建议尝试其他导入方式;如果导入成功但看不到配置,可重新刷新配置列表。导入后应检查节点数量、代理组引用和规则内容,而不是直接开始修改 DNS。

Android、iOS 和其他客户端的边界

Android 端可通过应用内 Profile 页面添加远程配置或本地 YAML;公开仓库还记录了 clash://install-config?url= 和 clashmeta://install-config?url= 两种导入 Scheme,但菜单和权限提示可能随版本变化,优先使用客户端自己的配置页面。Clash Meta for Android 仓库

iOS、macOS 其他客户端的菜单名称不能统一套用。本文不把不同客户端的入口混写;如果你使用 sing-box,可参阅本站的sing-box 订阅导入步骤,如果使用 Windows 的 v2rayN,可参阅本站的v2rayN TUN、路由与 DNS 排查。无法核实具体客户端入口时,以该客户端当前文档为准。

生成后校验:先查 YAML,再查节点和规则

第一层:用 mihomo -t 检查配置

如果本机已经安装 Mihomo,把路径替换为实际配置文件路径:

mihomo -t -f "./config.yaml"

这条命令的目的,是让 Mihomo 读取配置并检查结构。判定标准是命令正常返回;如果输出行号、字段名或缺少列表项,优先修正缩进、冒号、引号和字段拼写。当前 Mihomo 相关公开复现记录也使用 -t 进行配置测试,并结合 -d 指定运行目录;不同发行包的命令名可能不同,先用 mihomo -v确认可执行文件可用。Mihomo CLI 参数使用记录

如果配置依赖同目录的 GeoIP、GeoSite 或其他资源文件,建议建立独立配置目录,再使用目录模式启动:

mkdir -p ./mihomo-data
cp ./config.yaml ./mihomo-data/config.yaml
mihomo -t -d "./mihomo-data"

命令中的目录和文件名只是示例,必须替换为实际路径。-d 适合需要同时读取配置和资源文件的场景;如果只验证一个独立 YAML,-t -f更直接。判断是否正常仍以命令返回和错误行号为准,不要仅凭窗口没有弹窗判断成功。

第二层:检查引用关系

第三层:最后处理 DNS、TUN 和规则集

DNS、TUN 和节点本身是三个不同问题。先用最小配置确认节点可用,再逐项增加 nameserver、fallback、nameserver-policy、TUN 和远程规则集。Mihomo 文档对 DNS 字段和 TUN 配置分别有说明,不建议把所有高级选项一次性加入生成模板。Mihomo DNS 配置 Mihomo TUN 配置

默认模板怎么选:先简单,再按需求增加功能

使用场景建议模板先启用暂时不要启用
只想确认单节点能否连接最小节点模板一个节点、一个选择组、最简单规则TUN、Fake-IP、远程规则集、复杂 DNS
日常多节点使用通用规则模板选择组、基本 Rule 模式、必要 DNS未经核对的脚本、陌生远程资源
合并多个订阅本地转换加代理组模板节点命名、来源分组、手动选择自动更新频率过短、无来源规则集
办公网络排查最小配置加系统代理固定节点、日志、明确端口一开始就启用 TUN 和复杂路由

如果只是把一个已有订阅放进客户端,默认选择“直接导入远程 Profile”。如果必须得到本地 YAML,默认选择“通用模板”,但先删去不需要的 DNS、TUN 和远程规则。这样可以把问题拆成“配置解析失败、节点握手失败、规则未命中、系统接管失败”四个阶段。

生成器显示“成功”并不等于节点可用。Mihomo 的 API 文档把代理状态、类型、是否存活和延迟历史作为运行时信息,因此连接验证应在客户端实际启动后再观察,而不是把 YAML 文件生成结果当作测速或可用性结论。Mihomo API 文档

安全检查与失败降级顺序

  1. 不要公开完整订阅 URL。它可能包含可直接访问订阅内容的权限信息。
  2. 不要把 UUID、密码、私钥、服务器地址和完整日志一起发到公开 Issue 或群聊。
  3. 导入远程 YAML 后,检查 proxies、proxy-groups、rules、dns、tun 和远程资源地址。
  4. 如果不信任某个在线生成页面,改用客户端原生订阅导入,或在本机部署并运行开源转换项目。
  5. 如果配置生成失败,先只保留一个节点;如果导入失败,先运行 mihomo -t;如果语法通过但不通,再回到协议字段核对。
  6. 如果 Windows 能用而 Android 或 iOS 不能用,保持同一份最小 YAML,分别检查客户端内核、VPN 权限、TUN 和 DNS,不要同时换配置和节点。

这套顺序的目的,是区分转换工具、YAML 语法、客户端内核、系统权限和节点参数。若原始订阅可以直接导入,而转换后的 YAML 不能使用,优先回到原始订阅,再只转换一个节点做对照。

常见问题

Clash 配置生成应该输入节点链接还是订阅链接?

单个节点链接适合生成最小 YAML;多条分享链接适合批量转换;订阅 URL 通常优先直接导入客户端。只有需要合并订阅、筛选节点或修改规则时,才建议转换为本地 YAML。

为什么 YAML 生成成功,导入 Clash 后却没有节点?

常见原因是生成结果不是有效 YAML、代理组引用了不存在的节点名称、客户端内核不支持该协议,或订阅返回的是 HTML、登录页或错误信息。先用 mihomo -t 校验,再检查 proxies、proxy-groups 和返回内容。

在线生成 Clash 配置安全吗?

不能默认认为安全。订阅 URL、UUID、密码和节点地址可能属于敏感信息;更稳妥的路径是直接在客户端导入,或使用可信项目在本地转换,并在导入后检查规则、DNS、TUN 和远程资源。

UUID、SNI、Path 和 Host 在配置里有什么作用?

UUID通常用于部分协议的身份认证;SNI或servername用于 TLS 握手中的服务器名称;Path 是部分传输层使用的路径;Host 是部分传输层发送的主机名。它们必须与服务端参数匹配,不能照抄示例值。

为什么同一份配置在 Windows 能用,Android 或 iOS 却不能用?

不同平台的客户端、内核、VPN 权限、TUN 实现和协议支持可能不同。先用一个最小节点配置测试,再分别检查当前内核、系统 VPN 权限、Private DNS、TUN 和 DNS 设置。

相关阅读

参考资料

  1. Mihomo 配置文档
  2. Mihomo VMess 配置
  3. Mihomo VLESS 配置
  4. Mihomo Trojan 配置
  5. Mihomo Shadowsocks 配置
  6. Mihomo Hysteria2 配置
  7. Mihomo TUIC 配置
  8. Mihomo TLS 配置
  9. SubConv 开源订阅转换项目
  10. Clash Verge Rev 配置文档
  11. Clash Verge Rev 隐私说明
  12. Clash Meta for Android 仓库