开源内核 · YAML 配置逐项讲解

Clash配置教程Ubuntu 与全平台客户端

从客户端选择到 config.yaml 字段,按配置层次理解 mihomo 内核。

  • 中文文档
  • 规则分流
  • Ubuntu 部署

配置语法与开源内核生态

PLATFORM / CLIENT

按系统选择下载入口

先选操作系统,再核对处理器架构。桌面界面、移动端网络扩展与命令行内核的安装方式不同,配置思路可以相互参照。

Windows

桌面入门可先查看 Clash Plus,再按需求比较 Clash Verge Rev、FlClash 等客户端。导入配置后启用系统代理,让遵循系统代理设置的应用接入本机端口;需要接管更多应用时,再评估 TUN 模式与相应权限。

安装前在系统信息中确认处理器架构。若旧客户端仍在后台运行,应先退出并检查代理端口,避免两个内核同时监听。商店应用的访问异常也可能来自回环限制,不能仅凭浏览器能否打开页面判断全部应用的连接状态。

macOS

按 Apple Silicon 或 Intel 处理器选择安装包,可从 Clash Plus、Clash Verge Rev 与 FlClash 开始比较。菜单栏开关通常控制系统代理,内核是否已经读取当前配置,则需要在配置页面和日志中分别确认。

初次启动时按照系统提示授予必要权限,不要把网络扩展授权与普通应用启动混为一谈。切换到另一款客户端之前,先关闭原客户端的代理与后台服务。ClashX Meta 的归档入口适合兼容性参考,长期使用应优先考虑仍在维护的方案。

Android

可选择 Clash Plus、Clash Meta for Android、FlClash 或 Surfboard,并核对各自支持的配置格式。多数移动端客户端通过系统 VPN 接口接管流量;首次连接需要确认系统授权,同一时间通常只能由一个 VPN 服务承担接管工作。

后台连接中断时,先检查电池优化和应用后台运行限制,再检查订阅与 DNS。按应用分流还可能受到客户端设置影响:即使 YAML 中存在规则,被排除在接管范围之外的应用也不会进入该规则链,排查时应同时查看这两个层次。

iOS

下载页提供 Clash Plus 的 App Store 入口,并列出官网 clashplus.io。安装后导入应用支持的配置,按照系统提示添加 VPN 配置。桌面端的端口、服务管理与权限操作不能直接照搬到手机端,应以应用实际提供的设置为准。

导入成功只说明应用接受了配置,并不等于全部协议字段都具有相同实现。遇到个别连接失败时,先确认节点类型与客户端兼容性,再核对策略组选择。系统网络切换、按需连接和后台行为也会影响体验,应分开记录,避免同时修改多个设置。

Linux / Ubuntu

Ubuntu 桌面用户可先查看 Clash Verge Rev 与 FlClash,按发行版和包格式安装;服务器或路由器用户可单独部署 mihomo。图形客户端负责托盘、配置管理与系统集成,独立内核则需要自行指定工作目录、配置路径和服务启动方式。

GNOME 的系统代理主要影响遵循该设置的桌面应用,终端程序可能仍需单独设置代理环境变量。使用 systemd 时,应检查服务账户能否读取配置,日志是否显示端口绑定失败,以及 TUN 所需权限是否满足,而不是直接把所有程序都改为管理员运行。

CONFIG / FIELD NOTES

config.yaml 配置段浏览器

按“接收请求、解析域名、选择出口、匹配规则”的顺序阅读。以下片段只展示字段关系,不是包含可用节点的完整配置。

YAML 用缩进表达层级,字段拼写与所在位置同样重要。修改前先备份当前文件,每次只调整一类设置,再通过客户端的配置检查或内核测试确认语法。界面上的配置名称、磁盘中的订阅文件与运行时合并后的配置不一定相同,排查时要以实际加载的内容为准。

左侧 general 是教程对基础字段的分段名称,并不是需要写入文件的顶层键。其他标签对应实际配置段。先理解每段负责什么,再添加所需字段,比直接拼接多份示例更容易发现冲突;各客户端的默认值和覆写逻辑仍需结合自身说明确认。

general

端口、模式与日志

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

基础字段决定内核怎样接收请求。mixed-port 是 HTTP 与 SOCKS5 共用端口,修改它后,手动填写代理地址的应用也要同步调整。allow-lan 控制是否接受局域网连接,个人电脑通常先保持关闭。mode 设为 rule 才会使用规则分流;日志级别先用 info,出现问题再按需增加细节。这里的字段直接写在 YAML 根层级,不要在外层添加 general,否则不能按预期配置内核。

在教程中查看 →

OPEN SOURCE / CONTEXT

Clash 生态与mihomo 内核

理解软件之间的关系,比记住客户端名称更重要。开源仓库可用于查阅代码、发布说明与问题讨论,具体能力仍应按实际内核确认。

原版、Meta 与 mihomo 的关系

Clash 最初形成了以 YAML 为核心的配置方式:入口接收应用请求,节点描述可用出口,策略组组织节点,规则决定连接去向。Clash Meta 在这一基础上扩展协议与网络能力,后续项目以 mihomo 名称持续演进。因此,教程中的 Clash Meta 与 mihomo 常存在历史关联,但不能据此认为所有带 Clash 名称的软件都包含相同功能。遇到陌生字段时,先查看正在运行的内核名称,再查对应文档,比反复重新导入订阅更有效。

原版 Clash 的常见公开实现已经停止维护,旧教程中的默认值、协议清单和安装方式可能不再适用于当前客户端。迁移时,优先记录正在使用的协议、DNS 模式、规则集和本地覆写,再逐项确认新环境是否支持。能够读取基础 YAML 结构只是兼容性的第一步,节点传输参数、规则提供器行为以及操作系统集成仍可能不同。对历史配置保留备份,能让迁移与排错有明确的对照对象。

图形界面与网络处理的分工

桌面客户端通常负责订阅导入、配置切换、托盘菜单、自动启动以及系统代理开关;内核负责解析配置并处理实际连接。界面显示已启动,不一定代表目标应用已经进入代理路径;内核正常运行,也不意味着系统代理和 DNS 已经正确接入。Ubuntu 用户尤其需要区分 GNOME 桌面代理、终端环境变量与 TUN 路由。三者的作用范围不同,按目标应用选择入口,能减少重复接管和路由冲突。

纯命令行部署适合需要独立运行、服务管理或远程维护的场景,但会把原来由界面承担的工作交给使用者。配置文件放置在哪里、服务以哪个账户启动、日志怎样查看、故障时如何停止,都应提前确定。systemd 的工作目录会影响相对路径,访问权限也会影响规则文件读取。先以前台方式确认内核能够加载配置,再建立后台服务,可以把配置错误与服务管理错误分开定位。

更新、订阅与个人规则

客户端更新、内核更新和订阅更新是三种不同操作。客户端更新可能改变界面与系统集成,内核更新可能引入字段行为变化,订阅更新则通常刷新节点与规则内容。修改之前应明确操作对象,并记录原来的设置。对于支持合并配置的客户端,把个人规则放在专门的覆写层通常比直接编辑下载后的订阅文件更便于维护,但最终仍要确认合并顺序,避免个人 DNS 设置被其他来源覆盖。

开源协议说明代码的使用与分发条件,并不代表不同客户端具有完全一致的许可或发布方式。本站是配置说明与下载入口整理页面,不替代各项目的发布说明。查阅问题讨论时,应优先对照操作系统、内核类型与可复现步骤,而不是只看问题标题是否相似。分享日志和配置前,删除订阅地址、认证口令以及个人网络信息;保留字段结构与错误上下文,通常已经足以进行技术讨论。

按层定位连接问题

建议从最接近应用的一层开始:先确认应用是否使用了系统代理、手动代理或 TUN,再确认本机端口和内核是否正常,随后检查规则命中、策略组当前选择与节点连通性,最后检查 DNS 和目标服务。浏览器能够访问某个页面,只能证明这一条访问路径成立,不能代替其他程序或其他协议的验证。每次只改一个变量,并保留修改前后的日志,能够让现象与设置之间建立清楚的因果关系。

DNS 相关问题尤其需要区分“解析失败”和“解析成功但连接失败”。前者可以从请求入口、上游可达性和解析模式入手,后者则需要继续观察规则、出口与目标地址。HTTPS 证书警告也不能简单归因于代理:系统时间、证书链、抓包工具和目标服务都可能参与其中。不要为了让页面打开而直接关闭证书验证,应保留错误提示并按层排查。具体协议差异与内核选择可继续查阅协议参考,按步骤操作则从入门指南开始。

NOTES / TROUBLESHOOTING

近期配置文章

围绕实际错误现象查找原因:先确定问题发生在哪一层,再决定是否需要修改配置。

故障排查

开启代理后网页提示证书错误:HTTPS 证书报错原因与排查

梳理系统时间偏差、中间人抓包工具、节点劫持与 DNS 污染等导致证书警告的原因,说明哪些与 Clash 有关、哪些与代理无关及对应处理方法。

排查重点是保留证书错误类型,区分目标站点本身的问题与连接路径中的干预,不用关闭安全验证来掩盖异常。

故障排查

Clash 启动报端口被占用:定位占用进程与修改 mixed-port

在 Windows、macOS 与 Linux 上用 netstat、lsof、ss 找出占用 7890 等端口的进程,并说明修改端口后系统代理与浏览器设置的同步调整。

先确认占用者是不是旧客户端或后台服务,再决定停止进程还是更换端口;只改 YAML 而保留应用的旧代理地址,连接仍会失败。

平台部署

Ubuntu 部署 mihomo 内核:桌面客户端与纯命令行 systemd 方案

分别介绍 Ubuntu 桌面图形客户端安装与服务器纯命令行部署,涵盖二进制放置、config.yaml 路径、systemd 服务文件与 TUN 所需权限设置。

根据是否需要桌面界面选择路径,并把前台配置测试、服务启动与自动运行分开验证,避免工作目录和权限问题混在一起。