全局和规则是出站模式的两档,写在内核 mihomo 的配置里 [1],管的是请求进了客户端以后交给节点还是直连。请求进不进得来是前一段的事,归另一组开关。系统代理、TUN 和终端里单独设的环境变量各接一类程序,其中系统代理这个开关不在内核的配置里,是 Clash Verge Rev 这层界面替你写进注册表的 [9]。切到全局,动的只是后一段。前一段没接进来的请求,出站模式拨到哪一档都管不着它,Clash Verge Rev 的连接页里也查不到这条连接,模式拨来拨去都是白拨。2026-10-30 我把 mihomo 和 Clash Verge Rev 的文档、两套常用规则集和自己电脑的注册表对了一遍,后面每组开法都照这一天的版本写。
我电脑上的 Clash Verge Rev 还是 2.4.7,内核是 mihomo,没升到代理软件那页写的 2.5.8,安卓和 iPhone 装什么也在那页。注册表里系统代理写的是 127.0.0.1:7897,下面的端口都照这个写,你的端口去自己客户端的设置里看。这页只讲 Windows。
五个场景,八组开法
表里每组写三样,出站模式、流量怎么交到客户端手里、这个场景要补的那一条。出站模式在 mihomo 配置里叫 mode,可选规则、全局、直连,不写就按规则走 [1]。把流量交给客户端的办法有两种。系统代理是客户端把自己的端口写进注册表这类系统约定的位置,肯去读的程序才会把请求送过来;TUN 是在系统里添一张虚拟网卡,再改路由,把 TCP 和 UDP 都引进去 [2]。
| 场景 | 出站模式 | 交给客户端的方式 | 要补的一条 | 代价和我没核到的 |
|---|---|---|---|---|
| 国服游戏 | 规则 | 系统代理,TUN 关掉 | 不用补 | TUN 开着时,游戏的包也要先过一遍内核 |
| 外服游戏 | 规则 | TUN | GEOSITE,steam@cn,DIRECT,下载留在国内 CDN |
节点支不支持 UDP、延迟多少,我没测过 |
| 国内网盘 | 规则 | 系统代理 | 不用补,19 家网盘在国内分类里 | 切到全局,下载绕境外节点,扣流量 |
| 国外网盘 | 规则 | 系统代理,同步客户端不认就开 TUN | 不用补 | 同步大文件吃流量,上传算不算流量资料里没写 |
| 公司内网 | 规则 | 系统代理,公司 VPN 连着时不开 TUN | 绕过名单加公司域名,开 TUN 时再补直连规则和 DNS | 装客户端前先问 IT |
| 看直播 | 规则 | 系统代理 | 不用补 | 国内平台的码率我没核到 |
| 推流 | 规则 | TUN | 不用补,看一眼推流域名走了代理 | 上行带宽我没测过 |
| 命令行 | 规则 | 环境变量,或者 TUN | no_proxy 写上内网 |
TUN 加 fake-ip 时,域名会解析成 198.18 开头的地址 |
八行没有一行写全局。全局模式下,所有请求都交给 GLOBAL 组里选中的那一个 [1],国内站的请求也跟着出境再绕回来。我只在两种时候切过去。一种是怀疑规则把哪个站判错了,切过去对照一下;另一种是规则里漏了某个海外站,临时切过去,用完就回来。切之前先看一眼 GLOBAL 组里选的是谁,Clash Verge Rev 的说明写的是全局从手工选定的节点或本地网络出去 [2],组里选着直连,全局就等于没开。
打游戏,国服什么都不用动,外服才要 TUN
国服游戏开着系统代理就行,不用为它改任何设置。游戏的实时数据多数走 UDP,系统代理接不住 UDP,Clash Verge Rev 术语页举的例子正好是游戏数据包 [2]。游戏自己的连接照旧从网卡直接出去,客户端碰不到。启动器里的商店页、公告页这类网页请求,要是认系统代理,就会进客户端,规则模式下按国内地址放直连。
TUN 开着就不一样了。虚拟网卡把所有 TCP 和 UDP 接进内核,国服的包在规则里命中 GEOIP,CN 落到直连,可每个包都要先在内核里转一道再出门。mihomo 有 PROCESS-NAME 规则,能把游戏进程单独写成直连 [3],它管的是出门以后走哪条路,包照样先进虚拟网卡。mihomo 的 TUN 文档里,按应用或用户排除流量的选项只给了安卓包名和 Linux 用户编号 [4],Windows 上没有对应的写法。打国服,干脆把 TUN 关掉。
外服要让游戏的包过节点,就得开 TUN,节点那头还要支持 UDP。mihomo 的规则文档写着,节点不支持 UDP 时,UDP 请求会接着往下匹配后面的规则 [3],游戏的包最后落在哪一条,看你规则的末尾怎么写。34 家的资料我翻过,没有一家写节点支不支持 UDP。我测过的 8 家,记的是节点平均速度和解锁结果,只有灵动云那一轮记了 HTTPS 延迟,757 到 2758 毫秒。那是一次 HTTPS 请求的来回时间,和游戏里显示的延迟不是一种数,外服延迟我没测过。打对战类的外服,我会换专门的游戏加速器,它们到底加速哪些东西,我在UU、雷神那一页逐家读了服务说明。
开着 TUN,Steam 的下载也会进内核,值得单独写一条规则。MetaCubeX 的规则库里有一份 steam@cn,19 行,国内几家 CDN 上的 Steam 下载域名都在里面,同一个库说明里的示例配置写着 GEOSITE,steam@cn,DIRECT [5]。不写这条,下载域名解析出国内地址时也会在规则末尾的 GEOIP,CN 落到直连,写上它,就不用指望 DNS 每回都给国内地址。Loyalsoldier 的说明两样都提了,示例配置用的是范围更大的 category-games@cn,说设成直连能省下大量服务器流量 [6]。MetaCubeX 那份 category-games@cn 有 37 行,Steam 这几个下载域名也在里面。
网盘,国内 19 家本来就在直连名单里
v2fly 的域名表里有一个国内网盘分类,百度网盘、夸克、阿里云盘、115、天翼云盘、中国移动云盘、123云盘、坚果云、微云都在,连同奶牛快传、蓝奏云这类传文件的,我数了是 19 家。这个分类整份并进了国内总表 geolocation-cn,v2fly 的 cn 名单又由 geolocation-cn 和 tld-cn 两份拼成 [7],mihomo 文档说 GEOSITE 的数据部分参考这套名单 [3]。订阅规则里有 GEOSITE,cn,DIRECT 这一条,这 19 家就落在直连里,下载和上传都不经过节点。
切到全局,这些下载全部绕到境外节点再回来,速度看节点的线路,流量从套餐里扣。34 家各自的入门档,按我在核对方法里的定义,取一年以内的周期套餐里折到每月最便宜的那一档,其中 17 家每月 60GB。从国内网盘拉一个 6GB 的文件,就用掉这一档十分之一的月流量。
国外网盘本来就得过节点。白名单写法里,一个请求哪条规则都没命中,最后交给代理 [8],Google Drive、Dropbox 用不着专门写规则。要盯的是量,同步一个 60GB 的文件夹,就是那 17 家入门档一整个月的流量。备份是往外传,机场按不按上行计流量,34 家的资料里都没写。各家同步客户端认不认系统代理,我没逐个核,拿不准的就开 TUN。
公司内网,绕过名单里缺公司那一行
2026-10-30 我看了一眼自己电脑的注册表。ProxyEnable 是 0,系统代理这会儿关着,ProxyOverride 里留着 Clash Verge Rev 写进去的绕过名单,一共 21 项,localhost、127 开头、192.168 开头、10 开头各一项,172.16 到 172.31 占 16 项,最后是 <local>。名单上的地址,浏览器直接去连,不进客户端。仓库 dev 分支源码里的 Windows 默认名单比这多一个 *.local [9],我装的 2.4.7 没有,2.5.8 带没带上我没核。
最后那个 <local>,微软的文档写得清楚,主机名里不带点的才绕过 [10]。内网系统用 http://oa/ 这种不带点的短名字,它管用;写成 oa.corp.example.com 这种完整域名,名单上没有一项对得上,请求照样进客户端。进了客户端,规则里找不到这个域名,往下走到按 IP 判断的那几条,内核得先把域名解析出来 [3]。客户端里配的要是公共 DNS,只在公司里有效的名字解析不出来,请求要么失败,要么一路走到最后那条 MATCH 被送去节点,节点当然进不了你们公司。
最省事的补法是把公司域名加进绕过名单。Windows 设置里代理页的例外列表用分号隔开 [11],名单认 * 通配符 [10]。Clash Verge Rev 的系统代理设置里也有一栏代理绕过设置,还有一个始终使用默认绕过的选项 [12],保持打开,再加一项 *.corp.example.com。源码里写明这个选项开着时,默认名单会和你加的拼在一起 [9],那 21 项不会丢。加完以后,浏览器访问内网就不经过客户端了。
TUN 开着,或者有程序不认系统代理,内网流量还是会进内核,这时候规则和 DNS 两头都要补。Clash Verge Rev 里右键订阅选编辑规则,加一条前置规则,前置规则排在订阅自带的规则前面,订阅更新也不会把它冲掉 [13]。DNS 那边把公司域名指给公司的服务器,配置文件里是下面这几行。
mihomo 配置 · 公司域名走直连,交给公司 DNS(域名和地址换成你们公司的)
dns:
nameserver-policy:
'+.corp.example.com': '10.0.0.53'
fake-ip-filter:
- '+.corp.example.com'
rules:
- DOMAIN-SUFFIX,corp.example.com,DIRECT
nameserver-policy 让这个后缀下的域名只问指定的那台 DNS,写法照 mihomo 文档里 '+.arpa': '10.0.0.1' 那个例子 [14]。fake-ip-filter 是给 fake-ip 模式准备的,这种模式下内核先回给程序一个 198.18 开头的假地址 [14],内网域名放进过滤名单,程序拿到的才是真地址。Clash Verge Rev 把这部分放在 DNS 覆写里,设置窗口上写着不清楚这里的设置就别改,保持 DNS 覆写关闭 [12]。没把握的话,绕过名单那一招已经够浏览器用。
内网系统直接用 IP 访问的,规则集里已经写好了。RFC 1918 留给内网的三段是 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16 [15],Loyalsoldier 的局域网名单 lancidr 一共 28 条,这三段都在,100.64.0.0/10、198.18.0.0/15 这些保留段也在,推荐的规则顺序里它排在 MATCH 前面,走直连 [8]。
公司另配了 VPN 的,VPN 连着的时候我不开 TUN。两边都要改系统路由,Clash Verge Rev 的常见问题里,开 TUN 后网络异常那一条给的原因,就是系统里多张网卡、多个网段和配置里的规则冲突 [16]。mihomo 的 TUN 可以用 route-exclude-address 把公司网段排除出去,strict-route 在 Windows 上会加防火墙规则防 DNS 泄漏,文档自己提醒它可能让 VirtualBox 这类程序用不了 [4]。微软的说明页还写着,连着 VPN 又要用代理,得给那条 VPN 连接单独设一遍 [11]。公司电脑装代理客户端之前先问 IT,这页不教怎么绕开公司的规定。
直播,看和推是两套开法
看直播最省心。B 站、斗鱼、虎牙、抖音、快手都在 v2fly 的国内娱乐分类里,这个分类同样整份并进了国内总表 [7],规则模式下直连,不扣流量。YouTube 这类海外平台的直播过节点,按小时扣。几种常见用法每小时走多少 GB,我在讲星岛梦(StarDream)流量账单的那一页列过换算表,这里不重抄。
推流麻烦一点。OBS 论坛里,开发者 R1CH 2017 年回帖说 OBS 没有内建的代理支持 [17],2020 年又在另一帖里说,RTMP 没法经过传统的 HTTP 代理,要能直接连出 TCP 1935 端口 [18]。两句话都是几年前的,现在的版本变没变,我没核到。照这个说法,系统代理帮不了推流,要推到海外平台就开 TUN,让虚拟网卡把推流连接接进来,规则模式下推流地址的域名按平台分到代理。
推流是一刻不停的上行,流量能算出来。YouTube 的直播编码器设置页给了 H.264 推流的码率,1080p 30 帧最低 5 Mbps、建议 14 Mbps,60 帧建议 17 Mbps,720p 最低 3 Mbps、建议 8 Mbps,立体声音频 128 Kbps [19]。我把视频加音频换成每小时多少 GB,再拿 34 家的入门档去除。入门档流量最少的是快狸和 Sogo云,每月 30GB,中位数 60GB,最多的是微风网络,每月 100GB。
| 画质与码率 | 每小时流量 | 30GB 档 | 60GB 档 | 100GB 档 |
|---|---|---|---|---|
| 720p 最低 3 Mbps | 1.41 GB | 21.3 小时 | 42.6 小时 | 71.0 小时 |
| 1080p 30 帧最低 5 Mbps | 2.31 GB | 13.0 小时 | 26.0 小时 | 43.3 小时 |
| 720p 建议 8 Mbps | 3.66 GB | 8.2 小时 | 16.4 小时 | 27.3 小时 |
| 1080p 30 帧建议 14 Mbps | 6.36 GB | 4.7 小时 | 9.4 小时 | 15.7 小时 |
| 1080p 60 帧建议 17 Mbps | 7.71 GB | 3.9 小时 | 7.8 小时 | 13.0 小时 |
算法是视频码率加 128 Kbps 音频,乘 3600 秒再除以 8,1GB 按 1000MB 算。表里有两处我没核到。上行算不算进套餐流量,34 家里我没见哪家写过,表里按全算;节点的上行带宽我也没单独测过。按建议码率推 1080p 30 帧,60GB 的档一个月推九个多小时就见底,每周开播的人得往大流量的档上看。
命令行,终端要单独设一遍
curl 的文档说,系统里那几种自动找代理的办法它一种都不支持 [20],得你明着告诉它。微软的文档写着,浏览器在内的多数程序按预设配置联网,读的是注册表里 ProxyEnable、ProxyServer、ProxyOverride 这三项 [10],curl 不在其中。它认环境变量,git 也认这一套,只是 git 早先设过 http.proxy 的话,这一项会盖过环境变量 [21],端口改了要一起改。git 和 curl 单条命令的写法,代理推荐那页给过,这里写在一个 PowerShell 窗口里整段生效的做法。
终端 · PowerShell,只对当前窗口生效,端口换成你客户端的
$env:http_proxy = "http://127.0.0.1:7897"
$env:https_proxy = "http://127.0.0.1:7897"
$env:no_proxy = "localhost,127.0.0.1,.corp.example.com,10.0.0.0/8"
curl.exe -I https://example.com/no_proxy 用逗号隔开,点开头的写法管整个域,curl 7.86.0 起还能写网段 [22],我这台电脑自带的 curl.exe 是 8.21.0,写网段没问题。curl 的文档写着 http_proxy 只认小写 [22],这条在 Linux 和 macOS 上要紧。2026-10-30 我把变量换成大写的 HTTP_PROXY 试了一次,curl.exe 照样读到了,Windows 的环境变量名不分大小写。最后一行写 curl.exe,是因为 Windows 自带的 PowerShell 5.1 里,光写 curl 会被当成 Invoke-WebRequest 的别名,上面设的变量是给 curl.exe 准备的。窗口一关变量就没了,系统代理那边不受影响。这几行也不用手敲,Clash Verge Rev 能直接复制出来,格式在设置里挑,那一项叫复制环境变量类型 [12][16]。
不想设变量,就开 TUN,终端里的程序不用知道代理在哪。客户端的 DNS 开着 fake-ip 时,在终端里查域名,看到的是 198.18 开头的地址 [14],那是内核发的假地址,连接进了内核会被认回原来的域名再去匹配规则,DNS 没坏。
十一万行国内名单,全局模式下一行都不用
规则模式能少走多少节点流量,看规则集把多少地址划给了直连。mihomo 文档里 geox-url 的示例地址指向 MetaCubeX 的 meta-rules-dat [1],2026-10-30 我打开它的文件页看了行数,国内域名表 cn.list 110177 行,国内 IP 段的 cn.list 10012 行 [5]。Loyalsoldier 给 Clash 用的那套每天北京时间早上 6 点半自动构建一次 [8],国内 IP 段 cncidr 是 10013 行,去掉开头那行 payload,也是 10012 条,两家条数一样;国内域名表 direct.txt 有 2.18 MB,GitHub 网页版提示文件太大,不给显示 [8]。命中这些名单的请求,规则模式下从你的网卡直接出去,不碰节点,也不算机场的流量。
名单没收的国内站,多数也会落到直连。Loyalsoldier 推荐的白名单写法,域名规则后面还排着 lancidr、cncidr 和 GEOIP,CN 这几条按 IP 判的,最后才是 MATCH,PROXY [8]。一个国内站的域名不在表上,解析出来是国内地址,照样直连。漏掉的是服务器放在境外的国内服务,和解析结果给了境外地址的那些。想再省,可以换成它的黑名单写法,判走代理的只有 gfw 名单 4443 条、非国内顶级域名和 Telegram 的 IP 段这几份,最后一条是 MATCH,DIRECT [8],代价是名单外的海外站全走直连,连不上的得自己补规则。
有的机场给节点标倍率,走 1GB 记成好几 GB。34 家里只有闪跃在线路说明里提过倍率,写的是所有套餐都是 1 倍,其余 33 家没写。节点有倍率的话,全局会把本该直连的国内流量也一起放大。
能省多少看各人的用法。想看自己的,打开 Clash Verge Rev 的连接页,每条连接都有规则和链路两栏 [12],链路写着 DIRECT 的就是没走节点的,已关闭的连接也能切过去翻。mihomo 的接口给每条连接都记着上传和下载的字节数 [23]。规则模式下正常用一天,翻一翻哪些大流量的连接走了节点,比套公式估得准。
月底流量快见底,切到直连模式,所有请求都不走节点 [1],比退出客户端省事,系统代理也不用动。要过节点才打得开的站,这几天就都打不开了。非开不可的那一两个,切回规则模式,用完再拨回直连。这时候拨到全局,国内网盘的下载和直播也跟着从节点走,月底剩下的那点额度很快就扣完。