翻墙应用商店

yichengchen俗称:YC

ClashX:macOS 菜单栏上的原生美学与静默守护

资料边界与事实声明

本文仅根据 yichengchen GitHub 个人主页(github.com/yichengchen)、公开代码仓库历史归档、官方 Release 说明及 macOS 系统公开开发接口编写。恪守隐私底线,不推测、不调查开发者的现实姓名、生活与个人隐私;对 2023 年 11 月的代码仓库归档,仅陈述可公开验证的归档状态与社区接续事实。

修订历史:
  • 首版编写,核验 GitHub 个人主页、历史归档、Apple NetworkExtension 增强模式及菜单栏交互规范。

本站收录作品

已收录 1 款主导开发应用
ClashX Meta

ClashX Meta

开源免费
macOS

轻量 macOS 菜单栏 Mihomo 客户端,支持规则配置、系统代理及多类常用代理节点。

代表作品与核心贡献

专为 macOS 设计的高性能纯原生菜单栏代理客户端,轻量、极简且与操作系统深度融合

ClashX Pro

访问作品

率先整合 Apple NetworkExtension 框架的进阶版本,提供免配置全系统透明接管的增强模式

Privileged Helper Tool 提权守护架构

访问作品

基于 macOS launchd / SMJobBless 打造的静默系统代理修改机制,彻底消除权限弹窗

跨平台的诱惑与原生的执念:Mac 用户的隐秘痛点

在 2018 年底的代理工具格局中,跨平台框架(从早期的 Python Qt 到后来风靡一时的 Electron)几乎成了绝大多数开发者的本能选择——写一套 UI 代码,就能打包横跨 Windows、Linux 与 macOS。然而在追求轻量与精致的 Mac 用户眼中,这种“移植品”往往带着挥之不去的违和感:一个仅仅用于网络分流的常驻后台工具,动辄吃掉数百兆甚至上吉字节的内存,唤醒时伴随着肉眼可见的界面掉帧与发热,更在 macOS 优雅的暗色设计语言前显得格格不入。

更令 Mac 用户苦不堪言的,是 Unix 哲学下严苛的安全权限机制:macOS 严禁普通权限程序随意篡改“系统偏好设置”中的网络服务代理配置。这意味着用户每一次切换网络、每一次开关代理,屏幕中央都会突兀地弹出一堵灰色锁形的安全凭证对话框,强制要求输入开机密码或触碰 Touch ID。这种割裂的体验,让规则代理在 Mac 上的日用体验大打折扣。

面对刚刚由 Dreamacro 开创的声明式分流核心,Mac 平台迫切需要一位真正读懂 Apple 平台交互灵魂的工匠,打造一款“如同苹果官方亲自预装的原生系统组件”。[3][4]

隐匿于菜单栏的匠心:ClashX 与提权守护进程

2018 年 12 月 1 日,开发者 yichengchen 在 GitHub 上线了 clashX。他在初版 README 中清晰定调:“ClashX: A rule based proxy For Mac base on Clash. 专为 macOS 打造的原生规则代理。”从写下第一行代码起,他就展现出了极其罕见的产品克制力:彻底舍弃任何笨重的前台主窗口,将全部的人机交互场景,压缩在屏幕右上角那只小巧灵动的猫形菜单栏图标中。

yichengchen 选用 Swift 与 Objective-C 构筑纯正的 Cocoa 原生界面。当用户轻点状态栏图标,一层轻盈毛玻璃质感的下拉菜单如水波般流淌开来:出站模式(规则分流、全局、直连)、嵌套策略组展开、节点健康度延迟测速、订阅更新与实时日志一览无余。每一次点击与悬停都遵循着 macOS Human Interface Guidelines(HIG)的毫秒级响应,几乎零 CPU 占用,内存消耗更是只有同类跨平台工具的零头。

而最展现系统工程底蕴的,是他对权限顽疾的彻底根治:2019 年 4 月 15 日,yichengchen 专门设计了独立的系统提权辅助守护进程(Privileged Helper Tool),并阐述了自己的设计审美:“一个优秀的代理客户端,应该像水一样无形,静静待在 macOS 菜单栏里,让你几乎感觉不到它的存在。通过 Privileged Helper,彻底消灭切换代理时的密码弹窗。”该守护工具通过 Apple 官方推荐的 SMJobBless 机制在系统 launchd 守护体系中安全注册。一旦完成首次鉴权,ClashX 便可在后台静默、零弹窗、毫秒级调用 CoreFoundation 网络接口切换代理,将原本令人厌烦的密码轰炸,化解为了无声无息的顺畅呼吸。[4]

突破沙盒壁垒:ClashX Pro 与 NetworkExtension 增强模式

随着开发者的网络环境日趋复杂,单纯依赖 HTTP / SOCKS5 系统代理机制的局限性暴露无遗:终端命令行下的 curl、git、brew、ssh 工具,容器引擎 Docker,以及众多依赖底层 Socket 通信的编译工具和海外联机游戏,根本不主动读取操作系统的代理环境变量,时常在内网穿透与海外依赖拉取中频频超时报错。

面对终端生态的断层,yichengchen 启动了更为强大的衍生版本——ClashX Pro。彼时苹果正在逐步收紧 macOS 系统的内核扩展(kext)权限,传统依赖注入内核虚拟网卡驱动的方式极易引发系统崩溃死机(Kernel Panic)。yichengchen 敏锐跟进苹果最新的 NetworkExtension 系统扩展架构,采用现代化的 NEPKey 与 NEPacketTunnelProvider 接口,将 Clash 内核直接架设在系统受信任的虚拟网络隧道之上。

2020 年 8 月 10 日,他在 ClashX Pro 发布说明中写道:“借助 Apple NetworkExtension 框架,ClashX Pro 的增强模式接管全系统所有网络请求,终端无需设置任何代理环境变量即可全局畅通。”这项被称为“增强模式(Enhanced Mode)”的创举,宣告了 Mac 透明代理时代的降临:无需用户在终端反复 export http_proxy,无需繁琐修改路由表,全系统所有的 TCP/UDP IP 数据包直接在系统协议栈层被捕获,交由 Clash 进行纳秒级的 Fake-IP 域名逆解析与策略分流。Mac 用户终于首次拥有了“开机即全球互联”的极致一体化体验。[5]

传奇的谢幕与 Meta 时代的薪火相传

凭借无懈可击的原生交互体验、极佳的能耗控制与强大的增强模式,ClashX 与 ClashX Pro 成为了数以百万计 Mac 用户、苹果生态开发者、设计师与科研学者的开机常驻神器。在漫长的五年时光里,那只静静卧在屏幕右上角的菜单栏小猫,成为了无数人连接数字广袤世界的无形守护者。

同期汇总将 yichengchen/clashX 的只读归档记录在北京时间 2023 年 11 月 3 日,晚于 11 月 2 日的 CFW 发布仓库删除。ClashX 是 macOS 客户端,Dreamacro/clash 是代理核心;二者当时的状态分别被记录为归档与删除。仅凭同日记录,不能认定 ClashX 是因上游核心停更而归档。

ClashX.Meta 是早已存在的社区分支,其 GitHub 仓库创建于 2022 年 6 月 12 日,早于 2023 年 11 月的项目变动。它在 ClashX 的 macOS 菜单栏交互基础上适配 Clash.Meta,后来继续随 Mihomo 演进;这种延续来自既有分支,而非原项目归档后才临时创建的新项目。[2][6][1]

致敬开发者的坚守

代码或许归档,但火种永不熄灭。为推动网络对抗演进与底层工程突破的开拓者献上一份敬意。

单设备 1 小时内限致敬 1 次 · 匿名无感不收集隐私

编年大事记

yichengchen 启动 ClashX 开源项目

确立专为 macOS 定制的高性能纯原生菜单栏客户端设计路线,彻底舍弃笨重主窗口。[3][4]

引入 Privileged Helper 提权守护进程

基于 launchd 实现后台静默修改 macOS 系统网络接口代理,彻底终结繁琐的系统密码弹窗。

完善菜单栏策略组分流与节点延迟测速

支持点击展开多层级嵌套策略组,并在状态栏直接展示各出站节点健康状况与延迟测速。[4]

推出 ClashX Pro 进阶版与增强模式

率先利用 Apple NetworkExtension 框架实现系统级透明网络接管,攻克终端与容器代理死角。[5]

优化 Fake-IP 与睡眠唤醒重连机制

大幅改善 MacBook 合盖休眠再唤醒时的网络连接恢复速度,解决假死痛点,提升日用稳定性。

ClashX.Meta 社区分支仓库创建

GitHub 记录该仓库于此日创建,早于 2023 年 11 月的 ClashX 归档;这是仓库创建日期,不等同于首次发布日期。[1]

ClashX 客户端仓库被记录为只读归档

同期汇总记录 ClashX 客户端仓库被归档;归档与删除原版 Clash 核心仓库是两个不同事件,不据此推断所有后续维护永久终止。[2]

一手来源与考据

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

  1. [1]

    created_at 字段记录仓库创建时间,不等同于首次发布或分支全部开发历史的起点。

    https://api.github.com/repos/MetaCubeX/ClashX.Meta
  2. [2]

    按北京时间记录:CFW 发布仓库于 11 月 2 日被删除,Clash Core 于 11 月 3 日被删除;区分删库与归档,不推断各项目行动之间的因果关系。

    https://github.com/net4people/bbs/issues/303#issuecomment-1792177030
  3. [3]

    记录作者在 GitHub 上的开源项目与组织主页

    https://github.com/yichengchen
  4. [4]

    保存了 ClashX 归档前的源码结构、Release 说明及菜单栏设计规范

    https://web.archive.org/web/20231029000000/https://github.com/yichengchen/clashX
  5. [5]

    证实 ClashX Pro 针对 NetworkExtension 增强模式的技术演进

    https://web.archive.org/web/20230515000000/https://install.appcenter.ms/users/clashx/apps/clashx-pro/distribution_groups/public
  6. [6]

    在保留 ClashX 原生交互设计的同时升级 Mihomo 核心的开源继承项目

    https://github.com/MetaCubeX/ClashX.Meta

发现人物信息不准确?

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

提交信息纠错