3702 字
19 分钟
Clash Verge / Clash Verge Rev 进阶配置完全指南:规则、分流与性能调优
Clash Verge 及其社区分支 Clash Verge Rev 已经是 2026 年最主流的跨平台代理客户端。但很多用户停留在「导入订阅 → 选择节点 → 开启代理」的基础用法,忽略了其强大的高级功能:规则集、分组策略、TUN 模式、脚本自动化。

本文系统性讲解 Clash Verge / Clash Verge Rev 的高级配置与最佳实践,包括:
- YAML 配置文件结构与核心字段
- Proxy Provider 节点订阅管理
- Rule Provider 规则集与分流策略
- 分组策略与自动选路(URL-Test/Fallback/Load-Balance)
- TUN 模式原理与系统级配置
- DNS 配置与防污染方案
- 脚本与触发器自动化
- 性能调优与常见问题
一、配置文件结构
1.1 核心配置文件(config.yaml)
# ==================== 基本设置 ====================mixed-port: 7890 # 混合代理端口(HTTP/SOCKS5 共用)socks-port: 7891 # SOCKS5 端口port: 7892 # HTTP 端口allow-lan: false # 是否允许局域网访问mode: rule # rule(规则)/ global(全局)/ direct(直连)log-level: info # silent / error / warning / info / debugexternal-controller: 127.0.0.1:9090 # API 控制端口secret: "" # API 访问密码(可选)ipv6: false # 是否启用 IPv6
# ==================== UI 面板 ====================external-ui: ui # 本地 UI 目录(yacd/metacubexd)
# ==================== DNS 配置(详见第七节)====================dns: enable: true listen: 0.0.0.0:53 enhanced-mode: fake-ip nameserver: - 223.5.5.5 - 114.114.114.114 fallback: - https://dns.alidns.com/dns-query - https://1.1.1.1/dns-query fake-ip-range: 198.18.0.1/16
# ==================== 节点(Proxies)====================# 推荐使用 Proxy Provider,详见第二节
# ==================== 节点组(Proxy Groups)====================proxy-groups: - name: "🚀 节点选择" type: select proxies: - "⚡ 自动选择" - "📡 故障转移" - "🔀 负载均衡" - "DIRECT" use: - provider1 # 引用 Proxy Provider
- name: "⚡ 自动选择" type: url-test proxies: [] use: - provider1 url: "http://www.gstatic.com/generate_204" interval: 300
- name: "📡 故障转移" type: fallback proxies: [] use: - provider1 url: "http://www.gstatic.com/generate_204" interval: 300
- name: "🔀 负载均衡" type: load-balance strategy: round-robin use: - provider1
- name: "🌍 国外流量" type: select proxies: - "🚀 节点选择" - "⚡ 自动选择"
- name: "🇨🇳 国内流量" type: select proxies: - DIRECT - "🚀 节点选择"
- name: "📢 广告拦截" type: select proxies: - REJECT - DIRECT
- name: "🐟 漏网之鱼" type: select proxies: - "🚀 节点选择" - "🌍 国外流量" - "🇨🇳 国内流量"
# ==================== 规则集(Rule Providers)====================# 详见第三节
# ==================== 规则(Rules)====================# 详见第三节
# ==================== 实验性功能(TUN)====================# 详见第四节二、Proxy Provider:节点订阅管理
2.1 从订阅加载节点
proxy-providers: # 订阅 1:主机场(自动更新节点) main-airport: type: http url: "https://your-airport.com/subscribe?token=xxx" interval: 3600 # 1 小时更新一次(秒) path: ./providers/main-airport.yaml health-check: enable: true url: http://www.gstatic.com/generate_204 interval: 300 proxy: DIRECT # 下载订阅时走直连(避免循环依赖)
# 订阅 2:备用机场 backup-airport: type: http url: "https://backup-airport.com/subscribe?code=yyy" interval: 3600 path: ./providers/backup-airport.yaml health-check: enable: true url: http://www.gstatic.com/generate_204 interval: 300
# 订阅 3:自建节点(file 类型) self-hosted: type: file path: ./providers/self-hosted.yaml health-check: enable: true url: http://www.gstatic.com/generate_204 interval: 3002.2 在分组中引用 Provider
proxy-groups: - name: "🚀 节点选择" type: select use: - main-airport # 引用 provider - backup-airport - self-hosted
- name: "⚡ 自动选择" type: url-test use: - main-airport url: "http://www.gstatic.com/generate_204" interval: 300 tolerance: 50 # 与最佳节点延迟差小于 50ms 则不切换2.3 Provider 手动更新
在 Clash Verge 中:
- 左侧边栏点击「Proxies」
- 顶部点击「Providers」
- 点击「Update All」或单个 provider 右侧的更新按钮
- 更新按钮会显示「Health Check」用于重新测试延迟
三、Rule Provider:规则集管理
3.1 规则集配置
rule-providers: # 规则集 1:广告/恶意域名拦截 reject: type: http behavior: domain url: "https://anti-ad.net/clash.yaml" path: ./ruleset/anti-ad.yaml interval: 86400 # 1 天更新一次
# 规则集 2:GFWList(需要代理的域名) proxy: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt" path: ./ruleset/gfw.yaml interval: 86400
# 规则集 3:国内域名(直连) direct: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt" path: ./ruleset/direct.yaml interval: 86400
# 规则集 4:国内 IP(直连) cn-ip: type: http behavior: ipcidr url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cn.txt" path: ./ruleset/cn.yaml interval: 86400
# 规则集 5:私有网络(直连) private: type: http behavior: ipcidr url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt" path: ./ruleset/private.yaml interval: 864003.2 规则顺序(非常重要!)
规则从上到下依次匹配,匹配到即停止。正确的顺序应该是:
rules: # 1. 本地与私有地址 → 直连 - RULE-SET,private,DIRECT
# 2. 广告/恶意域名 → 拒绝 - RULE-SET,reject,REJECT
# 3. 国内域名 → 直连 - RULE-SET,direct,DIRECT
# 4. 国内 IP → 直连 - RULE-SET,cn-ip,DIRECT
# 5. GFWList → 走代理 - RULE-SET,proxy,🌍 国外流量
# 6. 流媒体(可选) - DOMAIN-SUFFIX,netflix.com,🌍 国外流量 - DOMAIN-SUFFIX,disneyplus.com,🌍 国外流量
# 7. 本地局域网 → 直连 - DST-PORT,53,DIRECT - IP-CIDR,127.0.0.0/8,DIRECT - IP-CIDR,10.0.0.0/8,DIRECT - IP-CIDR,172.16.0.0/12,DIRECT - IP-CIDR,192.168.0.0/16,DIRECT - IP-CIDR,169.254.0.0/16,DIRECT
# 8. 最终匹配(漏网之鱼) - MATCH,🐟 漏网之鱼3.3 规则类型详解
| 规则类型 | 格式与示例 | 说明 |
|---|---|---|
DOMAIN | DOMAIN,example.com,PROXY | 精确匹配域名 |
DOMAIN-SUFFIX | DOMAIN-SUFFIX,github.io,PROXY | 匹配域名后缀 |
DOMAIN-KEYWORD | DOMAIN-KEYWORD,google,PROXY | 关键字匹配 |
IP-CIDR | IP-CIDR,192.168.1.1/24,DIRECT | IP 网段匹配 |
IP-CIDR6 | IP-CIDR6,::1/128,DIRECT | IPv6 网段 |
SRC-IP-CIDR | SRC-IP-CIDR,10.0.0.0/8,DIRECT | 源 IP 匹配 |
DST-PORT | DST-PORT,80,PROXY | 目标端口 |
SRC-PORT | SRC-PORT,8080,DIRECT | 源端口 |
PROCESS-NAME | PROCESS-NAME,chrome.exe,PROXY | 按应用程序名称(需要 TUN 模式) |
GEOIP | GEOIP,CN,DIRECT | GeoIP 国家代码匹配 |
RULE-SET | RULE-SET,gfwlist,PROXY | 引用 Rule Provider 规则集 |
MATCH | MATCH,PROXY | 匹配所有剩余流量(必须放在最后) |
四、分组策略详解
4.1 分组类型对比
| 类型 | 作用 | 适用场景 |
|---|---|---|
select | 手动选择 | 默认分组,用户自由切换节点 |
url-test | 自动选延迟最低节点 | 长期无人值守,追求稳定 |
fallback | 故障转移,按顺序尝试 | 主节点失败自动切备用 |
load-balance | 负载均衡,轮流使用 | 多节点分摊带宽 |
relay | 链式代理,多级跳板 | 多重加密/绕过特殊封锁 |
4.2 URL-Test 自动选择配置
proxy-groups: - name: "⚡ 自动选择" type: url-test use: - main-airport url: "http://www.gstatic.com/generate_204" # 测试 URL interval: 300 # 测试间隔(秒) tolerance: 50 # 与最佳节点延迟差<50ms不切换 lazy: true # 仅在有流量时测试4.3 Fallback 故障转移
proxy-groups: - name: "📡 故障转移" type: fallback proxies: - "香港节点1" # 优先使用 - "日本节点2" # 1 失败时切到 2 - "新加坡节点3" # 2 失败时切到 3 url: "http://www.gstatic.com/generate_204" interval: 3004.4 推荐的分组结构
🚀 节点选择(select)├── ⚡ 自动选择(url-test,按延迟选)├── 📡 故障转移(fallback,顺序尝试)├── 🔀 负载均衡(load-balance,轮流使用)└── 所有节点...
🌍 国外流量(select) → 引用 🚀 节点选择🇨🇳 国内流量(select) → DIRECT📢 广告拦截(select) → REJECT🐟 漏网之鱼(select) → 引用 🚀 节点选择(未知流量默认代理)五、TUN 模式:真正的全局代理
5.1 TUN 原理图解
应用程序发出请求 ↓操作系统路由表 ↓TUN 虚拟网络接口(198.18.0.1)← Clash Verge 创建 ↓Clash Verge 内核处理 ├─ 匹配规则 → 直连 / 代理 ├─ 规则分流 └─ DNS 解析(fake-ip / redir-host) ↓物理网络接口 → 目标服务器5.2 TUN 配置(Clash Verge Rev)
# Clash Verge Rev 自带实验性 TUN 支持tun: enable: true # 启用 TUN 模式 stack: system # system / gvisor / mixed device: Meta # 虚拟网卡名称 auto-route: true # 自动设置路由 auto-detect-interface: true # 自动检测网络接口 strict-route: true # 严格路由(防止地址泄漏) dns-hijack: # DNS 劫持 - any:53 - tcp://any:53 route-exclude-address-set: # 排除的地址 - 192.168.0.0/16 - 10.0.0.0/8 - 172.16.0.0/125.3 TUN 模式适用场景
| 场景 | 是否需要 TUN | 说明 |
|---|---|---|
| 浏览器访问海外网站 | ❌ 不需要 | 系统代理足够 |
| 命令行工具(git/curl/pip) | ⚠️ 可选 | 可手动设置代理环境变量 |
| WSL / Linux 虚拟机 | ✅ 需要 | 无法自动走系统代理 |
| Steam / Epic / 游戏 | ✅ 需要 | 游戏大多不支持系统代理 |
| Windows Store / UWP 应用 | ✅ 需要 | 忽略系统代理设置 |
| IDE 插件更新 | ⚠️ 可选 | 可配置应用内代理 |
| Docker / Kubernetes | ✅ 需要 | 容器内应用直连网络 |
| Adobe 全家桶 | ✅ 需要 | 后台进程直连验证服务器 |
5.4 Windows/macOS 启用 TUN 步骤
【Windows】1. 安装 Clash Verge Rev(官网/社区版)2. 首次启动需要管理员权限(创建虚拟网卡)3. 设置 → 系统设置 → TUN 模式 → 开启4. 模式选择:系统 / gvisor / mixed(推荐 mixed)5. 勾选「自动路由」「严格路由」6. 防火墙提示允许访问
【macOS】1. 安装 Clash Verge Rev(dmg 安装)2. 首次启动需要授权「网络扩展」权限3. 设置 → TUN 模式 → 开启4. 输入密码授权安装虚拟网卡5. 系统偏好设置 → 网络 → 确认 Meta 网络接口已启用六、DNS 配置与防污染
6.1 推荐 DNS 配置
dns: enable: true listen: 0.0.0.0:53 enhanced-mode: fake-ip # fake-ip / redir-host fake-ip-range: 198.18.0.1/16 fake-ip-filter: # fake-ip 白名单(真实域名解析) - "*.lan" - "*.local" - "*.msftconnecttest.com" - "*.msftncsi.com" nameserver: # 国内域名 DNS(直连查询) - 223.5.5.5 # 阿里 DNS - 114.114.114.114 # 114 DNS - 223.6.6.6 # 阿里 DNS 2 fallback: # 国外域名 DNS(DoH) - https://dns.alidns.com/dns-query - https://1.1.1.1/dns-query - https://dns.google/dns-query default-nameserver: # 解析 DoH 服务器自身用(避免循环) - 223.5.5.5 - 114.114.114.114 proxy-server-nameserver: # 代理服务器连接时使用的 DNS - 223.5.5.5 - 1.1.1.16.2 fake-ip vs redir-host
| 模式 | 原理 | 速度 | 兼容性 | 推荐场景 |
|---|---|---|---|---|
| fake-ip | 返回虚拟 IP(如 198.18.x.x),在 Clash 内部完成解析 | ⚡ 极快 | 普通应用 99% 兼容 | 大多数用户推荐 |
| redir-host | 返回真实 IP,域名在本地解析后转发 | 🐢 较慢 | 100% 兼容 | 特殊应用、内网穿透 |
6.3 DNS 泄漏问题排查
访问 https://dnsleaktest.com 测试 DNS 泄漏
预期结果:✅ 只显示国内 DNS(阿里/114)或代理后的 DNS❌ 不应同时出现中国和海外 DNS(说明 DNS 配置错误)
常见问题:1. 同时出现国内+海外 DNS:系统代理未设置或 fallback 泄漏2. DNS 查询极慢:fallback 超时,检查 DoH 可达性3. 部分网站打不开:fake-ip-filter 缺少白名单(如 msftconnecttest 等)七、脚本与触发器自动化
7.1 自动切换节点脚本
# 使用 profile 管理多配置# 在 Clash Verge 中可添加多个配置文件
# 方案 1:定时 URL-Test(已内置)# 在 proxy-group 中设置 interval 即可自动测试
# 方案 2:根据网络环境自动切换规则# 在 config.yaml 中添加不同的 rules 模板
# 方案 3:不同时间段使用不同节点(简单脚本)# Windows PowerShell 示例(定时任务调用 API)# 周一至周五 9:00-18:00 用日本节点# $headers = @{"Authorization" = "Bearer your-secret"}# Invoke-RestMethod -Uri "http://127.0.0.1:9090/proxies/日本节点/select" -Method PUT -Headers $headers7.2 API 调用示例(进阶)
# 1. 获取所有节点curl -X GET http://127.0.0.1:9090/proxies
# 2. 切换分组节点curl -X PUT -H "Content-Type: application/json" \ -d '{"name":"日本节点"}' \ http://127.0.0.1:9090/proxies/🚀%20节点选择
# 3. 获取延迟curl http://127.0.0.1:9090/proxies/日本节点/delay?timeout=5000&url=http://www.gstatic.com/generate_204
# 4. 获取当前连接数curl http://127.0.0.1:9090/connections
# 5. 关闭所有连接curl -X DELETE http://127.0.0.1:9090/connections
# 6. 获取流量统计curl http://127.0.0.1:9090/traffic八、实用技巧与最佳实践
8.1 完整的 Mixin(合并策略)
# 在 Clash Verge 中设置 Mixin(设置 → 覆写)# Mixin 用于在订阅提供的基础配置上追加自定义内容
# 示例:添加自定义规则mixin: rules: - DOMAIN,your-private-domain.com,DIRECT - PROCESS-NAME,wechat.exe,DIRECT - PROCESS-NAME,qq.exe,DIRECT dns: enable: true enhanced-mode: fake-ip nameserver: - 223.5.5.5 fallback: - https://dns.alidns.com/dns-query
# 注意:Mixin 会合并到所有 profile,适合全局规则8.2 订阅链接转换
# 如果机场提供的订阅格式不兼容 Clash Verge# 使用订阅转换服务:
# 方法 1:使用公共转换服务(简单)# https://subconverter.example.com/sub?target=clash&url=你的订阅
# 方法 2:自建转换服务(推荐)# https://github.com/tindy2013/subconverter8.3 流量监控与统计
在 Clash Verge 中:1. 左侧「Connections」标签查看当前连接2. 顶部「Traffic」查看实时流量图表3. 底部状态栏显示累计上传/下载
定期关注:- 长时间无流量的连接 → 可能需要关闭- 异常大量上传 → 可能有恶意软件- 特定域名频繁请求 → 考虑添加规则8.4 多机场备份策略
proxy-groups: - name: "🚀 主节点" type: select use: - main-airport # 主机场
- name: "🎯 备用节点" type: select use: - backup-airport # 备用机场
- name: "⚡ 自动选择" type: fallback proxies: - "🚀 主节点" - "🎯 备用节点" # 主机场失败自动切换备用 url: "http://www.gstatic.com/generate_204" interval: 300九、常见问题排错
Q1: 开启 TUN 后无法上网
排查步骤:1. 确认 Clash Verge 有管理员权限(Windows)或网络扩展授权(macOS)2. 检查虚拟网卡:Windows 设备管理器 / macOS 网络偏好设置3. 在设置 → TUN 模式 → 点击「重置」4. 确认 DNS 配置正确(fake-ip 模式需要正常的 fallback DNS)5. 重启 Clash Verge6. 如果仍失败,尝试 gvisor stack 替代 system stackQ2: 浏览器无法访问内网地址
原因:fake-ip 将内网地址解析为虚拟 IP解决:在 fake-ip-filter 添加内网域名白名单
fake-ip-filter: - "*.local" - "*.lan" - "router.local" - "192.168.*" - "10.*" - "172.16.*" - "172.17.*" - "172.31.*"Q3: 某些应用打不开(微信 / QQ / Steam)
方法 1:使用 PROCESS-NAME 规则直连- PROCESS-NAME,wechat.exe,DIRECT- PROCESS-NAME,steam.exe,DIRECT
方法 2:使用 TUN 模式(推荐)
方法 3:在应用内部设置代理(某些应用支持)
方法 4:使用系统级代理而非 Clash Verge 系统代理按钮# 手动设置系统代理:# HTTP: 127.0.0.1:7892# SOCKS: 127.0.0.1:7891Q4: YouTube/Netflix 缓冲卡顿
1. 切换节点:手动选择延迟低的港/日/新节点2. 启用负载均衡:将多个节点放入 load-balance 分组3. 检查 DNS:确保国外域名通过 DoH 查询4. 调整 MTU:TUN 模式下尝试减小 MTU(1380/1400)5. 升级订阅:部分机场线路对流媒体有限速Q5: 订阅更新失败
1. 检查订阅链接是否正确(在浏览器中打开)2. 检查代理设置:下载订阅时应走直连(或关闭模式为 direct)3. 在 provider 中添加 proxy: DIRECT4. 使用订阅转换服务(见 8.2)5. 手动下载文件后使用 file 类型 ProviderQ6: 规则集(Rule Provider)加载失败
1. 检查 URL 是否可访问(浏览器打开)2. 检查行为类型:domain vs ipcidr vs classical(必须与规则文件格式匹配)3. 在 Clash Verge → Providers → 手动点击刷新4. 使用 CDN 镜像替代原始地址(如 jsDelivr 加速 GitHub 资源)5. 查看日志(log-level: debug 可查看详细错误)十、推荐配置模板
# 最简配置:仅使用 Proxy Provider + Rule Providermixed-port: 7890allow-lan: falsemode: rulelog-level: warningexternal-controller: 127.0.0.1:9090
# DNSdns: enable: true enhanced-mode: fake-ip nameserver: [223.5.5.5, 114.114.114.114] fallback: [https://dns.alidns.com/dns-query, https://1.1.1.1/dns-query] fake-ip-range: 198.18.0.1/16
# 节点订阅proxy-providers: main: type: http url: "https://your-airport.com/subscribe/xxx" interval: 3600 path: ./providers/main.yaml health-check: {enable: true, url: "http://www.gstatic.com/generate_204", interval: 300}
# 规则集rule-providers: reject: type: http, behavior: domain url: "https://anti-ad.net/clash.yaml" path: ./ruleset/reject.yaml, interval: 86400 gfw: type: http, behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt" path: ./ruleset/gfw.yaml, interval: 86400 direct: type: http, behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt" path: ./ruleset/direct.yaml, interval: 86400
# 节点组proxy-groups: - {name: "🚀 节点选择", type: select, use: [main]} - {name: "⚡ 自动选择", type: url-test, use: [main], url: "http://www.gstatic.com/generate_204", interval: 300} - {name: "🌍 国外流量", type: select, proxies: ["🚀 节点选择", "⚡ 自动选择"]} - {name: "🇨🇳 国内流量", type: select, proxies: [DIRECT, "🚀 节点选择"]} - {name: "📢 广告拦截", type: select, proxies: [REJECT, DIRECT]} - {name: "🐟 漏网之鱼", type: select, proxies: ["🌍 国外流量", "🇨🇳 国内流量"]}
# 规则rules: - RULE-SET,reject,📢 广告拦截 - RULE-SET,gfw,🌍 国外流量 - RULE-SET,direct,🇨🇳 国内流量 - GEOIP,CN,🇨🇳 国内流量 - MATCH,🐟 漏网之鱼总结:Clash Verge / Clash Verge Rev 不只是一个代理客户端,更是智能流量调度系统。掌握 Proxy/Rule Provider 让配置自动更新,分组策略实现智能选路,TUN 模式覆盖所有应用。花费 1 小时完善配置,可换来长期的稳定与便捷。
Clash Verge / Clash Verge Rev 进阶配置完全指南:规则、分流与性能调优
https://971918.xyz/posts/proxy-tools/clash-verge-advanced-config/