入门 2026 年 5 月 10 日

Clash 是什么?一文读懂开源代理核心

如果你在搜索“Clash 是什么”,十有八九是想搞懂:这一套开源生态到底由哪些零件组成?规则、tun、订阅、内核、客户端分别在干什么?下文用一条从「流量进来了」到「被送到哪一站」的故事线,把概念摊开来讲。

Clash Mihomo 入门

从最朴素的问题说起:用户侧的「调度型代理内核」要解决什么?

现代操作系统里同时跑着浏览器、办公软件、音视频、开发者工具和游戏启动器等各种程序,它们发往公网的每一条连接都会在本地先询问一次「我该直连,还是绕道某个服务器出去」。传统做法是你手动去给每个应用填写代理——很快就会被例外情况和更新折磨到怀疑人生。

于是出现了一类在用户设备上常驻的调度中枢:它统一管理本地暴露的监听端口(或虚拟网卡),再根据一份人类可读的规则表,把所有连接分配给不同的出站,例如走某个兼容 Shadowsocks/VMess 等协议的远端节点,或者回到本地局域网,又或者干脆丢弃无效流量。这便是很多人口中的「开源代理内核」:它未必自带漂亮的窗口,却对实际体验影响最大。

Clash 与 Mihomo:名字背后的演进为何值得记住?

许多中文资料仍习惯统称「Clash」,更精确地说,今天你接触到的配置文件语法、开源社区讨论与跨平台教程,很大一部分已经过渡到以 Mihomo(Clash Meta) 为代表的分支——它在保持 YAML 结构与规则范式亲切感的同时,补上了更多现实世界的协议支持与工程细节打磨。

对你来说,这组名字差异不需要变成宗教战争,只要记住两件事:其一,外层 GUI 是否在持续维护,并不等于内核是否还活着;其二,当你在某个 GitHub Issue 上看到「原版核心停更」「请迁移订阅格式」的讨论时,其实是在提醒你要关注底座的维护者,而不只是换一个皮肤主题。

阅读提示:本文中的「规则」「策略组」「TUN」「订阅」属于通用概念映射;具体键名请以你所使用内核版本的官方文档为准,以免混用互不兼容的旧字段。

内核是如何「接入」流量的?先看三条常见路径

把内核想成一个站在本机上的小邮局:它需要知道「信件从门口塞进来」,然后才能分拣。最常见有三类入口:

这也是为什么同一台机器上你会觉得「开个浏览器能上,另一个程序却上不了」:它们未必走了同一个入口。TUN、PAC、手动代理彼此之间不是「谁更爱国」的问题,而是在不同约束下互为补充的工程方案。

模式旋钮:全局、直连、规则分别意味着什么?

GUI 常会给你三枚看似简单的按钮,背后其实是策略优先级的大开关。直连模式几乎把所有流量直接送出站网卡——适合临时验证链路或排查劫持。全局模式则一刀切地把可处理的流量塞进当前选定的策略组/节点——适合救火,却很难长期日常使用,因为本国业务站点也被迫绕远道。

规则模式才是 Clash/Mihomo 思想的灵魂:你为不同域名、后缀、关键字、IP 段乃至地理属地贴上标签,从上到下命中第一条即做决定,既可以把海外学术资源送往加密隧道,又能让流媒体账单走直连降低延迟。

记住规则链是有序的:把高精度、低成本的判断放在顶部,兜底的 MATCH 放在末尾,这既关乎性能也关乎安全心智——没有人会希望一条误写的宽泛规则悄无声息地劫持了整块流量。

规则引擎:把「分拣」说清楚,比背一百个快捷键有用

规则行的基本语感可以概括成:当看到某种特征的交通报文时,把它交给哪一个出站别名处理。下面是一张刻意压缩的认知表——真正书写时请再对照所用内核版本的权威列表,因为类型关键字会演进。

FEATURE, PARAMETERS, POLICY_ALIAS

以下为教学示例,并不等于全量枚举:

规则意图代表性关键字简述
精确点名DOMAIN整个主机名完全一致才命中。
域名家族DOMAIN-SUFFIX关注公共后缀匹配的稳定性,它比肉眼猜公司名称更耐用。
近似包含DOMAIN-KEYWORD简单粗暴,也意味着更容易误杀,要谨慎放置顺序。
四层地址段IP-CIDR适合收敛到 CDN 或区域性地址块,常与 DNS 结果联动考量。
地缘策略GEOIP将 IP 与国家/地区映射,典型场景是分流境内与境外账单。
兜底MATCH没有更精细命中的末站,通常留给「Proxy」「DIRECT」或策略组别名。

规则真正的威力来自与 DNS 结果的协同:当你在规则里写域名分流,而最终解析走的是意外路径,可能会出现「配置了规则却仍像没生效」的假阴性。这也是为什么进阶用户会深究 fake-ip、fallback、DoH/DoT 选择与缓存策略——它不是为了炫技,而是为了让规则真的按你脑海中的拓扑运行。

策略组:把节点翻译成人类能拧的旋钮

光有数十个远端节点并不等于好用体验。策略组负责把技术性很强的 endpoint 封装成可选套餐:有时是简单的手动挑选(select),有时是依据延迟与健康检查的自动轮转(url-test 一类语义),再配合规则里写的别名,就能把「看视频选哪条链路」「办公软件永远直连」翻译成配置而不是口头约定。

这层抽象也降低了 GUI 的工作量:界面下拉框里的每一个条目,大多数情况下只是映射 YAML 中已经声明的一组候选;当你导入机场订阅时被自动展开的「自动选择」「故障切换」等板块,本质是生成器替你写了策略组的样板代码。

配置文件在现代工作流里扮演何种角色?

YAML 并不等于「纯手工码字地狱」。现实路径往往是:你从服务商复制订阅链接,借助订阅转换或客户端内置向导拉取远端列表,再配合本地 overrides 增补规则。高级玩家会把配置拆为多文件并通过 proxy-providersrule-providers(具体键名仍以文档为准)做模块化,以降低合并冲突的痛苦。

下面是一份刻意极简、仅用于对齐语法的草稿,并不等于生产配置:

mixed-port: 7890
allow-lan: false
mode: rule

proxies:
  - name: "demo-node"
    type: ss
    server: 198.51.100.10
    port: 8388
    cipher: aes-256-gcm
    password: "replace-me"

proxy-groups:
  - name: "Proxy"
    type: select
    proxies:
      - demo-node

rules:
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

把这段缩进背下来没必要,更值得记住的是三件事:谁在监听端口策略组叫什么名字规则最后一行将如何兜底。

Windows、macOS、Android、GUI 五花八门,它们到底是不是「正版 Clash」?

行业里存在大量冠以 Clash/Verge/Meta/Nyan 前缀的桌面与移动外壳,负责任的回答方式是:看许可证、看源代码仓库活跃度、看它捆绑的内核分支与更新节奏。外壳负责托盘图标、快捷键、PAC 拼装、常驻更新检查和新手引导;而真正决定能不能连上、会不会闪断、是否支持 QUIC/gRPC/Hysteria 等新传输语义的,几乎总是内核层面的提交记录。

当你在论坛看到「卸载 A、改装 B 就好了」一类的结论,请追问一句:A 与 B 是否其实仍在使用同一陈旧内核。如果底层没变,玄学换壳往往只是把时间轴往后平移几天。

你可以在站点 下载聚合页 比对不同平台的维护状态,再配合 图文教程 跑一次完整链路,建立自己的「遇事先看日志层级」条件反射。

把它放进知识体系:与安全、局域网与合规使用的边界提示

Clash/Mihomo 首先是网络工程工具,不是魔法盾牌。明文密码躺在 yaml 里、热点共享未设访问控制、在公共网络暴露管理端口——这些失误与内核是否开源无关,却最常见地导致「我用了这么贵的节点怎么还是泄漏」的主观感受。做法是:配置文件权限最小化,谨慎开启局域网代理,远端管理走独立令牌与防火墙策略。

在中国大陆与其他司法辖区,用户对加密隧道的合法性认定并不一致。请确保你的用途符合当地法律法规与服务商 Acceptable Use Policy。本文只讲解通用技术语义,不提供规避监管的操作指南。

小结:把拼图拼回一张地图

现在你应当能复述这条流水线:监听入口(端口或 tun)接住连接 → DNS/SNI/目标地址信息进入规则分拣 → 命中的出站把流量交给某一策略组所选节点 → 节点再用具体协议与你的远端握手。外层 GUI 只是把这条链可视化,同时在崩溃时附上日志缓冲区。

进阶阅读可以按照「先稳定 DNS,再精修少数 DOMAIN / IP 规则,最后才 tinkering 性能旋钮」的顺序推进;遇到疑难,优先考虑抓一份脱敏配置文件与链路 trace,在社区提问时能极大缩短反馈闭环。

常见问题(速览)

Clash 本身是带界面的应用软件吗?大多数情况下你摸到的是外壳 + 内核合体;卸载外壳不等于内核配置文件随之消失。

Mihomo 和 Clash 是什么关系?可把 Mihomo/Meta 视作社区持续演进的事实标准分支集合之一,YAML 范式延续,能力与默认值却可能不同。

只开系统代理与启用 TUN 区别在哪?前者取决于应用自觉性,后者以更底层方式抬升覆盖面,也带来了驱动与兼容性话题。

规则写了却不生效的常见原因?多数是 DNS 回填路径、缓存、模式旋扭仍停留在全局/直连或策略组别名写错等非玄学因素。

与只能「选一个节点全盘加密」的一体化套件相比,Clash/Mihomo 把可读规则、模块化订阅、可视化策略组与可选 TUN放在同一语义体系里——当你既想降低日常办公链路延迟,又不想为偶尔的跨境检索频繁手动切换配置文件时,这种「先描述策略,再由机器托管」的路线往往更耐得住长期使用。如果你在若干工具之间犹豫,不妨试试把需求写成三条规则与一个策略组别名,再来看哪套客户端能最不痛苦地表达出来。

前往下载页挑选适合自己系统的版本 →

准备好开始了吗?

下载对应平台的 Clash/Mihomo 生态客户端,数分钟内即可完成初次导入与连通性自检。