客户端下载与订阅导入
如果只是准备开始使用,可以先到Clash 客户端下载页,按操作系统和处理器架构选择客户端。安装后,在客户端的「配置」或「Profiles」页面导入服务商提供的订阅地址,选中刚导入的配置,再到代理组里选择节点。订阅地址通常包含访问凭据,不要把完整地址发到公开评论或问题截图里。
需要辨别内核时,先把三个层次分开:客户端提供窗口、托盘、订阅管理和系统设置入口;内核负责解析配置、建立代理连接与执行规则;订阅提供节点以及可能附带的代理组、规则和 DNS 设置。客户端能够成功下载订阅,不等于内核能够使用其中所有协议。
导入后的第一轮检查
- 确认订阅下载成功,并且当前启用的是该配置,而不是安装时附带的示例配置。
- 查看启动日志,确认没有配置解析错误、节点类型不支持或监听端口冲突。
- 桌面端先使用系统代理测试浏览器;安卓端通常需要授予 VPN 连接权限。
- 需要接管不遵循系统代理的应用时,再单独配置 TUN,避免同时修改太多设置。
原版 Clash、Meta 与 mihomo 的演进
原版 Clash 与 Premium 分支
原版 Clash 通常指 Dreamacro 项目及其内核。它建立了广泛使用的 YAML 配置结构,例如 proxies、proxy-groups 和 rules。原版生态还存在 Premium 内核,不能把开源原版与 Premium 的能力直接合并比较:Premium 曾提供 TUN、规则集与脚本等扩展能力,具体支持范围取决于所用构建。
原版项目在 2023 年 11 月停止维护。旧客户端、旧内核仍可能运行,但遇到新的节点协议、操作系统变化或新增字段时,不会因为重新下载同一份旧程序而自动获得支持。现有旧配置可以用于迁移参考,新部署则应优先考虑仍在维护、能够匹配订阅需求的内核。
Clash Meta 到 mihomo
Clash Meta 是在 Clash 生态基础上发展的分支,扩展了代理协议、DNS、规则匹配以及透明代理等能力。该项目后来更名为 mihomo;因此,订阅服务商写的“Meta 格式”、教程中的“Clash.Meta”,以及客户端标注的“mihomo 内核”,经常指向同一条项目演进路线。
名称上的延续不表示所有时期的版本完全等价。较早的 Meta 构建可能缺少后来加入的协议或配置选项,较新的 mihomo 也可能调整字段行为。迁移判断应落实到实际版本和启动结果,而不是只判断名称里有没有 Meta。
| 名称 | 定位 | 检查重点 |
|---|---|---|
| 原版 Clash | 早期配置生态的基础内核 | 现有节点是否在其支持范围内;旧配置是否依赖特定构建 |
| Clash Premium | 原版生态中的扩展内核 | TUN、规则集和脚本配置不能直接视为开源原版能力 |
| Clash Meta | mihomo 项目的旧名称 | 安装包年代与内核版本,尤其是较新的协议字段 |
| mihomo | Meta 演进后的项目名称 | 当前构建支持的协议、规则与平台权限 |
节点协议与订阅格式兼容
判断订阅是否需要 mihomo,最直接的方法是查看节点的 type。不要公开整份配置,只在本机查看必要字段。Shadowsocks、VMess、Trojan 等常见类型在 Clash 生态中存在较长时间,但同一种协议内部仍可能有不同加密方法、传输方式和扩展参数。
| 配置特征 | 兼容判断 | 需要继续检查 |
|---|---|---|
type: ss | 常见 Shadowsocks 节点可作为迁移起点 | cipher、插件以及是否使用 SS2022 方法 |
type: vmess 或 type: trojan | 不能只凭协议名称判断配置可用 | WebSocket、gRPC、TLS 与服务端要求是否一致 |
type: vless | 不属于原版 Clash 的常规支持范围,通常选择 mihomo | flow、reality-opts 与传输参数 |
type: hysteria2 | 需要支持 Hysteria 2 的构建 | 服务端密码、TLS 参数及网络是否允许 UDP |
type: tuic | 需要支持对应 TUIC 实现的构建 | 协议版本、认证字段及 UDP 连通性 |
订阅地址与节点分享链接
完整 Clash YAML 通常包含代理组和规则;代理提供者文件通常只包含节点列表;Base64 节点集合或单条 ss://、vmess:// 分享链接又是另一种输入。客户端能否自动识别或转换这些格式,属于客户端功能,不能假定每个内核都能直接把任意链接当作完整配置读取。
在服务商后台选择订阅格式时,如果有“Clash Meta”或“mihomo”入口,而订阅包含 VLESS、Reality、Hysteria 2 等特征,应优先使用对应入口。选择旧 Clash 输出,有时会让转换服务删除不兼容节点。导入后节点数量明显减少,先对照输出格式,不要立即认定账号流量已经用完。
规则、DNS 与 TUN 字段差异
规则顺序与策略名称
DOMAIN、DOMAIN-SUFFIX、IP-CIDR、GEOIP 和 MATCH 是常见规则类型。规则从上到下匹配,先命中的规则决定去向;在末尾放置 MATCH 可以明确兜底策略。迁移时要同时检查规则引用的代理组是否存在,组名中的空格与大小写也应一致。
mihomo 提供更丰富的匹配能力,例如 GEOSITE 和逻辑规则,以及依平台、运行权限和功能设置生效的进程匹配。把包含这些规则的订阅交给老内核,可能产生解析错误。即使规则名称被识别,所需的地理数据或远程规则文件加载失败,也会影响最终结果。
规则提供者与旧脚本
rule-providers 用于加载规则集合,RULE-SET 用于引用它们。核对时应关注提供者的 behavior、文件格式和路径,而不是只看有没有这个顶层字段。Premium 的旧 script 配置不能直接当作 mihomo 的等价功能;迁移这种配置时,需要重新表达为受支持的规则与策略组。
DNS 不只是一个服务器地址
DNS 配置包括监听地址、上游服务器、enhanced-mode 和 fake-ip-filter 等内容。mihomo 还提供 DNS 策略与流量嗅探等相关能力。旧配置中的某个字段被接受,并不说明其默认行为与旧内核完全相同;迁移后应分别验证域名解析、规则命中与实际连接。
例如,启用 fake-ip 后,应用可能收到 198.18.0.0/16 范围内的虚拟地址,这不是服务端真实 IP。需要把应用流量接入同一内核,才能完成后续映射。只复制 DNS 配置,却没有配置好流量接管路径,可能导致“域名能解析、网页打不开”。
TUN 与系统代理
系统代理主要供遵循操作系统代理设置的应用使用;TUN 通过虚拟网络接口接管流量,通常需要管理员权限、服务模式或相应系统能力。Windows、macOS、Linux 的路由配置方式不同,安卓客户端则一般借助 VpnService 建立 VPN 接口。一个客户端界面里有 TUN 开关,不代表所有平台使用完全相同的实现。
tun.stack、auto-route 和 dns-hijack 等字段需要结合目标版本与平台检查。首次迁移建议先关闭 TUN,以系统代理确认节点能够连接,再逐项启用路由和 DNS 接管。这样能区分协议不兼容、权限不足与路由冲突。
内核版本确认与配置测试
图形客户端可以先检查「关于」页面中的内核信息,以及启动日志中的版本行;具体入口名称随客户端而异。不要把客户端自身的版本号直接填入内核问题报告。命令行部署可以使用下面两条命令:第一条显示版本,第二条检查指定配置,均应调用准备实际运行的那个二进制文件。
mihomo -v
mihomo -t -f ./config.yaml
如果系统没有把 mihomo 加入搜索路径,在 Linux 或 macOS 当前目录运行时可改用 ./mihomo;Windows 可在 PowerShell 中使用 .\mihomo.exe。当电脑上存在多个副本时,还要核对客户端启动路径,避免终端测试的是新内核,图形客户端仍在使用旧内核。
最小配置与端口验证
下面的 YAML 仅用于核对配置结构与本地监听,不含订阅节点,也不会提供远程代理出口。混合端口设为 7890,同时接受 HTTP 与 SOCKS5 代理请求;allow-lan: false 将访问范围限制在本机。把它保存为独立测试文件,不要覆盖正在使用的订阅。
mixed-port: 7890
allow-lan: false
bind-address: 127.0.0.1
mode: rule
log-level: info
proxy-groups:
- name: 测试出口
type: select
proxies:
- DIRECT
- REJECT
rules:
- DOMAIN-SUFFIX,example.com,测试出口
- MATCH,DIRECT
配置检查成功后再启动内核,可用以下命令确认 HTTP 代理监听路径。示例默认选择 DIRECT,因此成功仅说明本地代理入口与直连路径可用,不证明订阅节点可用。若日志提示端口已占用,先关闭另一份正在运行的客户端,或统一更改测试端口与请求端口。
curl --proxy http://127.0.0.1:7890 --head https://example.com
配置检查通过也不保证网络连接成功:它不能替你确认节点密码、远端证书、订阅剩余流量或运营商 UDP 策略。后续仍要用真实订阅逐个测试,并查看连接日志。控制接口常见于 127.0.0.1:9090,它不是代理端口;需要启用时应设置访问密钥,并避免直接监听公网。
旧配置迁移与常见错误
迁移顺序
- 保留原配置。 单独备份本地覆写、规则文件与代理组选择,不在唯一副本上直接修改。
- 重新获取适配订阅。 优先使用服务商提供的 Meta 或 mihomo 输出,确认新旧配置中的节点数量与协议类型。
- 测试基础连接。 先使用系统代理,保持规则模式,确认至少一个真实节点可以访问目标网站。
- 合并自定义内容。 逐项加入规则提供者、DNS 与嗅探设置,每次改动后检查启动日志。
- 恢复 TUN 和自启。 基础链路稳定后再启用虚拟网卡与后台服务,重新启动设备验证持久设置。
报错分类
| 现象 | 优先检查 | 处理方向 |
|---|---|---|
| 节点类型不支持 | 节点 type 与实际内核版本 | 选择匹配的订阅格式或支持该协议的内核 |
| YAML 解析失败 | 缩进、冒号、列表层级和引号 | 使用空格缩进,按照日志行号修复结构 |
| 策略组不存在 | 规则、组成员与代理组名称 | 保持引用名称一致,恢复被转换遗漏的组 |
| 规则提供者加载失败 | 资源地址、文件路径与格式 | 确认资源可访问,并与声明的格式匹配 |
| 节点超时 | 服务端状态、认证、TLS 和 UDP | 换节点交叉测试,结合日志排查连接阶段 |
| TUN 开启后断网 | 权限、路由、DNS 与其他 VPN | 暂时关闭 TUN,恢复基础连接后逐项检查 |
内核选型结论与常见问答
新安装以支持现有订阅、持续维护的客户端与内核为优先。需要 VLESS、Reality、Hysteria 2 或较新的分流能力时,通常应选择合适版本的 mihomo。旧环境若暂时不能迁移,要先确认当前功能需求和系统限制,再安排替换,不必为了名称变化反复导入同一份配置。
选型还要考虑硬件架构。Apple Silicon 与 Intel Mac 的安装包不同;Linux 的 x86_64 与 arm64 二进制也不能混用。图形客户端会额外承担桌面集成与更新管理,无界面服务器则可以使用命令行内核。需要进一步比较平台入口时,可以查看选型指南,安装与导入步骤见快速上手。
服务商只有 Clash Meta 订阅,mihomo 可以导入吗?
通常可以,因为两者属于同一条项目演进路线。但仍要核对订阅字段与实际内核版本。若出现解析错误,应根据日志检查具体字段,而不是只把订阅名称改成 mihomo。
更换内核之后,需要重新购买订阅吗?
内核与订阅账号是两个层次。原账号是否可用取决于服务商的协议、认证与设备限制。一般先获取适配新内核的订阅格式即可,不应把格式不兼容直接当作账号失效。
能否把 mihomo 文件放进任意旧客户端替换内核?
不能保证。客户端还依赖启动参数、控制 API、文件目录和服务管理方式。优先使用客户端提供的内核切换或更新入口;没有明确替换支持时,选择与 mihomo 集成的客户端更容易保持配置和后台服务一致。
内核升级后,节点测试延迟变高说明什么?
先确认测试地址、超时时间、节点与网络是否一致。对比时应在同一网络下连续测试,并同时观察实际网页加载和连接错误。单次延迟变化不足以证明内核性能退步,也不能用低延迟数值替代协议兼容检查。