HANDBOOK / LINE 06

从零到精通
Clash 完整手册

一条线路,九座站点。从「Clash 是什么」出发,途经客户端选择、安装、订阅导入、代理模式、规则分流与 TUN,终到日常维护与进阶路线。每章一个阶段,按序推进;已有基础,直接按目录跳到需要的站。

分工说明:本页是系统查阅手册,写原理、写参数、写平台差异;使用指南快速上手主线,只保留跟着做就能连通的最短路径。第一次用,先走使用指南;想弄懂每一步背后发生了什么,回到本页。

DOC / 09 CHAPTERS · 建议按序阅读 · 目录可直达任意章节

CH-01

核心概念:先认清四个名词的分工

上手 Clash 卡住的人,九成不是卡在操作,而是卡在名词。内核、客户端、订阅、规则,四个词各管一段,先把分工理清,后面每一章都省力。

内核与客户端:一台引擎,多张面孔

真正处理流量的是内核——当前主流实现是 mihomo(社区常称 Clash Meta 内核)。内核是一个命令行程序,读入一份 YAML 配置文件,监听本机端口,按规则把每一条连接送往代理或直连。它没有界面,不负责好看,只负责转发。

你在桌面或手机上点开的 Clash Plus、Clash Verge Rev、FlClash 这些程序,都是客户端:它们内置或调用内核,把「改配置文件」翻译成开关和按钮,把「看日志」翻译成图表和列表。换客户端不换内核,配置文件在不同客户端之间基本通用——这也是为什么本手册的原理部分对所有客户端都成立。

节点、订阅、配置文件:三层容器

节点是一台代理服务器的连接参数:地址、端口、协议、密码。订阅是一个 URL,访问它会返回一批节点(通常已打包成完整配置),由服务商维护,节点变更时你只需刷新订阅。配置文件(Profile)是内核实际读取的那份 YAML,除了节点,还包含端口设置、DNS、代理组和规则——订阅拉回来的内容,最终都落成一份 Profile。三层关系:节点装进订阅,订阅生成配置文件,配置文件喂给内核。

代理组与规则:流量的调度台

代理组把若干节点编成一个可选队列,比如「手动选择」组让你自己挑,「自动测速」组按延迟自动切换。规则是一张自上而下匹配的清单,决定某条连接进哪个代理组、还是直连:国内网站直连,特定域名走代理,其余按兜底规则处理。规则命中谁,流量就交给谁——这套机制在 CH-06 展开。

名词不止这些。DNS 污染、Fake-IP、GeoIP 这类术语,遇到再查即可,不必先背。站内备有按分类组织的术语表,阅读本手册途中随时换乘。理清这四个名词的分工,能帮你在遇到问题时迅速判断责任归属:节点连不上,大概率是订阅或服务商那一层的问题;分流走错了通道,则要回到规则与代理组去查;界面卡顿或功能缺失,那是客户端的事,和内核无关。把「哪一层出问题」判断准了,就不会拿着规则的毛病去反复重装客户端,也不会因为一个节点失效就怀疑整套配置。后面每一章都会围绕这四层展开,读的时候不妨随时对照,想一想当前讲的内容属于哪一层。

换乘 · 术语表逐条速查 →
CH-02

选客户端:按平台对号入座

选客户端只回答两个问题:你用什么系统,你要多深的自定义能力。全平台通用的首选是 Clash Plus——Windows、macOS、Android、iOS 都有版本,界面统一,导入订阅、切换模式、开启 TUN 都做成了一键操作,新手到进阶都够用。以下按平台列出本站下载页收录的组合。

平台首选备选一句话说明
WindowsClash PlusClash Verge Rev / FlClash / Clash Nyanpasu首选省心;Verge Rev 自定义项最全
macOSClash PlusClash Verge Rev / FlClashIntel 与 Apple Silicon 注意选对架构
AndroidClash PlusClash Meta for Android / FlClash / SurfboardCMFA 轻量,FlClash 界面现代
iOSClash Plus(App Store)从 App Store 安装,导入订阅即用
LinuxClash Verge RevFlClash提供 deb 包,桌面发行版直接装
服务器 / 路由器mihomo 内核无界面,命令行运行,见 CH-09

选择时看什么

三个维度足够:维护状态——优先选仍在活跃更新的客户端,Clash for Windows 与 ClashX Meta 已停止维护,下载页保留归档入口,不建议新用户从它们开始;内核版本——确认客户端使用 mihomo 内核,才能完整支持新协议与新规则类型;功能覆盖——要 TUN 模式,确认该平台版本提供;要精细的规则编辑,Verge Rev 一类工具向客户端更合适。

逐项参数对照、界面风格差异、迁移建议,站内横向评测一页写全。选定后,去获取客户端页按平台下载。

换乘 · 客户端横向评测 →
CH-03

安装:五个平台的落地要点

安装本身不难,难在各平台的安全机制会在不同位置拦一道。本章按平台列出安装路径与放行方法,装完先启动一次、确认主界面能打开,再进下一章导入订阅。

Windows

下载页 Windows 区获取安装包,双击运行。安装路径避开中文与空格目录,减少后续内核读取配置时的路径问题。首次运行若弹出 SmartScreen 提示,点「更多信息 → 仍要运行」;防火墙询问网络权限时,专用网络与公用网络都勾选,否则局域网相关功能不可用。

Notice / 注意

部分杀毒软件会把代理内核误报为风险程序并静默隔离,表现为「安装成功但启动闪退」。把安装目录加入白名单后重装即可。完整排坑记录见Windows 安装全流程一文。

macOS

下载 dmg 后把应用拖入「应用程序」文件夹。注意架构:Apple Silicon(M 系列芯片)选 ARM 版,Intel 机型选 x64 版,装错架构会明显变慢或无法启动。首次打开若提示开发者无法验证,前往「系统设置 → 隐私与安全性」,在页面底部点「仍要打开」。客户端首次接管系统代理或安装辅助服务时会请求管理员密码,输入一次即可。

Android

下载 APK 安装时,系统会要求允许「安装未知应用」,在弹出的设置页对浏览器或文件管理器授权一次。首次点击连接,系统弹出 VPN 连接请求——这是 Android 接管流量的标准方式,必须允许,否则代理不会生效。国产系统注意两件事:把客户端加入电池优化白名单,并允许后台运行,避免锁屏后代理被系统回收。

iOS

iOS 版 Clash Plus 通过 App Store 分发,从下载页 iOS 区进入商店页安装。首次启动按提示添加 VPN 配置描述文件,系统会要求验证一次密码或面容。安装完成后的订阅导入步骤与其他平台一致,见下一章。

Linux

桌面发行版推荐 Clash Verge Rev 的 deb 包:sudo apt install ./包文件名.deb 一步完成,依赖自动解析。Arch 系可从 AUR 获取社区维护版本。无桌面环境的服务器与路由器场景不装 GUI,直接运行 mihomo 内核,方法见 CH-09

CH-04

订阅与配置文件:把节点装进客户端

客户端装好只是空车,订阅才是乘客。本章讲导入操作、Profile 内部结构,以及多份配置共存时怎么管。

导入订阅的标准动作

从服务商处复制订阅 URL。打开客户端的「配置 / Profiles」页,选择「从 URL 导入」,粘贴链接,确认。客户端会下载订阅内容、解析为一份 Profile 并自动启用。导入成功的标志:代理页出现节点列表,且节点名不是空的。导入失败时先检查链接是否完整(不少输入框会吞掉行尾字符),再对照订阅更新失败排查一文逐类核对。

Profile 三段结构

订阅拉回来的 YAML 通常包含三大段:proxies 定义节点,proxy-groups 定义代理组,rules 定义分流规则。骨架如下(参数均为示例值):

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

proxies:
  - name: "HK-01"
    type: ss
    server: server.example.com
    port: 8388
    cipher: aes-256-gcm
    password: "your-password"

proxy-groups:
  - name: "PROXY"
    type: select
    proxies:
      - HK-01

rules:
  - DOMAIN-SUFFIX,github.com,PROXY
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

逐行读:mixed-port 是本机监听端口,HTTP 与 SOCKS 请求都从这里进;mode 是启动时的代理模式;proxy-groups 里这个名为 PROXY 的 select 组,就是你在界面上手动选节点的那个下拉列表;rules 自上而下匹配,最后一条 MATCH 兜底。看懂这份骨架,就看懂了任何订阅生成的配置。

多配置共存与自动更新

多个订阅可以同时导入,但同一时刻只有一份 Profile 生效,切换即整份替换——节点、规则一起换,不存在两份配置的规则叠加。管理建议:给每份配置起可辨识的名字(服务商 + 用途),淘汰的及时删除,避免误切到过期配置。命名习惯与规则覆盖问题,见多配置切换管理一文。

自动更新在配置的编辑页设置,常见字段叫「更新间隔 / Update Interval」。建议 12~24 小时:太短浪费请求,太长会错过服务商的节点轮换。手动更新入口通常在配置卡片的刷新按钮上,更新前后留意时间戳变化,确认真的拉到了新内容。

CH-05

代理模式:规则、全局、直连怎么选

模式决定「规则清单要不要参与决策」。三种模式,三种行为:

模式行为适用场景
规则(Rule)逐条匹配 rules,命中谁走谁日常默认,国内直连国外代理互不干扰
全局(Global)跳过规则,全部流量走选中节点临时排查、或确认所有流量必须出代理时
直连(Direct)跳过规则,全部流量不走代理临时关闭代理但不想退出客户端

日常保持规则模式。挂全局模式访问国内网站会明显变慢,还平白消耗流量——发现「什么都走代理」时,第一件事看模式是不是被切到了 Global。

系统代理:模式生效的前提

选好模式,还要让应用把流量交进来。开启客户端的「系统代理」开关后,客户端向操作系统注册 127.0.0.1:7890(端口以你的配置为准)作为代理服务器,浏览器等遵守系统代理设置的应用会自动把请求送到这个端口。注意它的边界:只有遵守系统代理的应用才会被接管,不少命令行工具与游戏客户端会无视这项设置——这正是 CH-07 TUN 模式要解决的问题。

验证代理是否生效

不要凭感觉,用命令验证。终端执行:

TERMINAL / 06
curl -x http://127.0.0.1:7890 -I https://www.google.com

返回 HTTP/2 200 一类状态行,说明「本机端口 → 节点 → 目标网站」整条链路通;卡住或报错,则问题在节点或配置,而不是浏览器。连接成功却打不开网页的完整排查顺序,见九项检查清单

换乘 · 使用指南三步连通 →
CH-06

规则分流:让每条流量各行其道

规则分流是 Clash 相对「一键全局代理」工具的核心差异:同一时刻,国内流量直连、国外流量走代理、广告域名直接拒绝,互不干扰。理解它只需要两件事——规则长什么样,按什么顺序匹配。

常用规则类型

类型匹配对象示例
DOMAIN完整域名精确匹配DOMAIN,dl.example.com,DIRECT
DOMAIN-SUFFIX域名后缀,含所有子域DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-KEYWORD域名包含关键词DOMAIN-KEYWORD,google,PROXY
IP-CIDR目标 IP 网段IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIPIP 归属地(查 GeoIP 库)GEOIP,CN,DIRECT
MATCH无条件命中,兜底MATCH,PROXY

匹配顺序:自上而下,首中即停

规则清单从第一条开始逐条比对,命中即执行、不再看后面。因此顺序就是优先级:精确规则放前,范围规则放后,MATCH 永远垫底。一段典型的规则区:

RULES / YAML
rules:
  - DOMAIN,dl.example.com,DIRECT
  - DOMAIN-SUFFIX,github.com,PROXY
  - DOMAIN-KEYWORD,google,PROXY
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

读法:先放行一个必须直连的下载域名;再让 GitHub 全域与含 google 关键词的域名走代理;局域网网段直连且不做 DNS 解析(no-resolve 防止内网地址被送去解析);IP 归属中国大陆的直连;剩下的全部走代理。某网站走错了通道,从上往下找第一条命中它的规则,答案就在那一行。

自定义规则的正确姿势

订阅每次更新会整份覆盖 Profile,直接改订阅文件里的规则,下次更新就被冲掉。正确做法是用客户端提供的持久化机制:Clash Verge Rev 的「全局扩展配置 / Merge」、各客户端的覆写(Override)功能,都能把你的自定义规则在每次订阅更新后自动合并到最前面。原则不变:自定义规则插在订阅规则之前,才能优先命中。

GeoIP 数据库

GEOIP,CN,DIRECT 能工作,靠的是本地一份 IP 归属地数据库。数据库过旧会把新分配的国内 IP 误判成国外,出现「国内网站莫名走代理」。客户端设置里一般有「更新 GeoIP / Geo 数据」按钮,一两个月点一次即可;更新后重启内核生效。

CH-07

TUN 模式:接管系统代理管不到的流量

CH-05 说过系统代理的边界:它是「君子协定」,只约束愿意遵守的应用。命令行工具、部分桌面软件、游戏客户端常常绕开它直接联网。TUN 模式换一条思路,从网络层解决问题。

原理:一块虚拟网卡

开启 TUN 后,内核在系统里创建一块虚拟网卡,并把默认路由指向它——此后所有出站流量,不管应用配不配合,都先经过这块网卡进入内核,再按同一套规则分流。系统代理是「请应用来找我」,TUN 是「所有车必须过这个站」。代价是需要更高权限(Windows 上通常要安装服务模式,macOS 上要授权系统扩展),以及一套配合的 DNS 设置。

DNS 与 Fake-IP

TUN 场景下必须启用内核 DNS,否则域名解析不经过内核,规则里的域名类型会失效。推荐 Fake-IP 模式:内核先返回一个保留段假 IP,让连接立即建立,真实解析推迟到转发时进行,省一次等待。配置示例:

TUN + DNS / YAML
tun:
  enable: true
  stack: system
  auto-route: true
  auto-detect-interface: true

dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - https://223.5.5.5/dns-query

开启步骤与验证

主流客户端已把上面这段做成开关,不必手写。Windows:先在设置里安装「服务模式」(需要管理员权限),状态变为运行中后,再打开 TUN 开关;macOS:打开 TUN 开关,按系统提示授权网络扩展,输入一次密码。验证方法:关闭系统代理开关,只留 TUN,在终端跑一个不走系统代理的命令(如 nslookup github.com),解析结果落在 198.18 开头的假 IP 段,说明 DNS 劫持生效、TUN 在位。

Notice / 注意

TUN 与其他创建虚拟网卡的软件(办公 VPN、虚拟机网络组件)会争抢路由。开启前先退出这类软件;出现断网,关闭 TUN、重启客户端即可恢复。逐步截图与更多故障处理见TUN 模式开启教程

换乘 · TUN 完整教程 →
CH-08

日常维护:让代理长期稳定的例行动作

配置好只是开始。代理是长期运行的基础设施,按周期做几个小动作,能避开绝大多数「昨天还好好的」式故障。

动作建议周期不做的后果
更新订阅自动 12~24 小时节点失效,连接超时
节点延迟测试变慢时随手测一直挂在高延迟节点上
更新 GeoIP 数据1~2 个月国内 IP 误判走代理
升级客户端留意更新提示错过内核修复与新协议支持
清理无用配置顺手误切到过期 Profile

节点测速与自动切换

代理页的延迟测试按钮会对全部节点发一次探测请求,数值是「本机 → 节点 → 测试地址」的往返毫秒数。经验值:200ms 以内日常流畅,超过 500ms 或显示超时就换。不想手动挑,把常用应用指向 url-test 类型的自动测速组,内核会周期性择优。注意延迟只反映响应速度,不代表带宽,看视频卡不卡还要看节点本身的质量。另外,测速请求本身也会受测试地址影响:如果所有节点都显示超时,先别急着换节点,很可能是测速用的目标地址临时不可达,换一个稳定的测试地址再测一次,结果往往就正常了。自动测速组的容错间隔也值得留意——间隔太短会频繁切换、连接反复中断,间隔太长又不能及时避开劣化的节点,按自己的网络环境调一个折中值,体验会平顺很多。

读日志定位问题

客户端的日志(或连接)页是排查第一现场:每条记录包含目标域名、命中的规则、走的节点。「某网站打不开」先来这里搜域名——命中 DIRECT 却需要代理,是规则问题;命中代理组却超时,是节点问题。方向定了,修起来就快。把日志级别调到 info 一般足够日常排查;只有在追查疑难杂症时才临时切到 debug,因为 debug 级别会打印大量细节,长期开启既刷屏又占用性能。养成看日志的习惯之后,你会发现大部分「玄学问题」其实都在日志里留下了清清楚楚的线索,无非是命中了意料之外的规则、或某个节点悄悄失效——只要肯逐条读,几乎没有查不出来的故障。

开机自启

桌面端在设置里打开「开机启动」,通常配合「静默启动」只留托盘图标。Windows 上若自启失败,检查任务管理器的启动项是否被第三方优化软件禁用;Android 参考 CH-03 的后台保活设置。更多高频问题,常见问题页按「基础认知 / 安装配置 / 使用技巧 / 故障排查」四类收录。

换乘 · 常见问题四分类 →
CH-09

进阶路线:从会用到看懂再到手写

走完前八章,日常使用已经没有障碍。想再往前,三个方向按序推进。

方向一:手写与覆写配置

不再把订阅当黑盒。用 CH-04 的骨架对照你当前生效的 Profile,逐段读懂;然后从小改动开始——用覆写机制加一条自己的规则、把某个代理组从 select 改成 url-test、调整 DNS 的 nameserver 列表。每改一处,重载配置,看日志确认行为符合预期。能手写配置,任何客户端在你手里都是同一个东西。建议先在本地建一个测试用的配置副本,把想尝试的改动都放进去,确认无误再套用到日常配置上,避免一次改错导致全部流量异常。写配置时养成加注释的习惯:每一组代理、每一条自定义规则都标明用途与来源,几个月后回头维护时才不至于看不懂当初为什么这么写。YAML 对缩进极其敏感,多用支持语法校验的编辑器,保存前先让工具检查一遍缩进与冒号,能省下大量排错时间。

方向二:内核直跑

服务器、NAS、路由器上没有 GUI,直接运行 mihomo 内核。从下载页内核区取对应架构的压缩包,解压后:

MIHOMO / CLI
mkdir -p ~/.config/mihomo
mv config.yaml ~/.config/mihomo/
./mihomo -d ~/.config/mihomo

-d 指定工作目录,内核从中读取 config.yaml 与 Geo 数据文件。前台跑通后,再配 systemd 服务实现开机自启与崩溃拉起。局域网内其他设备把代理指向这台机器的 IP 加端口,配置里记得 allow-lan: true,一台机器带全屋设备。内核直跑最大的好处是资源占用低、可长期无人值守,一台常年开机的小主机或软路由就能承担全家的分流需求。部署时注意几点:把 external-controller 的监听地址限制在内网或用防火墙挡住外部访问,避免控制接口暴露到公网;给配置目录和 Geo 数据库设好定时更新脚本,让规则库保持新鲜;再用日志轮转避免长期运行把磁盘写满。这些例行工作一次配好,后续几乎不用再管。

方向三:外部控制 API

配置里声明 external-controller: 127.0.0.1:9090 后,内核暴露一套 RESTful 接口——切换节点、查询连接、重载配置都能用 HTTP 请求完成:

API / 9090
curl http://127.0.0.1:9090/proxies

各类 Web 面板(如 metacubexd)就构建在这套 API 之上。会用它,意味着可以写脚本做定时切换、异常告警这类自动化——到这一步,你已经从使用者走到了搭建者。这套接口也是理解客户端 GUI 的钥匙:你在界面上点的每一个按钮,背后其实都是一次对应的 API 调用,看懂了接口就看懂了客户端。需要提醒的是,如果给 external-controller 设了 secret,请求时要在请求头里带上对应的令牌;而这个 secret 属于敏感信息,不要写进会上传到公开仓库的配置里,更不要图省事留空对外网开放,否则任何人都能远程操控你的代理。

路线图收尾

  1. 用熟一个 GUI 客户端,规则模式下日常无感使用(CH-01~05);
  2. 看懂规则与日志,自己定位「为什么这个网站走错通道」(CH-06、08);
  3. 开 TUN,理解网络层接管与 DNS 配合(CH-07);
  4. 手写配置、内核直跑、API 自动化(本章)。

每一步都建立在前一步之上。走到哪一站,就用哪一站的工具;需要动手时,回使用指南对照操作,选装备去获取客户端。线路图在这里,发车时间由你定。