2023 年 11 月,Dreamacro 删除了 Clash 的 GitHub 仓库。没有告别,没有迁移说明,就这样消失了。几乎同一时间,Clash for Windows 和 ClashX 的维护者也相继删库。一整个生态,一夜之间只剩下存档备份。
Terraka 的内核选择了 Clash.Meta——或者说它现在的名字 mihomo。这篇文章讲清楚,这个选择意味着什么。
01 原版 Clash 的终点
原版 Clash 由 Dreamacro 独立维护,从 2019 年开始,历经四年,最终在 v1.18.x 停在了那里。
作者没有留下详细解释,但圈子里的背景不难理解。随着代理工具在国内受到越来越严格的审查,独立维护一个高知名度的开源项目变成了一件需要承担个人风险的事。删库,是一些开发者保护自己的选择。
这件事本身没有对错可评。但对于依赖这个内核的客户端软件来说,意味着一个问题:用什么继续跑下去?
02 Meta 是谁在维护
Clash.Meta(现已更名为 mihomo)是 2022 年从原版 Clash fork 出来的项目,由 MetaCubeX 社区主导开发。
它保留了完整的 Clash 配置格式兼容性——你的 proxies.yaml、rules.yaml 完全可以直接用。换内核这件事,对最终用户几乎是透明的。差异在引擎盖下面。
目前 mihomo 仓库由多名维护者协作,保持活跃的 issue 处理和版本发布节奏。这一点是原版 Clash 后期做不到的。
mihomo 基于 Clash 核心,扩展协议支持与功能,保持与原有配置格式的向后兼容。
— MetaCubeX/mihomo 项目说明
03 协议支持的差距
这是最直接的差异。原版 Clash 的协议支持在维护停止时定格在:Shadowsocks、VMess、Trojan、VLESS(基础)、Shadowsocks-R。
Clash.Meta / mihomo 在此基础上增加了:
- Hysteria2:基于 QUIC 的高丢包优化协议,Terraka 2.7 的主要新特性。
- VLESS + XTLS/Reality:流量更难被识别,是目前对抗深度包检测最有效的组合之一。
- TUIC v5:同样基于 QUIC,低延迟,对移动网络切换有更好的处理。
- WireGuard:作为出站代理使用,可以接入 WireGuard 节点或 WARP。
- AnyTLS:通用 TLS 伪装层,适配多种传输方式。
原版 Clash 已经永久停在了那个协议列表里。新协议只有在 mihomo 里才能用。
04 TUN 实现的改进
原版 Clash 的 TUN 实现用的是自己维护的一套逻辑,稳定性有限——尤其在 Windows 上,路由表冲突和偶发断流是常见问题。
Clash.Meta 重写了 TUN 模块,引入了 sing-box 的 TUN 实现。具体改进:
- 双栈支持:IPv4 和 IPv6 流量同时接管,不再需要单独配置 IPv6 劫持。
- 协议栈可选:
stack: system和stack: gvisor两种模式,system 性能更好,gVisor 隔离性更强。 - DNS 劫持更可靠:与 DNS 模块深度整合,不再出现 TUN 开着却 DNS 泄漏的情况。
- 退出时自动清理路由表:原版 Clash 强制退出后路由残留的问题得到了修复。
Terraka 的 TUN 模式直接受益于这些改进。
05 其他值得一提的改进
更准确的节点测速。 原版 Clash 用 TCP 延迟测速,Clash.Meta 支持真实 HTTP 连接测速和并发测速,结果更接近实际使用感受。对 UDP 协议(Hysteria2)还做了专门的可达性测试。
规则集性能优化。 大规则集(几千条规则)在原版 Clash 里匹配很慢。Clash.Meta 引入了规则集缓存和更高效的前缀树匹配,加载和匹配速度明显提升。
DNS over QUIC。 支持 doq:// 格式的 DNS 服务器,DNS 查询本身也可以走 QUIC,减少 DNS 解析延迟。
Sub-rule 支持。 可以在规则里嵌套子规则,处理复杂场景时不用写一堆重复的规则条目。
06 你需要关心这件事吗
如果你只是个普通用户,答案是:不需要。 你用的客户端(包括 Terraka)已经在内核层面做好了选择,这些差异对你是透明的。
如果你是运维或者喜欢自己管配置文件,答案是:值得了解一下。 下次想用 Hysteria2 或 Reality 节点,搞清楚为什么旧版内核跑不起来,心里会少很多疑惑。
如果你还在用基于原版 Clash 内核的客户端:是时候迁移了。那个内核已经两年多没有安全更新,协议支持已经大幅落后。
Terraka 所有平台使用的都是 mihomo 最新稳定版内核,并在每次 Terraka 更新时同步内核版本。下载最新版本 →