Chimera_Client
当前支持的协议与传输
- Trojan + WS
- Hysteria2
- Reality + TCP
- SOCKS5
- HTTP
- Xhttp
未来支持
- gRPC
- VMess
- WireGuard
- SSH
角色与目标
chimera_client 是 Chimera 生态中的 Clash 兼容客户端运行时。它的设计目标是在兼容现有 Clash/Mihomo 配置的同时,利用 Rust 的类型安全与异步生态构建一个可维护的代码库。
对运维人员而言,这意味着:
- 保留熟悉的配置与策略心智模型。
- 通过明确的 schema 与模块边界提升实现清晰度。
- 支持渐进式对齐:从稳定的基础能力(如 SOCKS 入站 + rules)开始,再逐步补齐与
clash-rs和 Mihomo 之间的特性差距。
与 Clash-rs 和 Mihomo 的关系
chimera_client 文档将 clash-rs 和 Mihomo 视为两个最重要的参考实现:
- clash-rs:用于解析器 / 运行时行为和配置语义的 Rust 原生参考实现。
- Mihomo:广泛生态兼容性和高级运维特性的事实生产参考。
在本章中,每个模块页面都会明确标注:
chimera_client当前已可用的内容,- 什么是与 Clash/Mihomo 兼容的目标行为,
- 以及当前应采取哪些迁移注意事项。
架构概览
在内部,客户端被组织为四层:
- 配置层
- 将 Clash 风格 YAML 解析为类型化的 Rust 结构。
- 处理默认值、校验与热重载边界。
- 入站 / 控制层
- 负责本地监听器(SOCKS/HTTP/mixed/TUN,随对齐进展逐步完善)。
- 暴露用于状态查询、切换与诊断的管理 API。
- 策略与 DNS 层
- 以首条命中语义执行规则链。
- 提供 DNS 策略原语(当前为系统解析器,目标是 Clash 风格 DNS)。
- 出站传输层
- 执行协议握手与流转发。
- 封装协议特定参数,同时复用通用 TLS / socket 工具。
这种划分与常见的 Clash 家族架构一致,并降低了解析器、运行时与协议引擎之间的耦合。
模块指南
每个功能区域都独立成文:
- 端口与监听器:键名映射与当前入站支持情况。参见端口与监听器。
- DNS 模块:fake-IP 与 real-IP 模型、解析器策略,以及当前实现状态。参见DNS 模块。
- TUN 模块:route-all / split-route 语义与 Linux 策略路由说明。参见Tun 模块。
- 规则模块:规则分类、排序策略与基于 provider 的策略组合。参见规则类型及其作用。
兼容性概览(英文文档,当前)
| 区域 | chimera_client(当前) | clash-rs / Mihomo 参考 |
|---|---|---|
| 入站监听器 | socks_port 可用;其他项部分实现 / 开发中 | 完整的 Clash 家族监听器矩阵 |
| DNS | 主要走系统解析器路径;Clash 风格配置块作为目标形态记录 | 成熟的 fake-IP / real-IP / 分流解析工作流 |
| TUN | 已记录目标模型;主线尚未完全启用 | 成熟的跨平台实现 |
| 规则 | 核心 Clash 规则语言已有文档并完成对齐 | 完整的规则 / provider 生态 |
可将此表作为阅读索引:各模块页面会进一步说明示例与注意事项。
部署模式
当前推荐的类生产使用模式:
- 从基于 SOCKS 的本地代理开始。
- 除非你正在验证开发中的 DNS 分支,否则应对 DNS 配置保持保守。
- 先使用显式规则顺序和较小的 provider 集,再逐步扩展。
- 仅在对齐分支和环境前置条件都验证完成后再启用 TUN。
对于 CI / 测试,建议同时保留一个最小配置和一个 Clash/Mihomo 对齐配置,以尽早发现解析器 / 运行时偏差。
性能与运维重点
长期性能策略与 Clash 家族工作负载保持一致:
- 可预测、低开销的规则匹配,
- 长生命周期会话下受控的内存行为,
- 以及面向策略调试的高可观测性。
在引入对齐特性(DNS/TUN/监听器)时,应优先保证确定性行为和可调试性,而不是依赖隐式的“魔法”默认值。
参考仓库
chimera_client:https://github.com/MFSGA/Chimera_Clientclash-rs: https://github.com/Watfaq/clash-rsmihomo: https://github.com/MetaCubeX/mihomo