入门教程 · 四步完成一次完整配置

Clash 配置教程:从订阅导入到验证生效

四个步骤走完一次完整配置——把订阅链接导入客户端、选定代理模式、开启系统代理或 TUN 模式接管流量,最后确认分流结果符合预期。每一步都写清了点击位置、成功之后的界面反馈,以及失败时先查什么。

4 个步骤 约 10 分钟 Windows / macOS / Android / iOS / Linux 系统代理 + TUN
不同客户端的界面差异 本文以 Clash Verge Rev 与 Clash Plus 的界面为例,其他客户端的功能位置基本对应,只是叫法不同:Clash Meta for Android 把订阅入口放在「配置」页,ClashX Meta 的配置与模式都在菜单栏图标里,Clash for Windows 已停止维护、界面停留在旧版布局。菜单名称对不上时按功能找即可——「订阅 / 配置 / Profiles」指的是同一处,「出站模式 / 代理模式 / Mode」也是同一处。各平台的入口对照见下方「平台界面差异」。

四步流程 · 按顺序执行

01

导入订阅链接

profiles

Clash 客户端本身不携带任何线路,能用的节点全部来自订阅配置,所以配置的第一步永远是导入订阅。订阅链接由服务提供方生成,形如 https://sub.example.com/api/v1/client/subscribe?token=xxxx,一条链接返回一份完整的 YAML 文件,里面包含代理节点、策略组和分流规则三部分。导入前先把链接完整复制下来:多数导入失败并不是客户端有问题,而是链接在聊天软件或邮件里被截断,末尾的 token 参数少几位,客户端拿到的就是一段无效响应。

各客户端的导入入口分别是:

  • Clash Verge Rev(Windows / macOS / Linux):左侧边栏点「订阅」,把链接粘贴到顶部输入框,回车或点「导入」。客户端会立即向订阅地址发起一次请求。
  • Clash Plus(Windows / macOS / Android / iOS):主界面进入「订阅」分组,点右上角「添加订阅」,粘贴链接后确认。移动端首次会申请网络权限,允许后才会真正下载配置。
  • Clash Meta for Android:左侧抽屉进入「配置」,点右下角加号选「从 URL 导入」,粘贴链接并给配置起一个便于区分的名称。
  • ClashX Meta(macOS):点菜单栏图标 →「配置」→「托管配置」→「管理」,在弹窗里点 Add,把链接粘进 URL 一栏,确认后回到菜单选中这份配置。

导入成功的标志有三个:配置列表里出现一条新记录;记录展开后能看到节点或策略组;客户端没有弹出解析错误。三个都满足就可以进入下一步。如果提示「配置解析失败」,或者列表一直是空的,先用浏览器直接打开订阅链接——返回 YAML 文本说明链接本身没问题,问题在客户端版本;返回一串 base64 字符或一个网页,说明服务方输出的是通用格式或链接已失效,需要到服务方后台切换成 Clash 格式后重新复制一份。

导入完成后建议顺手把自动更新打开。订阅里的节点会不定期更换,客户端列表里的配置如果不更新,几天后就可能整片超时。Clash Verge Rev 在配置项的右键菜单里设置更新间隔,Clash Plus 在订阅详情页里设置,建议填 24 小时。手动更新同样在右键菜单或详情页里,遇到节点大面积失效时,先更新一次订阅再排查其他原因。

02

选择代理模式

mode: rule

配置导入之后,客户端里同时存在三样东西:节点、策略组、规则。决定流量怎么走的开关是代理模式,主流客户端都提供四种选择:

  • 规则模式(rule):默认选项,也是日常应该保持的模式。客户端按配置里 rules 段的顺序自上而下匹配,命中哪条规则就交给那条规则指向的策略组处理,全部没命中的落到末尾的 MATCH 兜底。国内站点直连、境外站点走代理的分流效果全靠它。
  • 全局模式(global):所有流量都走当前选中的策略组,完全忽略规则。只在两种场景用:单独测试某个节点是否可用;判断某个站点是不是被规则误判走了直连。
  • 直连模式(direct):所有流量都不经过代理。临时需要恢复本地网络又不想退出客户端时切过去,比关掉客户端再打开更快。
  • 脚本模式(script):用一段 JavaScript 动态改写策略选择,只有部分内核支持,普通使用不需要碰。

设置位置按客户端不同:Clash Verge Rev 在「代理」页顶部的模式下拉;Clash Plus 在主界面顶部的模式切换;Clash Meta for Android 在底部导航「代理」页的右上角;ClashX Meta 在菜单栏的「出站模式」子菜单里。

模式之外还要理解策略组。代理页里每个策略组是一张卡片,卡片里列出可选的节点或子组,卡片顶部显示当前选中的那一项。规则模式命中某条规则后,实际出口由该规则指向的策略组里当前选中的节点决定。所以「规则模式 + 自动选择组」是日常最省心的组合:规则决定这次连接走不走代理,自动选择组决定走哪个节点。手动在组里点某个节点会覆盖自动选择,下次节点失效时需要手动换回来。

配置文件中对应的字段长这样:

mode: rule
log-level: info
mixed-port: 7890
allow-lan: false
external-controller: 127.0.0.1:9090

在客户端界面里切换模式会立即生效,不需要重启内核;如果是直接编辑 config.yaml 文件再让客户端加载,则要重新加载配置或重启内核才会读到新值。切换模式后建议回到「连接」页观察几条记录,确认新模式下流量走向符合预期再继续下一步。

03

连接与端口设置

mixed-port

模式只决定分流方式,还需要把系统流量交给客户端。Clash 客户端提供两种接管方式,选一种开启即可。

系统代理:在操作系统里写入一条 HTTP/HTTPS 代理记录,指向客户端的本地监听端口。开启快、不需要额外权限,覆盖浏览器和大部分桌面软件;不覆盖那些不读取系统代理设置的程序,比如部分命令行工具、游戏、商店应用和容器。开启位置:Clash Verge Rev 在「设置」页的「系统代理」开关;Clash Plus 在主界面底部的「系统代理」开关;ClashX Meta 在菜单栏的「设置为系统代理」。

TUN 模式:客户端创建一块虚拟网卡,在 IP 层接管整台机器的流量,所有程序都被覆盖。代价是需要管理员权限——Windows 上首次开启要安装并启动系统服务,macOS 上要授权网络扩展——并且要正确配置 DNS,否则容易出现解析异常或部分域名打不开。开启位置:Clash Verge Rev 在「设置」页的「TUN 模式」开关,首次开启会引导安装服务;Clash Meta for Android 在「设置」→「网络」→「TUN」;ClashX Meta 在菜单栏的「增强模式」。

两种方式不要同时开。系统代理记录和虚拟网卡同时生效时流量路径会重叠,表现是部分请求正常、部分请求超时,排查起来很费时间。日常用系统代理,遇到特定程序不生效再切到 TUN。

端口设置:客户端默认监听几个本地端口,分别是 7890(HTTP 与 SOCKS5 混合)、7891(SOCKS5)、7892(Redir)、9090(外部控制 API)。端口被其他程序占用时,客户端会启动失败或系统代理开关点不开。查看占用的命令:

# Windows
netstat -ano | findstr :7890

# macOS / Linux
lsof -i :7890

确认占用之后,把配置里的 mixed-port 改成 7897 之类的空闲端口,重新加载配置,然后重新开启一次系统代理——系统里那条代理记录不会自动跟着端口变化,需要关掉再打开才会写入新端口。

局域网共享allow-lan: true 时同一网段的其他设备可以把这台机器当代理使用,配合防火墙放行和 bind-address 设置。只有一台设备上网时保持 false 即可。

04

验证代理是否生效

connections

连接建立后不要只看开关颜色,按下面四条依次确认。

  1. 连接页有实时记录。打开客户端的「连接」页,随便刷新一个网页,列表里应该出现对应的连接条目。每条记录会显示命中的规则、使用的策略组、出口节点和上下行字节数。列表持续为空说明流量根本没到客户端,问题出在系统代理或 TUN 是否真的生效,而不是节点。
  2. 出口地址发生变化。浏览器访问任意 IP 查询站点,显示的归属地应该与所选节点一致,而不是本地运营商。这一步确认流量确实经过了远端。
  3. 分流符合预期。回到「连接」页看具体域名走了哪条规则:国内站点应该命中直连类规则,境外站点命中代理组。如果国内站点大量走代理,说明规则集没有加载或 GEOIP 数据缺失,更新一次订阅通常能恢复;如果境外站点反而直连,检查规则顺序里是不是有一条过宽的规则提前命中。
  4. 日志没有反复报错。把日志等级调到 info 或 debug,观察一段时间。正常日志是连接建立与关闭的记录;反复出现 DNS 解析失败、连接被拒绝、TLS 握手超时,说明节点或 DNS 配置有问题,需要回到节点选择或 DNS 设置排查。

命令行验证(可选):

curl -s -x http://127.0.0.1:7890 https://api.ipify.org

返回的地址应当是节点出口地址。如果 curl 直接超时,而浏览器访问正常,说明该终端没有继承系统代理——这是正常现象,命令行程序需要显式指定代理参数,或者改用 TUN 模式。

验证通过后,日常使用基本不需要再动客户端。剩下的事情是保持订阅更新、节点失效时在策略组里换一个,以及偶尔看一眼日志。更深入的配置项——DNS 与 Fake-IP 的工作方式、规则语法与优先级、rule-providers 的结构、TUN 栈的选择——已经超出十分钟上手的范围,整理在「新手到进阶」长文里,按章节查阅即可。

平台界面差异

五个平台的操作入口对照

同样的四步,在不同系统上的入口位置和注意事项并不一样。选择你正在使用的平台,对照下面的入口说明操作。

Windows 平台

Windows 上可选的客户端最多,界面分成两派:Clash Verge Rev 用左侧边栏把「订阅 / 代理 / 设置 / 日志」拆成四个页面,Clash Plus 把这些合并到主界面顶部的标签里。系统代理开关在设置页,TUN 模式首次开启要安装服务并确认一次管理员权限弹窗。商店应用默认不读取系统代理记录,需要单独开启回环,或者直接切到 TUN 模式。

导入订阅「订阅」页顶部输入框,粘贴后回车
切换模式「代理」页顶部下拉,四个选项直接切换
系统代理「设置」页的开关,开启后写入系统代理记录
TUN 模式「设置」页开关,首次开启需安装并启动服务

常见问题

配置过程中最容易卡住的六件事

下面这些问题出现在四步流程的不同环节,按现象对照即可。更完整的排查顺序见技术笔记与「新手到进阶」长文。

订阅导入后配置列表是空的,先查什么?
先确认链接是否完整,token 参数最容易被聊天软件截断。再用浏览器直接打开订阅地址:返回 YAML 文本说明链接本身正常,问题在客户端版本过旧;返回一串 base64 字符说明服务方输出的是通用格式,需要到后台切换成 Clash 格式;返回一个网页说明链接已失效或需要重新登录服务方后台。三项都排除后,换一个客户端交叉验证,能快速判断是订阅的问题还是客户端的问题。
配置导入成功,但节点延迟测试全部超时。
先更新一次订阅,排除节点已经更换的情况。接着检查系统时间是否准确,时间偏差过大会导致 TLS 握手直接失败。然后确认防火墙或安全软件没有拦截客户端进程。最后把日志等级调到 debug,看具体报错是 DNS 解析失败还是连接被拒绝——前者去查 DNS 设置,后者多半是节点端口或协议参数已经失效,需要换节点。
浏览器能上网,但部分软件仍然直连。
这些软件没有读取系统代理记录。命令行工具需要在命令里显式指定代理参数,商店应用需要开启回环支持,容器需要在容器内部单独配置代理。判断方法很简单:在客户端的「连接」页观察该软件的请求是否出现,没出现就说明流量根本没经过客户端,改用 TUN 模式可以一次性覆盖。
系统代理和 TUN 模式可以同时开吗?
不建议。两种接管方式同时生效时,系统代理记录和虚拟网卡的流量路径会重叠,表现是部分请求正常、部分请求超时,排查时很难判断问题出在哪一层。日常用系统代理,遇到不认系统代理的程序再切到 TUN,切换时先关掉其中一个。
客户端提示端口被占用怎么办?
7890 端口被其他程序占用时,客户端无法监听,系统代理开关也会跟着失败。用 netstat -ano | findstr :7890(Windows)或 lsof -i :7890(macOS / Linux)确认占用进程,关掉它,或者在配置里把 mixed-port 改成空闲端口并重新加载配置。改完端口记得重新开启一次系统代理,那条代理记录不会自动更新端口号。
换设备后同一条订阅链接还能用吗?
取决于服务方的设备数限制。多数订阅支持多设备同时使用,超出限制时表现为新设备导入失败或旧设备掉线。需要多设备保持一致时,在各设备导入同一条订阅链接即可,节点与规则会随订阅更新同步;手动导出配置文件的方案适合订阅链接不便共享的场景,两种方案的取舍见技术笔记。