翻墙应用商店
Clash 创始作者

Dreamacro

Clash 的规则革命:定义现代代理的控制中枢

资料边界与事实声明

本文仅根据 Dreamacro GitHub 个人主页(github.com/dreamacro)、Go 官方模块代理(proxy.golang.org)、pkg.go.dev 归档、公开代码提交及作者公开致谢信息编写。对于仓库归档停更的具体外界背景及作者个人生活,本站不进行主观臆测与非事实延伸。同时,明确区分开源免费版 Core 与闭源增强版 Premium 的功能边界,并准确呈现核心与第三方客户端之间的协作关系。

修订历史:
  • 首版编写,核验 GitHub 主页、Go Proxy 模块存档、Go Packages 记录与源码致谢。

破局前夜:从“单点管道”到“智能中枢”的时代之渴

2017 至 2018 年间,中文互联网的抗审查对抗进入了高烈度的新阶段。随着 Shadowsocks 原作者退场以及 VMess 等新型加密协议的爆发,市场上可用的节点急剧增多,普通用户的连接诉求也发生了质的飞跃:人们不再仅仅满足于“有一条线路能艰难连通海外”,而是往往同时订阅了来自不同地区、不同延迟且可用性时常波动的数条乃至数十条节点。

然而,当时的软件生态却严重滞后:老旧的 PAC(代理自动配置)脚本与简单的 IP 白名单早已无法支撑复杂的多节点调度。用户若想看流媒体视频、查海外学术论文或玩外服游戏,必须在不同客户端界面之间反复切换本地监听端口与系统设置;一旦当前选中的单一节点发生丢包故障,整个网络访问瞬间中断。更残酷的是,开发者的命令行终端、无代理支持的游戏与系统服务,依然被困在无差别的直连或全局代理两难中。

当时虽然已有少数商业软件在苹果生态展示了规则分流的雏形,但在开源跨平台的主流世界中,始终缺少一个轻量、统一、能将多协议聚合调度且代码公开的现代引擎。整个中文互联网技术社区,正屏息以待一场真正的架构破局。[1][2][3]

Clash 的诞生:用 Go 语言锻造的规则路由引擎

2018 年初夏,开发者 Dreamacro 在 GitHub 提交了名为 Clash 的全新项目。Go 官方模块代理的历史快照铭刻下了这一里程碑:2018 年 6 月 15 日,Clash 发布了首个可核验版本 v0.3.2。

Dreamacro 从立项之初就展现出非凡的架构魄力。他将 Clash 庄严定义为“A rule-based tunnel in Go”(用 Go 语言编写的基于规则的隧道)。它不再是某一种孤立协议的复读机,而是以高度模块化的适配器设计,将社区优秀的协议实现熔于一炉——正如其开源版本的 README 中所坦荡致谢的那样,项目吸收了 riobard/go-shadowsocks2、v2fly/v2ray-core 以及 wireguard-go 的精髓。

但 Clash 最富革命性的创见,在于它第一次在开源界抽象出了完整的三层解耦架构:出站代理(Proxies)、代理策略组(Proxy Groups)与分流规则(Rules),并统一由人类极其易读、兼具层级结构美感的声明式 YAML 格式进行驱动。这一发明,彻底将代理软件从“管道工具”升格为了“智能调度中枢”。[2][3][4]

架构革命:策略组、Fake-IP 与 External Controller 的交响

Clash 的架构设计堪称中文代理软件工程的艺术巅峰。在规则匹配层面,它支持从顶级域名后缀(DOMAIN-SUFFIX)、关键词(DOMAIN-KEYWORD)到地理位置(GEOIP)乃至精准 IP-CIDR 的层级流水线过滤,让不同流量精确命中目标线路。

而真正让 Clash 成为统治级神器的,是其独创的策略组(Proxy Groups)宇宙:select(手动选择)、url-test(定期自动对多节点测速并零感切换至延迟最低者)、fallback(主备故障自动倒换可用性冗余)与 load-balance(多出口负载均衡)。这一设计构建出了具备自我愈合能力的弹性网络,普通用户即便遭遇海外线路大面积波动,也再也不会察觉到网页掉线。

在网络通信的深水区,Clash 大规模推行了 Fake-IP 模式。传统模式下本地必须先向 DNS 发起解析才能决定走哪条路,容易遭遇深度 DNS 污染且多了一次漫长的网络往返;Fake-IP 模式则大胆地在本地直接为域名赋予虚拟私网保留 IP(198.18.0.0/16),立刻完成本地握手,待数据包进入加密隧道后才由远端节点发起权威解析——不仅将握手延迟削减至微秒级,更彻底铲除了 DNS 污染的土壤。

尤为深谋远虑的是,Dreamacro 在内核中内置了基于 HTTP/WebSockets 的 External Controller 控制 API。核心完全只负责高性能数据转发,而将人机交互、节点测速、流量图表完全暴露给外部程序调用。正是这一彻底的接口解耦,如同在平静的湖面投下一枚巨石,直接引爆了中文桌面与移动端图形客户端的狂欢盛宴。[3][4]

繁荣与谢幕:一个内核托起客户端盛世与 Meta 的接力

凭借优雅的 API 与通用的 YAML 规范,围绕 Clash 迅速崛起了一个繁盛的工具帝国:Fndroid 开发的 Clash for Windows 让它成为千万桌面的标配,yichengchen 的 ClashX 让它在 Mac 顶部菜单栏轻盈跳动,Kr328 的 Clash for Android 把它装进了数百万人的口袋,随后更有 FlClash、Clash Verge 等无数开源新秀竞相诞生。可以说,整整五年的中文翻墙技术生态,都是由 Dreamacro 奠定的规则语言所喂养长大的。

在此期间,Dreamacro 还推出了探索技术极限的闭源增强版 Clash Premium,首次为 Clash 注入了内核态虚拟网卡(TUN)与动态规则集(Rule Providers)。

2023 年 11 月初,在无法抗拒的不可抗力与外界压力之下,Dreamacro 归档并清理了原始项目仓库,悄然退出了历史舞台。然而,由他点燃的火种早已在去中心化社区中扎下了不可动摇的深根。在此之前由社区极客发起的 Clash.Meta(后涅槃为 Mihomo)全面接过了衣钵,将原本封闭的特性完全开源重构,并拓展至全协议全平台。Dreamacro 的时代或许划上了句号,但他留下的规则架构,已成为整个中文互联网永不磨灭的技术图腾。[1][3][5]

编年大事记

Go 模块代理记录 Clash v0.3.2

Go 模块归档保留 Clash 早期的发布记录,开启基于规则的轻量隧道设计。[2]

引入 RESTful Controller API 接口

内置 HTTP 控制器与 WebSockets 状态推送,实现代理核心与图形前端的彻底解耦。

普及 Fake-IP DNS 解析机制

通过本地分配保留私有 IP 绕过本地 DNS 污染,显著提升首次建连速度。

第三方图形客户端生态大规模爆发

Clash for Windows、ClashX、Clash for Android 等应用形成跨系统覆盖浪潮。

Clash Premium 推出原生 TUN 模式

闭源增强版引入系统级 TUN 虚拟网卡转发,实现无需手动配置代理的透明接管。

社区开源分支 Clash.Meta 启动

开源社区成员创建 Clash.Meta(后更名为 Mihomo),继续推进开源规则核心演进。[5]

Clash 原始核心仓库归档清理

原作者归档 GitHub 核心仓库,社区全面转向由 Mihomo 继承维护的生态体系。[1][5]

一手来源与考据

小传正文中的关键事实与时间点均基于以下公开一手记录或权威报道:

  1. [1]

    记录作者公开项目、开源组织与历史足迹

    https://github.com/dreamacro
  2. [2]

    记录 Clash 早期的发布时间戳证据

    https://proxy.golang.org/github.com/%21dreamacro/clash/@v/v0.3.2.info
  3. [3]

    记录核心功能说明、GPL-3.0 许可证及上游致谢信息

    https://pkg.go.dev/github.com/Dreamacro/clash@v1.18.0
  4. [4]

    包含适配器层、规则模块与控制器 API 的完整 Go 源码备份

    https://proxy.golang.org/github.com/%21dreamacro/clash/@v/v1.18.0.zip
  5. [5]

    承接 Clash 架构并持续推进现代协议与跨平台支持的开源社区分支

    https://github.com/MetaCubeX/mihomo

发现人物信息不准确?

提交建议内容和公开证据链接。无需填写联系方式,资料会在人工核验后更新。

提交信息纠错