深浅外观
Clash Verge 核心功能全景解析:分流规则、TUN 虚拟网卡与脚本合并
直接答案:Clash Verge 之所以能在短时间内成为最主流的现代化代理桌面客户端,核心在于其在 “极低内存开销(Rust + Tauri 架构)” 的基础上,集成了 三大工业级技术支柱:基于多重维度的智能规则分流引擎、接管操作系统网络协议栈的 TUN 虚拟网卡、以及实现配置动态缝合的 Merge / Script 扩展机制。深入掌握这三大能力,能让网络代理从简单的“翻墙工具”升维为高效可控的网络中枢。
推广与免责披露:本站部分内容包含赞助/推广链接(已强制设置
rel="nofollow sponsored noopener")。若您通过链接购买,我们可能获得微薄佣金用于维持服务器与测试宽带成本,这绝不影响评测的独立性与客观事实。请依法依规使用网络工具。 一、Clash Verge 数据流向与核心工作流架构
数据包从用户本地应用程序出发,经过 Clash Verge 内核与分流决策,最终通过专线隧道到达海外服务器的完整全流程如下:
text
[本地应用程序 (浏览器 / 终端 / 游戏)]
│
▼
【流量接管层】
├─ 方式 A: 系统代理 (System Proxy) ── 监听 127.0.0.1:7890 端口
└─ 方式 B: TUN 虚拟网卡 (Wintun 驱动) ── 操作系统 L3 IP 层透明捕获
│
▼
【DNS 增强解析与嗅探层】
├─ 域名嗅探器 (Sniffer):提取 TLS SNI 与 HTTP Host
└─ Fake-IP 映射池:秒级返回 198.18.x.x 虚拟 IP,消除外网解析等待
│
▼
【规则分流决策层 (Rules)】
├─ 从上至下扫描规则链 (DOMAIN / IP-CIDR / GEOSITE / GEOIP)
└─ 判定目标:DIRECT (直连) / REJECT (拦截) / PROXY (策略组)
│
▼
【策略调度层 (Proxy Groups)】
├─ select (手动选择) / url-test (自动测速最优) / fallback (故障转移)
│
▼
【出站隧道加密传输 (Proxies)】
└─ 通过 VLESS / SS / Trojan 纯内网专线送达境外落地服务器二、智能分流规则引擎深度拆解
分流规则是 Clash Verge 的灵魂。内核在处理每一个数据包时,严格按照配置文件中的书写顺序从上到下逐行扫描,一旦命中立即执行对应动作并终止后续匹配(短路求值逻辑)。
1. 核心规则匹配类型全览表:
| 规则匹配类型 | 语法示例 | 匹配核心机制 | 最佳应用场景 |
|---|---|---|---|
DOMAIN-SUFFIX | DOMAIN-SUFFIX,google.com,PROXY | 匹配主域名及其全部二级、三级子域名 | 海外搜索引擎、大型平台全站分流 |
DOMAIN-KEYWORD | DOMAIN-KEYWORD,youtube,PROXY | 只要请求域名中包含该关键词字符串即命中 | 视频平台、CDN 资产分流 |
DOMAIN | DOMAIN,api.openai.com,AI-NODE | 严格完整全匹配,一字不差 | 特定 API 接口定向锁定低延迟专线 |
IP-CIDR | IP-CIDR,192.168.0.0/16,DIRECT | 匹配特定 IPv4 地址段范围 | 局域网内网穿透、NAS 访问直连 |
GEOIP | GEOIP,CN,DIRECT | 基于 IP 离线地理数据库匹配所属国家 | 国内所有网站自动直连,不耗流量 |
GEOSITE | GEOSITE,bilibili,DIRECT | 现代 Mihomo 高精域名数据库分类 | 精准放行国内流媒体与常用应用 |
PROCESS-NAME | PROCESS-NAME,telegram.exe,PROXY | 抓取发出网络连接的本地进程二进制名称 | 针对特定桌面软件单独配置路由 |
MATCH | MATCH,FINAL-PROXY | 终极漏斗:前置规则未命中时的默认流向 | 全局兜底策略,防范未知海外流量漏回 |
三、TUN 虚拟网卡模式:全局流量与游戏无缝接管
很多用户抱怨:“为什么在命令行终端里执行 curl 或 git clone 还是超时?为什么 Steam 游戏联机不走代理?” 这是因为传统系统代理仅适用于支持读取 Windows 代理环境变量的软件。
系统代理 vs TUN 模式全维度技术对比:
| 评估维度 | 普通系统代理 (System Proxy) | TUN 虚拟网卡模式 (TUN Mode) |
|---|---|---|
| 接管层级 | 应用层(依赖软件自身读取系统注册表) | 网络层(OS L3 协议栈内核驱动) |
| UDP 协议支持 | ❌ 大多数场景不支持 UDP 转发 | ✅ 原生透明转发所有 UDP 数据包 |
| 终端命令行接管 | ❌ 需要手动在终端 export http_proxy | ✅ 终端、Git、Docker、WSL2 秒级接管 |
| 外服游戏加速 | ❌ 无法接管游戏引擎私有网络协议 | ✅ 完美替代网游加速器,低延迟联机 |
| 运行权限要求 | 普通用户权限即可开启 | 需管理员提权加载 Wintun 虚拟驱动 |
| CPU/内存消耗 | 极低(约 30MB 内存) | 略高(增加微小驱动调度开销,约 40MB) |
配置建议: 日常办公浏览网页建议保持系统代理;若需进行代码开发、Docker 镜像拉取或畅玩海外游戏,推荐在设置中安装服务模式并常开 TUN 模式。详见:TUN 模式配置完整图文教程。
四、Merge 扩展配置与 Script 脚本引擎:动态配置防冲覆盖
在旧版客户端中,用户如果想加几条个性化规则,必须直接改 .yaml 文件;但一旦点击更新订阅,所有手动修改瞬间化为乌有。
Clash Verge 引入了 Merge (扩展配置) 与 Script (脚本) 功能,彻底终结了这一痛点:
1. Merge (预处理追加规则) 实战代码示例:
在 Clash Verge 中新建 Merge 配置,输入以下代码即可将您的专属规则永久锁定在所有订阅规则的最顶端:
yaml
# 扩展配置:prepend-rules 会自动置顶合并到订阅配置中
prepend-rules:
# 1. 确保个人常用 AI 服务无论何时都走极速专线
- DOMAIN-SUFFIX,openai.com,PROXY
- DOMAIN-SUFFIX,chatgpt.com,PROXY
- DOMAIN-SUFFIX,anthropic.com,PROXY
- DOMAIN-SUFFIX,claude.ai,PROXY
# 2. 确保国内开发代码托管平台绝对直连,避免降速
- DOMAIN-SUFFIX,gitee.com,DIRECT
- DOMAIN-SUFFIX,csdn.net,DIRECT
- DOMAIN-SUFFIX,aliyun.com,DIRECT
# 3. 拦截常见广告追踪域名
- DOMAIN-KEYWORD,adservice,REJECT
- DOMAIN-KEYWORD,telemetry,REJECT2. Script 脚本引擎(JavaScript 动态编程):
对于需要动态计算的高阶玩家,Clash Verge 支持编写纯 JS 脚本在配置加载前对节点进行过滤筛选: 例如,自动剔除名称中带有“高倍率”、“测试”或“回国”的不可用节点:
javascript
function main(config) {
// 过滤掉所有倍率大于 2x 或含特定字眼的节点
config.proxies = config.proxies.filter(proxy => {
return !proxy.name.includes('高倍') &&
!proxy.name.includes('回国') &&
!proxy.name.includes('Test');
});
return config;
}五、Rule Provider:外部高精规则集自动联动
如果您不愿手动维护冗长的域名白名单,可以利用 Mihomo 的 rule-providers 语法,自动同步全网开源社区维护的高质量分流数据库:
yaml
rule-providers:
# 广告拦截规则集(每日自动从 GitHub 同步)
reject:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
# 被墙域名高精列表
gfw:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/gfw.txt"
path: ./ruleset/gfw.yaml
interval: 86400
rules:
- RULE-SET,reject,REJECT
- RULE-SET,gfw,PROXY
- GEOIP,CN,DIRECT
- MATCH,PROXY六、常见问题解答 (FAQ)
1. 规则顺序写错了会导致什么后果?
会导致分流误判。例如:如果您把 MATCH,PROXY 写在了第一行,所有请求在第一行就会直接命中并走代理,下方所有的国内直连规则将永久失效。因此,特殊具体的精确规则写在前面,通用的 GEOIP 与 MATCH 必须放在末尾。
2. 开启 TUN 模式后电脑无法上网怎么排查?
通常是由于原网卡 DNS 冲突或虚拟网卡驱动未正确释放。在设置中关闭 TUN 模式,并在网络连接面板中确认 Wintun Userspace Tunnel 虚拟网卡状态正常。
3. Merge 扩展配置支持为不同的订阅单独定制吗?
支持。您可以创建多个独立的 Merge 配置,并在“扩展配置”管理界面中按需勾选或取消关联。
4. 客户端内置的规则更新频率建议设为多少?
外部规则集通常每天更新一次即可,建议将 interval 设置为 86400(秒,即 24 小时),既能保证规则最新,又不会给系统增加后台开销。