安装配置
安装 · 订阅 · 初始化根据操作系统选择对应客户端:
- Windows:首推 Clash Verge Rev(现代 UI、TUN 模式、规则编辑器完整支持);个性化偏好用户可选 Clash Nyanpasu(主题定制、多内核切换)。
- macOS:首推 Clash Verge Rev(同时兼容 Intel 与 Apple Silicon);追求原生轻量体验可选 ClashX Meta 菜单栏应用。
- Android:首推 ClashMeta for Android(TUN 全局代理、订阅管理完整);跨平台统一体验可选 FlClash(Material You 设计)。
- iOS:首推 Stash(Clash 配置兼容最完整,支持规则集与脚本);也可选 Shadowrocket 或 Spectre Proxy——均需非国区 Apple ID 购买或下载。
- Linux:首推 Clash Verge Rev 图形版(支持 .deb / .rpm / AUR),服务器与路由器场景可直接使用 Mihomo 核心命令行版。
前往 客户端下载页 可获取各平台最新版本及详细架构选择说明。
大多数 Clash 客户端的订阅导入流程:
- 复制你的订阅 URL(通常由服务提供方提供)。
- 在客户端中找到「配置」、「订阅」或「Profiles」选项卡。
- 选择「从 URL 导入」或「新增订阅」,粘贴链接后确认。
- 等待客户端下载并解析配置文件,完成后选择该配置即可生效。
💡 建议开启「自动更新」功能,可设定每隔 24 小时自动拉取最新节点列表。
这是正常行为。Clash 的 TUN 模式(透明代理)需要在系统层面接管网络流量,因此会请求以下权限:
- Windows:需要管理员权限以安装虚拟网卡驱动(WinTUN)。
- macOS:需要系统扩展或 VPN 配置文件权限。
- Android / iOS:需要创建本地 VPN 连接,流量不离开设备,不涉及第三方服务器。
如果只需代理浏览器等特定应用,可使用系统代理模式,无需 VPN 权限。
可以通过以下几种方式验证:
- 在浏览器中访问
ip.sb或ipinfo.io,若显示的 IP 地址已变更,则代理生效。 - 在客户端的「连接」面板中,观察是否有实时流量数据。
- 使用客户端内置的「延迟测试」功能,对节点执行连通性检测。
💡 若 IP 未变更,请确认客户端已选择正确的配置文件,且代理模式已启用(非直连模式)。
YAML 格式对缩进极为敏感,常见错误包括:
- 使用 Tab 缩进(YAML 只允许空格缩进)。
- 冒号后未留空格,如
key:value应写为key: value。 - 字符串包含特殊字符未加引号。
- 列表项目
-后未留空格。
可将配置内容粘贴至在线 YAML 校验工具(如 yaml.online-parser.appspot.com)进行格式验证,或使用客户端内置的配置检查功能。
以下是一个可运行的最小化配置文件示例,包含基础代理和规则:
mixed-port: 7890 # HTTP/SOCKS5 混合端口
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
dns:
enable: true
enhanced-mode: fake-ip
nameserver:
- 119.29.29.29
- 8.8.8.8
proxies:
- name: "我的节点"
type: vmess
server: example.com
port: 443
uuid: your-uuid-here
alterId: 0
cipher: auto
tls: true
proxy-groups:
- name: Proxy
type: select
proxies:
- 我的节点
- DIRECT
rules:
- GEOIP,CN,DIRECT
- MATCH,Proxy
将上述内容保存为 config.yaml,替换节点信息后即可导入客户端使用。
连接问题
延迟 · 断线 · 速度网速变慢通常由以下原因导致,可逐一排查:
- 节点负载高:使用延迟测试功能,切换至延迟更低、响应更快的节点。
- 代理模式选择:在「全局代理」模式下,本地流量也会经过代理。对于国内网站,建议使用「规则模式」按需分流。
- DNS 解析慢:检查配置中的 DNS 设置,推荐使用
8.8.8.8或1.1.1.1作为远程 DNS。 - TUN 模式开销:TUN 模式处理所有系统流量,CPU 使用率会略高,旧设备可能感受到影响。
频繁断线的常见原因与解决方法:
- 节点不稳定:开启自动故障转移(fallback)策略组,Clash 会在节点失效时自动切换备用节点。
- Keep-alive 设置:在配置中启用
keep-alive-interval,维持连接活跃状态。 - 系统休眠:设备休眠时网络连接会中断,唤醒后手动重连或重启客户端。
- 防火墙或安全软件:检查防火墙是否拦截了客户端进程,添加白名单允许其访问网络。
部分应用不遵循系统代理设置,需要 TUN 模式实现全局流量接管:
- 在客户端中开启 TUN 模式(需管理员/Root 权限),这会在系统层面接管所有 TCP/UDP 流量,包括不支持系统代理的应用。
- 对于游戏,可在规则中为游戏服务器 IP 段单独配置路由策略。
- Android 端可开启「绕过局域网」选项,避免影响本地通信。
Clash 提供了多种节点选择策略:
- 手动选择:在「代理」面板中,对所有节点执行延迟测试,手动选择延迟最低的节点。
- 自动选择(url-test):配置
url-test策略组,Clash 会定期测速并自动选用最快节点。 - 负载均衡(load-balance):多节点轮询,适合需要同时建立大量连接的场景(如下载、多任务)。
- 故障转移(fallback):主节点不可用时自动切换备用节点,保障连接稳定性。
Clash 支持开启局域网代理共享,让手机、平板等设备通过电脑上网:
- 在配置文件中设置
allow-lan: true,并将bind-address设为"*"或本机局域网 IP。 - 记录本机在局域网中的 IP 地址(如
192.168.1.100)和 HTTP 代理端口(默认7890)。 - 在其他设备的 Wi-Fi 设置中,将 HTTP 代理指向该 IP 和端口即可。
💡 手机端可通过「设置 → Wi-Fi → 代理 → 手动」配置。Android 和 iOS 均支持此方式,无需 root 或越狱。
这是因为代理规则将局域网 IP 也路由至远端导致的,解决方案:
- 确保配置文件中包含以下规则(置于规则列表顶部):
- IP-CIDR,192.168.0.0/16,DIRECT - IP-CIDR,10.0.0.0/8,DIRECT - IP-CIDR,172.16.0.0/12,DIRECT
- 在客户端设置中开启「绕过局域网」选项(部分客户端支持一键开启)。
规则管理
分流 · DNS · 规则集- 全局模式(Global):所有流量强制走代理,包括国内网站。适合调试,不推荐日常使用。
- 规则模式(Rule):根据配置文件中定义的规则,决定每条连接走代理、直连还是拒绝。这是推荐的日常模式,可实现国内直连、境外走代理的智能分流。
- 直连模式(Direct):所有流量直连,不经过代理。等同于关闭代理。
在配置文件的 rules 段落中,添加对应规则并指定 DIRECT 策略:
rules: - DOMAIN-SUFFIX,baidu.com,DIRECT - DOMAIN-SUFFIX,qq.com,DIRECT - DOMAIN-KEYWORD,taobao,DIRECT - IP-CIDR,114.114.114.0/24,DIRECT - MATCH,Proxy # 默认走代理
规则按从上到下的顺序匹配,第一条命中的规则生效。更复杂的分流需求推荐使用「规则集(Rule Provider)」功能。
规则集是一个外部维护的规则列表文件(YAML 或文本格式),由社区持续更新,可通过 URL 订阅。使用方法:
rule-providers:
gfw:
type: http
behavior: domain
url: "https://example.com/gfw.yaml"
interval: 86400
path: ./ruleset/gfw.yaml
rules:
- RULE-SET,gfw,Proxy
- MATCH,DIRECT
推荐使用社区维护的规则集,如 Loyalsoldier/clash-rules(GitHub),包含国内直连、广告过滤、恶意网站拦截等完整规则集。
Clash 内置了完整的 DNS 模块,推荐配置如下:
dns:
enable: true
ipv6: false
default-nameserver:
- 119.29.29.29 # 国内 DNS,解析本地域名
nameserver:
- https://8.8.8.8/dns-query # 加密 DNS(DoH)
- https://1.1.1.1/dns-query
enhanced-mode: fake-ip # 或 redir-host
DNS 泄漏是指代理流量通过了代理,但 DNS 查询却绕过了代理直接发送至本地 DNS,导致真实地理位置暴露。使用 fake-ip 模式可有效防止 DNS 泄漏。
Clash 支持通过规则集对广告域名执行 REJECT 策略,实现无需额外插件的广告过滤:
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
interval: 86400
path: ./ruleset/reject.yaml
rules:
- RULE-SET,reject,REJECT # 匹配广告域名直接拒绝
- MATCH,DIRECT
推荐使用 Loyalsoldier/clash-rules 中的 reject.txt,该规则集持续维护,包含常见广告、追踪和恶意域名。
Mihomo 支持通过 JavaScript 脚本(script 模式)实现动态分流,适合规则文件无法表达的复杂场景:
mode: script
script:
code: |
def main(ctx, metadata):
# 按域名后缀分流
if metadata["host"].endswith(".cn"):
return "DIRECT"
# 按目标端口分流
if metadata["dst_port"] == "22":
return "DIRECT"
return "Proxy"
脚本中可访问 metadata(包含 host、src_ip、dst_port 等字段)和 ctx(提供 DNS 查询、规则匹配等 API)。脚本模式与规则模式互斥,建议高级用户使用。
| 对比项 | fake-ip | redir-host |
|---|---|---|
| 工作原理 | 返回虚假 IP,延迟规则匹配至建连时 | 先解析真实 IP,再按 IP 规则匹配 |
| DNS 泄漏风险 | 极低,推荐 | 较高,需配合 nameserver-policy |
| 兼容性 | 部分基于 IP 的程序可能异常 | 兼容性好 |
| 延迟 | 更低(省去一次 DNS 往返) | 略高 |
| 推荐场景 | 日常使用 | 需要真实 IP 的特殊应用 |
绝大多数用户推荐使用 fake-ip 模式,可在 fake-ip-filter 中排除不兼容的域名(如 NTP 服务器、局域网域名)。
安全隐私
开源 · 数据 · 权限Clash 核心(Mihomo)是 100% 开源的本地代理工具,本身不收集、不上传任何用户数据。流量的路由、加解密均在你的设备本地完成。
但需要注意:
- 你的流量最终会经过你订阅的节点服务商,对方在技术上可以记录流量元数据(如连接目标、时间、流量大小)。
- 建议使用加密传输协议(如 VLESS + XTLS、Trojan 等),端到端加密可大幅降低内容泄漏风险。
- 客户端本地日志功能(如连接日志)默认可能存储在本地,可在设置中调整日志级别或关闭。
配置文件包含连接凭证,应妥善保管:
- 不要将包含节点信息的配置文件上传至公开 Git 仓库或分享给他人。
- 在文件系统层面设置适当的文件权限(Unix 系统建议
chmod 600 config.yaml)。 - 配置文件中的外部控制器(
external-controller)若暴露至公网,务必设置强密码(secret字段)。 - 定期更换节点凭证,尤其在设备丢失或配置文件被误传后。
建议通过以下方式确保安全:
- 仅从官方渠道下载:通过本站下载页或对应的官方 GitHub 仓库下载安装包。
- 校验文件哈希:官方 Release 页面通常提供 SHA256 校验值,下载后比对哈希值确保文件未被篡改。
- 查看代码签名:macOS 和 Windows 版本通常带有开发者签名,系统会在安装时自动验证。
- 审查源代码:所有核心组件均在 GitHub 开源,你可以自行审查或编译。
WebRTC 是浏览器内置的实时通信技术,可能绕过代理直接暴露本机真实 IP。防护方法:
- 启用 TUN 模式:在系统层接管所有流量,包括 WebRTC 流量,是最彻底的方案。
- 浏览器插件:安装 uBlock Origin 并启用「防止 WebRTC 泄漏」选项,或使用 WebRTC Network Limiter 插件。
- 浏览器设置:在 Firefox 中,可在
about:config将media.peerconnection.enabled设置为false以彻底禁用 WebRTC。 - 验证:使用 browserleaks.com/webrtc 测试是否仍有泄漏。
外部控制器(RESTful API)默认监听 127.0.0.1:9090,仅本机可访问,是安全的。若需远程管理,请注意:
- 必须设置强密码:
secret: "your-strong-password",否则任何人都可以控制你的 Clash 实例。 - 建议通过 SSH 隧道或 VPN 访问,不要将 API 端口直接暴露至公网。
- 若绑定至
0.0.0.0,请确保防火墙规则限制访问来源。 - API 具有完全控制权,包括修改配置、切换节点、关闭连接等,安全性等同于 SSH 访问。
客户端选择
GUI · 核心 · 平台差异| 对比维度 | Clash Verge Rev | ClashX Meta |
|---|---|---|
| 支持平台 | Windows / macOS / Linux | macOS 专属 |
| 技术栈 | Tauri(Rust + WebView) | 原生 Swift/ObjC |
| UI 风格 | 现代 Web 风格 | macOS 原生菜单栏风格 |
| 规则编辑器 | 内置可视化编辑器 | 无,需手动编辑配置文件 |
| 资源占用 | 略高(Webview 渲染) | 更轻量,系统集成度高 |
| 适合人群 | 多平台用户 / macOS 首推 | 追求极简菜单栏体验的 macOS 用户 |
两者底层均使用 Mihomo 核心,代理功能完全一致。macOS 用户首推 Clash Verge Rev,对菜单栏常驻有偏好的用户可选 ClashX Meta。
💡 同样基于 Tauri 的 Clash Nyanpasu 支持多内核切换与主题定制,是另一款适合 Windows / macOS / Linux 个性化用户的选择。
受限于 Apple App Store 审核政策,以「Clash」命名的应用已从国区 App Store 下架。目前 iOS 用户可选择以下兼容 Clash 配置格式的客户端:
- Stash(首推):付费应用,专为 Clash 配置设计,完整支持规则集、脚本与 MitM 解密,同时支持 iPhone 与 iPad。
- Shadowrocket(小火箭):付费应用,兼容多种代理协议与 Clash 订阅格式,用户基数大,稳定性高。
- Spectre Proxy:免费 / 内购,专注 Clash 配置格式,界面简洁,入门友好,多区 App Store 均可下载。
💡 Stash 和 Shadowrocket 需要使用美区或港区 Apple ID 购买和下载;Spectre Proxy 在更多区域可用。在「App Store」右上角头像处切换账号即可,无需更换主账号。
Mihomo 是 Clash 元版本的核心引擎(Go 语言编写),所有 GUI 客户端的底层都是 Mihomo。两者关系:
- Mihomo 核心:纯命令行,通过读取 YAML 配置文件运行,提供 RESTful API 接口,适合服务器、路由器或高级用户使用。
- GUI 客户端:图形界面包装层,内嵌 Mihomo 核心,通过 API 与核心通信,提供可视化配置、节点管理、延迟测试等便捷功能。
对于普通用户,推荐使用 GUI 客户端;服务器或嵌入式设备用户可直接使用 Mihomo 核心。
正常情况下,客户端更新不会影响配置文件,配置数据存储在用户数据目录中,与程序文件分离。但建议养成以下习惯:
- 定期备份配置文件至云存储或其他安全位置。
- 使用订阅 URL 管理节点,这样即使配置丢失也能快速恢复。
- 在更新前查看 Release Notes,了解是否有 Breaking Changes。
订阅与更新
订阅 · 自动更新 · 版本在大多数客户端中,手动更新订阅的操作如下:
- Clash Verge Rev / Clash Nyanpasu(Windows / macOS / Linux):在「配置」页面,点击配置卡片右侧的「更新」(刷新)图标。
- ClashX Meta(macOS):点击菜单栏图标 → 配置 → 选择对应配置 → 更新配置文件。
- ClashMeta for Android / FlClash(Android):在「配置文件」界面,长按或点击刷新按钮。
更新订阅实质上是重新从订阅 URL 拉取最新的 YAML 配置文件,节点列表会随之刷新。
在客户端「订阅」设置中,可以为每个订阅配置自动更新间隔:
- 推荐间隔:12–24 小时,可确保节点列表保持新鲜,同时避免频繁请求。
- 间隔过短(如 1 小时)可能被服务方识别为异常请求,导致订阅链接被封禁。
- 间隔过长(超过 7 天)可能导致使用已失效的节点。
在配置文件中也可直接设置(以 Mihomo 核心为例):
proxy-providers:
my-nodes:
type: http
url: "https://your-subscription-url"
interval: 86400 # 单位:秒(86400 = 24 小时)
订阅更新失败的常见原因及处理方法:
- 当前节点无法访问订阅服务器:切换至直连模式后再更新,或使用其他可用节点。
- 订阅链接已过期:联系服务提供方重新获取有效的订阅链接。
- 服务器临时不可用:等待片刻后重试。
- 订阅 URL 格式有误:确认链接完整(含
https://前缀),可在浏览器中直接访问验证。
各平台升级方式:
- Clash Verge Rev(Windows / macOS / Linux):客户端内置更新检测,在「设置」→「关于」中点击「检查更新」,或前往 GitHub Releases 页面下载最新安装包。
- Clash Nyanpasu(Windows / macOS / Linux):在客户端「设置」→「关于」中检查更新,或前往 GitHub Releases 下载最新版本覆盖安装。
- ClashX Meta(macOS):通过 GitHub Releases 下载最新
.dmg安装包覆盖安装。 - ClashMeta for Android(Android):通过 GitHub Releases 下载最新
.apk文件安装(需允许未知来源应用)。 - FlClash(Android / Windows / macOS):通过 GitHub Releases 下载对应平台最新版本安装包。
- Mihomo 核心:在 GitHub Releases 下载对应平台的二进制文件,替换原有文件后重启。
💡 建议保持客户端版本更新,新版本通常包含安全修复和协议支持改进。
Mihomo 核心(Clash Meta)支持业界主流的代理协议:
传输层支持:WebSocket、HTTP/2、gRPC、QUIC 等,可与上述协议组合使用。