Clash 使用教程

不需要网络技术基础。本教程按订阅导入、模式选择、系统代理、生效验证四个环节逐一详细讲解,每个环节都附带各平台的具体操作与常见问题排查,跟着做即可完成配置。

零基础可懂 全平台覆盖 含分流规则详解 含故障排查思路
step by step

详细配置指南

每个环节都写清楚原理、操作细节与常见坑,不是简单的一句话带过。

$ tips: 还没下载客户端?先前往下载页面获取对应平台安装包,再回来跟着下面配置。
1

导入订阅链接SUBSCRIBE

订阅链接本质是服务商提供的一个 URL,客户端请求它会返回一份包含节点列表与分流规则的配置。打开客户端「配置 / Profiles」页面,粘贴订阅 URL 并点击下载,节点和规则会自动写入本地配置,全程不需要你手动编辑 YAML 文件。如果拿到的不是链接而是一份 config.yaml 文件,同一页面选择「从文件导入」效果完全一样,只是不能自动更新。

客户端通常提供「自动更新间隔」设置(例如每 24 小时刷新一次),到时会自动重新拉取最新节点,也可以随时手动点「更新」立即生效,无需重新粘贴链接。

$ clash profile add "https://your-provider.com/sub?token=***"
✓ 128 proxies, 8642 rules imported
常见坑:① 订阅地址本身若在你所在网络无法访问,属于"先有鸡还是先有蛋"问题,可先用手机流量或其他网络完成首次导入;② 复制链接时容易带上首尾空格或换行符,导入失败先检查这一点;③ 部分订阅要求特定 User-Agent,绝大多数 Clash 客户端已内置伪装,一般无需手动处理。
2

理解并选择工作模式MODE

客户端提供三种流量处理模式:规则模式按 config.yaml 里的规则逐条匹配自动分流,国内直连、国外走代理、广告拦截全部自动判断,是日常使用的推荐模式;全局模式不看规则,所有流量强制走同一个代理节点,通常只在排查"某个节点是否真的可用"时短暂切换过去测试;直连模式则完全关闭代理,等同于临时恢复到没安装 Clash 之前的网络状态,用于对比测试或临时省流量。

还有一个容易混淆的概念是 TUN 模式——它和上面三种模式不是同一个维度,而是「流量接管方式」的选择。系统代理只对遵循系统代理设置的应用生效(浏览器、大部分常规软件),但部分命令行工具、游戏客户端、后台服务并不读取系统代理设置。这时需要开启 TUN 模式,客户端会创建一张虚拟网卡,在网络层接管全部流量,效果更彻底但首次开启需要额外授权(下方「开启系统代理」章节按平台说明)。新手建议先只用系统代理,遇到某个应用始终无法走代理时再考虑开启 TUN。

$ clash mode rule # rule / global / direct 三选一
✓ Mode switched to rule
3

开启系统代理CONNECT

系统代理的核心逻辑在所有平台上是一致的——把系统或应用发出的网络请求转发给 Clash 在本机监听的端口(默认 127.0.0.1:7890),但具体开关入口和配置文件位置因平台而异,以下逐一说明。

Windows 右键点击任务栏托盘图标,在菜单中找到「System Proxy」并勾选即可开启,取消勾选即可关闭。若需要开启 TUN 模式,首次启用会弹出提示要求以管理员身份运行一次,用于完成虚拟网卡驱动的注册,之后正常启动即可自动生效。配置文件默认保存在 %USERPROFILE%\.config\clash\config.yaml,可以用文本编辑器直接查看或备份。

macOS 点击顶部菜单栏图标,选择「Set as System Proxy」开启系统代理。若使用 TUN 模式,需要前往「系统设置 → 隐私与安全性 → VPN 与网络扩展」,找到对应的网络扩展并允许权限,重启客户端后 TUN 才会生效——这是苹果系统层面的安全限制,第一次没找到入口是最常见的卡点。配置文件路径为 ~/.config/clash/config.yaml

Android 打开应用先在「配置」页导入订阅链接,回到主页点击悬浮的「连接」按钮,系统会弹出标准的 VPN 权限确认框,点击「确定」即建立本地 VPN 通道并开始转发流量。部分国产手机(尤其是小米、OPPO、vivo 等定制系统)的省电策略会主动杀掉后台 VPN 进程,建议在系统设置的电池优化列表里把 Clash 加入白名单,否则容易出现"用一会儿就自动断开"的情况。

iOS 受 App Store 审核政策限制,iOS 上没有官方原生 Clash 应用,通常使用兼容 Clash 规则格式的第三方客户端(如 Stash、Shadowrocket 等)。在应用的「配置 / Profile」页添加订阅链接后开启连接,系统会在「设置 → 通用 → VPN 与设备管理」里显示已安装的 VPN 配置,可以在那里确认连接状态或手动断开。不同应用的界面文案略有差异,但订阅导入与连接开关的操作逻辑基本一致。

Linux 带图形界面的版本(如 clash-verge)操作方式与 Windows / macOS 相同,托盘图标右键即可开启系统代理。纯命令行 / 无桌面环境(例如云服务器)则没有托盘可点,需要手动编辑配置文件并通过 systemd 管理服务后台运行,同时在 shell 里设置代理环境变量让终端工具也走代理:

$ export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890
提示:无桌面环境的服务器场景,建议编辑好 config.yaml 后执行 systemctl enable --now clash 设为开机自启的后台服务,避免每次重启手动启动。若浏览器始终显示未代理,先排查是否有其他 VPN 或代理软件同时运行造成冲突。
4

验证配置是否生效VERIFY

完成上面三步后,建议花一分钟确认代理确实生效,而不是想当然地以为配置好了:

方法一 · IP 查询:浏览器访问任意 IP 查询网站,如果显示的出口 IP 归属地与你所连接的节点所在地一致(例如连接的是香港节点却显示香港 IP),说明系统代理已经生效。

$ curl https://ifconfig.me
✓ 出口 IP 已切换,配置成功

方法二 · 连接面板:打开客户端的「连接 / Connections」面板,可以实时看到每一条网络连接命中了哪条规则、走的是哪个代理节点,是排查分流是否符合预期最直接的方式。

方法三 · 已连接却打不开某个网站:这是最常见的"看起来没生效"的情况,通常不是代理没生效,而是该域名被规则判定为 DIRECT(常见于规则集还没覆盖到某个较新或小众的域名)。可以在连接面板确认该请求命中的规则,如果确实是直连误判,可以在自定义规则里手动加一条 DOMAIN-SUFFIX 规则强制指定为代理策略(见下方规则语法);如果命中的已经是代理规则但依然打不开,大概率是节点本身故障或延迟过高,切换到「全局模式」测试其他节点即可排除。

rule syntax

分流规则原理与语法详解

规则模式之所以"智能",核心就是配置文件里的 rules 列表。理解它的匹配逻辑,遇到分流不符合预期时才知道去哪里改。不熟悉策略组、GEOIP 等名词可以先查术语表

rules 是一份从上到下顺序执行的列表,每一条格式大致为 类型,匹配内容,策略。客户端拿到一个网络请求后,会从第一条规则开始逐条比对,一旦命中某条规则就立即应用对应策略并停止继续匹配——后面写的规则即使内容也匹配,也不会再生效。策略可以是 DIRECT(直连)、REJECT(拦截丢弃),或某个代理策略组的名字(订阅规则集里通常写作 PROXY,代表走某个策略组)。绝大多数订阅服务商已经预置好一份完整规则集,普通用户开箱即用无需修改;下表列出进阶用户最常追加的六种写法。

语法示例含义效果
DOMAIN,ad.example.com,REJECT

精确匹配单个完整域名,不含子域名

REJECT
DOMAIN-SUFFIX,google.com,PROXY

匹配该域名及其所有子域名,最常用的写法

PROXY
DOMAIN-KEYWORD,facebook,PROXY

域名中包含该关键字即匹配,一次覆盖多个变体域名

PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve

按 IP 段匹配,内网地址直连不走代理,no-resolve 表示不对域名做提前解析

DIRECT
GEOIP,CN,DIRECT

按请求目标 IP 所属的国家 / 地区分流,中国大陆 IP 直连

DIRECT
MATCH,PROXY

兜底规则,匹配所有未命中以上规则的流量,必须放在列表最后一行

PROXY

进阶补充:除了在 rules 里直接写死一条条规则,Clash 还支持 rule-providers——引用一份由社区或服务商维护、远程托管的规则集合(比如"全部国内域名""全部广告域名"),并在规则列表里用一行引用它,规则内容会跟随远程源自动更新,无需自己逐条维护。日常使用无需关心这一层,只有当你想自定义分流行为、且默认规则集无法满足需求时,才需要动手编辑。修改后记得把自定义规则放在规则集引用的前面,因为顺序在前的规则优先命中。