Clash 是什么,能解决什么问题
简单说,Clash 是一款「按规则分流」的网络代理客户端:它会检查每一个网络请求要去哪里,再按你配置好的规则决定这个请求该怎么走——国内常用的服务直接放行,速度完全不受影响;需要代理才能访问的服务转发到对应节点;广告和恶意域名则直接在本地拦截掉,请求根本发不出去。整个过程是自动的,用户平时感觉不到「切换」这件事,打开哪个网站该走哪条路,规则早就写好了。
它是完全开源、跨平台的项目,Windows、macOS、Linux、Android、iOS 都有对应的客户端或内核,配置文件格式统一,换设备也不用重新学一套用法。用起来只需要理解三个角色:
- 客户端 —— 你安装的那个程序(图形界面或命令行),负责读取配置、连接节点、展示当前状态;
- 订阅链接 —— 由你使用的代理服务商提供,一条包含节点列表的地址,客户端定期拉取更新;
- 配置文件 —— 一份
config.yaml,定义了所有的分流规则和策略组逻辑,多数情况下订阅会自动生成,不需要自己动手写。
3 步快速上手
装好客户端到实际用上代理,其实只需要三步,全程点点鼠标就能搞定,不用碰配置文件:
下载并安装客户端
按自己的系统选一个图形界面客户端最省心,全平台的安装包和详细步骤都在下载页面,跟着装完就行。
粘贴订阅链接并导入
在客户端「订阅管理」里粘贴代理服务商给你的订阅地址并保存,客户端会立刻拉取一次节点列表,形如 https://example.com/api/v1/subscribe?token=xxx 这样的地址整条复制即可,不要手动截断。
选节点,打开系统代理
节点列表里选一个策略组(客户端通常会自动帮你测速选优),打开「设置为系统代理」,访问一个海外网站试试,能打开就说明已经生效了;不用的时候关掉开关即可。
核心概念,看懂这 5 个就够了
日常用不需要研究这些,但如果你想自己微调规则、或者遇到问题想搞清楚原因,下面这几个概念是绕不开的,挑重点讲,尽量说人话:
策略组 Proxy Group
策略组把多个节点打包成一个整体调用,常见的有三种类型:「自动选择」会定期测速,自动切到延迟最低的节点;「手动切换」由你自己决定当前用哪一个;「故障转移」在主节点失效时自动切到备用节点,避免断线。大多数订阅生成的配置已经内置了合理的策略组,日常使用一般不需要手动调整。
规则与规则集 Rules
规则按顺序逐条匹配,一旦命中就立即生效、不再继续往下匹配,因此顺序非常关键——越精确、越常用的规则应该放在越靠前的位置。规则集(Rule-Set)则是把大量同类规则打包成一个可远程更新的文件,避免逐条手动维护,订阅更新时规则集也会一并刷新。
GeoIP / GeoSite
GeoIP 是 IP 地址到地理位置的对照数据库,GeoSite 则是域名到归属分类的对照数据库,两者都是规则引擎判断「是不是境内地址」最常用的依据。规则集中通常已经内置这些数据,不需要额外下载或配置。
DNS 防泄漏
如果只代理了流量但没有接管 DNS 查询,域名解析请求可能仍然直接发往本地运营商 DNS,暴露出你正在访问的真实域名,这就是「DNS 泄漏」。客户端会按规则分流解析请求(境内域名走本地 DNS,境外域名走安全的远程 DNS),从根源上避免这一问题,多数客户端默认已经开启,无需额外设置。
TUN 模式
系统代理只对遵循系统代理设置的程序生效,部分游戏、命令行工具、系统级请求并不会走系统代理。TUN 模式会创建一张虚拟网卡,在网络层接管全部流量,代理范围更彻底,缺点是对系统权限要求更高(需要管理员/Root 权限)。日常网页浏览用系统代理已经足够,有特殊需求时再开启 TUN。
想看真实的配置写法?点开这里的示例片段
proxy-groups:
- name: 自动选择
type: url-test
proxies: [节点A, 节点B, 节点C]
url: http://www.gstatic.com/generate_204
interval: 300
- name: 手动切换
type: select
proxies: [自动选择, 节点A, 节点B, DIRECT]
rules:
- DOMAIN-SUFFIX,google.com,PROXY
- DOMAIN-KEYWORD,youtube,PROXY
- GEOIP,CN,DIRECT
- DOMAIN-SUFFIX,doubleclick.net,REJECT
- MATCH,PROXY
这几行规则依次表示:google.com 结尾的域名走代理;域名包含 youtube 走代理;IP 归属地为中国大陆的直连;广告域名直接拦截;剩下没命中的流量最后统一走代理兜底。
这些场景,Clash 都能搞定
掌握了基础用法之后,下面这几个是日常最常被问到的实用场景:
分应用代理
只想让特定 App(比如某个视频或聊天软件)走代理,其余应用保持直连,可以在客户端「分应用代理」设置里把目标应用加入名单,其余应用默认走直连,互不影响,也能降低不必要的流量消耗。
拦截广告与追踪
在规则文件里加入广告域名规则集,命中的请求会被标记为 REJECT 直接丢弃,相当于在网络层做了一层广告过滤,浏览器、App 里的部分广告和追踪脚本会因此加载失败而不显示。
多个订阅合并用
如果同时拥有多个服务商的订阅,大多数客户端支持添加多条订阅链接,在策略组里把不同来源的节点混合编组;也可以使用「配置合并」功能,把多份配置整合进同一份最终配置,避免来回切换。
局域网设备共享
在客户端网络设置中开启「允许来自局域网的连接」,并记下本机局域网 IP 与代理端口,同一网络下的其他设备(如电视盒子、游戏主机)手动填入这组代理地址,即可共享同一份代理规则,无需单独安装客户端。
进阶技巧,用熟了再看
远程规则集自动更新 —— 把规则集配置为 Rule Provider 远程链接,内容会随订阅周期自动刷新,不用手动替换文件。
配置覆写与合并 —— 部分客户端支持「覆写」或「合并」功能,能在不改动订阅原始配置的前提下叠加自定义规则,订阅更新后自定义部分也不会被覆盖。
多设备同步配置 —— 只要订阅链接一致,不同设备导入后的节点和规则是一致的;如果自定义了覆写规则,建议单独备份该部分,方便换设备或重装后快速恢复。
省电省资源 —— 在意耗电或性能的话,适当延长测速间隔、关闭详细连接日志,对老旧设备和路由器尤其有效。
想再深入一些,比如自己手写规则语法、配置 Provider 远程管理、调整 DNS/TUN 高级参数,可以继续看 进阶配置文档。
常见问题
什么是订阅链接,去哪里获取?
订阅链接是代理服务商生成的一条 URL,包含了你可使用的节点列表和推荐规则。Clash 官网不提供节点资源,需要向你使用的服务商索取订阅地址。
导入订阅后显示没有可用节点?
请先确认订阅链接是否已过期或达到设备数量上限;也可以检查客户端底部日志面板,查看拉取订阅时是否有网络错误或格式解析失败提示。
系统代理和 TUN 模式该怎么选?
日常网页与 App 使用系统代理即可,配置简单、兼容性好;如果需要代理游戏、命令行工具等不遵循系统代理设置的程序,建议开启 TUN 模式实现全局接管。
如何确认哪些流量走了代理,哪些是直连?
大多数图形界面客户端提供「连接」或「日志」面板,会实时显示每条请求匹配到的规则与最终走向(DIRECT / PROXY / REJECT),排查分流是否生效非常直观。
更换订阅链接后,旧节点信息还残留怎么办?
在「订阅管理」中删除旧的订阅条目并重新添加新链接,或使用客户端自带的「更新订阅」功能强制覆盖,避免新旧节点列表混合造成困扰。
不小心改乱了设置,如何恢复?
重新导入一次订阅链接即可覆盖大部分自定义改动;如果使用了覆写或合并功能,建议提前备份自定义部分,或直接删除客户端配置目录后重新导入。
手机上使用会不会很耗电或耗流量?
正常使用的耗电与耗流量增量很小,主要开销来自后台测速与日志记录;可以在设置中降低测速频率、关闭详细日志来进一步节省资源。
配置文件一般存放在哪里?
不同客户端路径略有差异,通常在设置面板里能直接找到「打开配置目录」这类入口;如果需要手动编辑或备份,从这个入口进去即可找到 config.yaml 所在文件夹。