Windows
桌面入门可先查看 Clash Plus,再按需求比较 Clash Verge Rev、FlClash 等客户端。导入配置后启用系统代理,让遵循系统代理设置的应用接入本机端口;需要接管更多应用时,再评估 TUN 模式与相应权限。
安装前在系统信息中确认处理器架构。若旧客户端仍在后台运行,应先退出并检查代理端口,避免两个内核同时监听。商店应用的访问异常也可能来自回环限制,不能仅凭浏览器能否打开页面判断全部应用的连接状态。
配置语法与开源内核生态
PLATFORM / CLIENT
先选操作系统,再核对处理器架构。桌面界面、移动端网络扩展与命令行内核的安装方式不同,配置思路可以相互参照。
桌面入门可先查看 Clash Plus,再按需求比较 Clash Verge Rev、FlClash 等客户端。导入配置后启用系统代理,让遵循系统代理设置的应用接入本机端口;需要接管更多应用时,再评估 TUN 模式与相应权限。
安装前在系统信息中确认处理器架构。若旧客户端仍在后台运行,应先退出并检查代理端口,避免两个内核同时监听。商店应用的访问异常也可能来自回环限制,不能仅凭浏览器能否打开页面判断全部应用的连接状态。
按 Apple Silicon 或 Intel 处理器选择安装包,可从 Clash Plus、Clash Verge Rev 与 FlClash 开始比较。菜单栏开关通常控制系统代理,内核是否已经读取当前配置,则需要在配置页面和日志中分别确认。
初次启动时按照系统提示授予必要权限,不要把网络扩展授权与普通应用启动混为一谈。切换到另一款客户端之前,先关闭原客户端的代理与后台服务。ClashX Meta 的归档入口适合兼容性参考,长期使用应优先考虑仍在维护的方案。
可选择 Clash Plus、Clash Meta for Android、FlClash 或 Surfboard,并核对各自支持的配置格式。多数移动端客户端通过系统 VPN 接口接管流量;首次连接需要确认系统授权,同一时间通常只能由一个 VPN 服务承担接管工作。
后台连接中断时,先检查电池优化和应用后台运行限制,再检查订阅与 DNS。按应用分流还可能受到客户端设置影响:即使 YAML 中存在规则,被排除在接管范围之外的应用也不会进入该规则链,排查时应同时查看这两个层次。
下载页提供 Clash Plus 的 App Store 入口,并列出官网 clashplus.io。安装后导入应用支持的配置,按照系统提示添加 VPN 配置。桌面端的端口、服务管理与权限操作不能直接照搬到手机端,应以应用实际提供的设置为准。
导入成功只说明应用接受了配置,并不等于全部协议字段都具有相同实现。遇到个别连接失败时,先确认节点类型与客户端兼容性,再核对策略组选择。系统网络切换、按需连接和后台行为也会影响体验,应分开记录,避免同时修改多个设置。
Ubuntu 桌面用户可先查看 Clash Verge Rev 与 FlClash,按发行版和包格式安装;服务器或路由器用户可单独部署 mihomo。图形客户端负责托盘、配置管理与系统集成,独立内核则需要自行指定工作目录、配置路径和服务启动方式。
GNOME 的系统代理主要影响遵循该设置的桌面应用,终端程序可能仍需单独设置代理环境变量。使用 systemd 时,应检查服务账户能否读取配置,日志是否显示端口绑定失败,以及 TUN 所需权限是否满足,而不是直接把所有程序都改为管理员运行。
CONFIG / FIELD NOTES
按“接收请求、解析域名、选择出口、匹配规则”的顺序阅读。以下片段只展示字段关系,不是包含可用节点的完整配置。
YAML 用缩进表达层级,字段拼写与所在位置同样重要。修改前先备份当前文件,每次只调整一类设置,再通过客户端的配置检查或内核测试确认语法。界面上的配置名称、磁盘中的订阅文件与运行时合并后的配置不一定相同,排查时要以实际加载的内容为准。
左侧 general 是教程对基础字段的分段名称,并不是需要写入文件的顶层键。其他标签对应实际配置段。先理解每段负责什么,再添加所需字段,比直接拼接多份示例更容易发现冲突;各客户端的默认值和覆写逻辑仍需结合自身说明确认。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
基础字段决定内核怎样接收请求。mixed-port 是 HTTP 与 SOCKS5 共用端口,修改它后,手动填写代理地址的应用也要同步调整。allow-lan 控制是否接受局域网连接,个人电脑通常先保持关闭。mode 设为 rule 才会使用规则分流;日志级别先用 info,出现问题再按需增加细节。这里的字段直接写在 YAML 根层级,不要在外层添加 general,否则不能按预期配置内核。
在教程中查看 →dns:
enable: true
listen: 127.0.0.1:1053
enhanced-mode: fake-ip
nameserver:
- https://dns.alidns.com/dns-query
dns 段控制内核使用哪种方式解析域名。fake-ip 为域名分配虚拟地址,便于后续恢复域名并匹配规则,但与个别应用的兼容性需要实际观察。nameserver 指定上游解析服务,listen 只代表监听地址,并不会自动让系统把 DNS 请求发往这里。系统解析、浏览器加密 DNS 与 TUN 劫持是不同入口,排查泄漏或解析失败时,要先确认请求实际经过哪条路径,再调整上游与过滤设置。
在教程中查看 →proxies:
- name: 示例节点
type: ss
server: proxy.example.com
port: 443
cipher: aes-128-gcm
password: "your-password"
proxies 是显式定义代理节点的列表。每个节点需要唯一名称,并填写协议要求的地址、端口和认证参数;示例域名与口令仅用于说明结构,不能作为实际连接信息。名称会被策略组引用,重命名时需要一起修改。使用订阅或 proxy-providers 时,节点也可能由外部配置提供,不必重复手写。某个节点导入失败,应先核对协议类型与内核支持范围,不能只修改名称就认为兼容性问题已经解决。
在教程中查看 →proxy-groups:
- name: 手动选择
type: select
proxies:
- DIRECT
- 示例节点
策略组把规则引用的出口名称与具体节点分离。select 提供手动选择,组内成员可以是已经定义的节点、其他合适的策略组或 DIRECT 等内置出口。示例依赖 proxies 中同名的节点,并不是独立可用的完整文件。自动测试或故障切换组还需要相应参数,不能只改 type 就假定行为相同。若界面切换节点后流量没有变化,应检查规则是否真的指向这个组,以及连接是否仍在复用原有会话。
在教程中查看 →rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,手动选择
rules 从上到下匹配,首个命中的规则决定出口。精确范围通常放在宽泛规则之前,MATCH 则作为末尾兜底;把它提前会使后续规则失去作用。DOMAIN-SUFFIX 按域名后缀匹配,IP-CIDR 按地址范围匹配,no-resolve 可避免该条 IP 规则主动触发域名解析。规则中的策略名称必须已经存在。验证自定义规则时,应查看新建连接的命中记录,旧连接可能继续沿用建立时的路径,不能只看页面是否刷新成功。
在教程中查看 →tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
TUN 通过虚拟网卡和路由把更多应用连接送入内核,适合不遵循系统代理设置的程序。auto-route 与自动接口检测有助于建立接管路径,但仍受系统权限、其他 VPN 和既有路由影响。dns-hijack 处理匹配的 DNS 流量,不代表能够覆盖应用内全部加密解析。示例面向支持这些字段的 mihomo 环境,移动端应遵循应用实现。启动失败时先检查权限与日志;远程服务器启用自动路由前,还应准备独立的恢复通道。
在教程中查看 →OPEN SOURCE / CONTEXT
理解软件之间的关系,比记住客户端名称更重要。开源仓库可用于查阅代码、发布说明与问题讨论,具体能力仍应按实际内核确认。
Clash 最初形成了以 YAML 为核心的配置方式:入口接收应用请求,节点描述可用出口,策略组组织节点,规则决定连接去向。Clash Meta 在这一基础上扩展协议与网络能力,后续项目以 mihomo 名称持续演进。因此,教程中的 Clash Meta 与 mihomo 常存在历史关联,但不能据此认为所有带 Clash 名称的软件都包含相同功能。遇到陌生字段时,先查看正在运行的内核名称,再查对应文档,比反复重新导入订阅更有效。
原版 Clash 的常见公开实现已经停止维护,旧教程中的默认值、协议清单和安装方式可能不再适用于当前客户端。迁移时,优先记录正在使用的协议、DNS 模式、规则集和本地覆写,再逐项确认新环境是否支持。能够读取基础 YAML 结构只是兼容性的第一步,节点传输参数、规则提供器行为以及操作系统集成仍可能不同。对历史配置保留备份,能让迁移与排错有明确的对照对象。
桌面客户端通常负责订阅导入、配置切换、托盘菜单、自动启动以及系统代理开关;内核负责解析配置并处理实际连接。界面显示已启动,不一定代表目标应用已经进入代理路径;内核正常运行,也不意味着系统代理和 DNS 已经正确接入。Ubuntu 用户尤其需要区分 GNOME 桌面代理、终端环境变量与 TUN 路由。三者的作用范围不同,按目标应用选择入口,能减少重复接管和路由冲突。
纯命令行部署适合需要独立运行、服务管理或远程维护的场景,但会把原来由界面承担的工作交给使用者。配置文件放置在哪里、服务以哪个账户启动、日志怎样查看、故障时如何停止,都应提前确定。systemd 的工作目录会影响相对路径,访问权限也会影响规则文件读取。先以前台方式确认内核能够加载配置,再建立后台服务,可以把配置错误与服务管理错误分开定位。
客户端更新、内核更新和订阅更新是三种不同操作。客户端更新可能改变界面与系统集成,内核更新可能引入字段行为变化,订阅更新则通常刷新节点与规则内容。修改之前应明确操作对象,并记录原来的设置。对于支持合并配置的客户端,把个人规则放在专门的覆写层通常比直接编辑下载后的订阅文件更便于维护,但最终仍要确认合并顺序,避免个人 DNS 设置被其他来源覆盖。
开源协议说明代码的使用与分发条件,并不代表不同客户端具有完全一致的许可或发布方式。本站是配置说明与下载入口整理页面,不替代各项目的发布说明。查阅问题讨论时,应优先对照操作系统、内核类型与可复现步骤,而不是只看问题标题是否相似。分享日志和配置前,删除订阅地址、认证口令以及个人网络信息;保留字段结构与错误上下文,通常已经足以进行技术讨论。
建议从最接近应用的一层开始:先确认应用是否使用了系统代理、手动代理或 TUN,再确认本机端口和内核是否正常,随后检查规则命中、策略组当前选择与节点连通性,最后检查 DNS 和目标服务。浏览器能够访问某个页面,只能证明这一条访问路径成立,不能代替其他程序或其他协议的验证。每次只改一个变量,并保留修改前后的日志,能够让现象与设置之间建立清楚的因果关系。
DNS 相关问题尤其需要区分“解析失败”和“解析成功但连接失败”。前者可以从请求入口、上游可达性和解析模式入手,后者则需要继续观察规则、出口与目标地址。HTTPS 证书警告也不能简单归因于代理:系统时间、证书链、抓包工具和目标服务都可能参与其中。不要为了让页面打开而直接关闭证书验证,应保留错误提示并按层排查。具体协议差异与内核选择可继续查阅协议参考,按步骤操作则从入门指南开始。
NOTES / TROUBLESHOOTING
围绕实际错误现象查找原因:先确定问题发生在哪一层,再决定是否需要修改配置。
梳理系统时间偏差、中间人抓包工具、节点劫持与 DNS 污染等导致证书警告的原因,说明哪些与 Clash 有关、哪些与代理无关及对应处理方法。
排查重点是保留证书错误类型,区分目标站点本身的问题与连接路径中的干预,不用关闭安全验证来掩盖异常。
在 Windows、macOS 与 Linux 上用 netstat、lsof、ss 找出占用 7890 等端口的进程,并说明修改端口后系统代理与浏览器设置的同步调整。
先确认占用者是不是旧客户端或后台服务,再决定停止进程还是更换端口;只改 YAML 而保留应用的旧代理地址,连接仍会失败。
分别介绍 Ubuntu 桌面图形客户端安装与服务器纯命令行部署,涵盖二进制放置、config.yaml 路径、systemd 服务文件与 TUN 所需权限设置。
根据是否需要桌面界面选择路径,并把前台配置测试、服务启动与自动运行分开验证,避免工作目录和权限问题混在一起。