1 何时需要 PROCESS-NAME 进程分流
按域名分流(DOMAIN、GEOSITE 等)适合「网站与业务边界清晰」的场景:例如把视频站、云文档域名指到固定策略组。但现实里经常出现两类需求:一是同一浏览器既要打开国内后台,又要访问海外服务,仅靠域名规则会反复微调;二是游戏主程序联机时走 UDP、对延迟敏感,你希望它固定走某条游戏节点,而同一台电脑上的办公软件仍走另一组「办公 / 通用」代理,避免全局切换节点时两边一起变。
PROCESS-NAME 规则在命中时,根据发起连接的进程可执行文件名(在 Windows 上通常为 xxx.exe)选择策略,本质是按应用代理的一层抽象:你写的是「谁发起的连接」,而不是「连向哪个域名」。这与《Clash URL-Test 与 Fallback》里介绍的策略组自动选节点、故障转移可以叠加——进程规则只负责「把某几个 exe 的流量指到名为 GAME 或 OFFICE 的组」,组内部仍可用 url-test 或 fallback 管理具体节点。
2 前置条件:Mihomo 内核、TUN 与 Windows 环境
PROCESS-NAME 属于 Clash Meta / Mihomo 系列内核扩展能力,请确认客户端使用的是 Meta 内核(常见图形客户端如 Clash Verge Rev 已内建或可选 Mihomo)。若尚未在 Windows 上完成安装与订阅导入,可先对照《Clash Verge Rev Windows 安装教程》完成基础环境,再回来改规则。
要让内核能够关联「连接 ↔ 进程」,通常需要接管足够完整的流量路径。仅依赖系统代理时,部分应用不走系统代理,或连接信息不足以稳定匹配进程;实践上更推荐在 Windows 上开启TUN 模式(虚拟网卡),让符合策略的流量经内核转发,从而可靠地做进程级判断。TUN 的开启步骤、与终端和 Docker 的关系,可参考《Clash Verge Rev TUN 模式完全指南》中的系统级说明;首次开启时若遇权限或驱动提示,按客户端引导以管理员身份运行或安装虚拟网卡组件即可。
另需注意:UWP 应用、部分带反作弊的网游可能对虚拟网卡或流量劫持敏感,表现为无法启动、断线或封号风险——这类场景请优先查阅游戏条款,并酌情对特定进程改用直连或不经过 TUN 的方案,本文不替代你对具体游戏合规与安全风险的判断。
3 如何确认要写进规则的进程名
PROCESS-NAME 匹配的是可执行文件名,而不是窗口标题或快捷方式名称。最稳妥的做法是打开任务管理器(Ctrl+Shift+Esc),在「详细信息」选项卡中找到目标程序,查看「名称」列,例如 chrome.exe、msedge.exe、WINWORD.EXE 等。部分游戏启动器会再拉起子进程,真正联机的可能是 GameClient.exe 等另一个名字,若规则不生效,应在联机时观察实际占用网络的进程名并写那条。
名称大小写在 Windows 上一般可按你看到的字符串书写;若遇大小写敏感问题,以你所用内核版本文档为准。若同一软件有多个副本路径(例如便携版与商店版),通常仍以进程名匹配即可;若存在同名冲突,可结合更细粒度能力(如部分版本支持的进程路径类规则)或改用域名规则辅助,这已超出入门篇范围。
- 浏览器:常见为
chrome.exe、msedge.exe、firefox.exe。 - 办公:如
WINWORD.EXE、EXCEL.EXE、Teams.exe等。 - 游戏:以任务管理器为准,注意启动器与本体可能分离。
4 策略组设计:把「游戏」和「办公」拆成可引用的名字
在写 PROCESS-NAME 之前,先在 proxy-groups 里准备好两个(或多个)用途清晰的组名,例如 GAME 与 OFFICE。GAME 可设为 url-test,专门放入低延迟地区节点;OFFICE 可用 select 或 fallback,偏向稳定与丢包容忍。这样进程规则只引用组名,日后调整节点只需改策略组,而不必逐条改规则。关于 url-test 的 interval、tolerance 等参数,仍以《URL-Test 与 Fallback》一文中的说明为准。
proxy-groups:
- name: GAME
type: url-test
proxies:
- 香港游戏-1
- 香港游戏-2
- 日本游戏-1
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
- name: OFFICE
type: select
proxies:
- 新加坡-稳定-1
- 美国-办公-1
- DIRECT
上面节点名必须与你 proxies 段中的 name 完全一致;订阅更新后若节点改名,请同步检查策略组,否则会出现引用失败或静默跳过。
5 在 rules 里写 PROCESS-NAME:顺序靠前、指向策略组
规则自上而下匹配,第一条命中的策略即生效。因此与进程相关、希望优先于「通用 GEOIP / MATCH」的条目,应放在列表前部;更泛化的域名规则可按你的习惯放在进程规则之后。典型写法为:PROCESS-NAME,<进程名>,<策略组或 DIRECT>。
rules:
- PROCESS-NAME,SomeGame.exe,GAME
- PROCESS-NAME,chrome.exe,OFFICE
- PROCESS-NAME,msedge.exe,OFFICE
- PROCESS-NAME,WINWORD.EXE,OFFICE
- GEOSITE,cn,DIRECT
- MATCH,OFFICE
最后一行 MATCH 只是示例:若你希望「未列进程」默认仍走办公组,可写 MATCH,OFFICE;若希望其余流量直连,则 MATCH,DIRECT。请根据你的安全与可用性需求选择,避免把必须代理的流量误配成直连。若规则来自订阅且会被覆盖,可使用客户端支持的 mixin / 覆写在本地追加规则,详见《Clash 订阅覆写入门》。
6 与域名规则、Sniffer 的配合
PROCESS-NAME 解决的是「谁发起的」;DOMAIN / IP 规则解决的是「连向哪里」。二者可同时存在:例如对某浏览器进程统一走 OFFICE,再在策略组或更细规则里处理特定域名。若 HTTPS 流量在 Fake-IP 等场景下出现域名识别偏差,可结合《Clash Meta Sniffer》中的 HTTPS 嗅探与 SNI 说明,修正分流与日志里看到的目标信息——这与进程分流是互补关系,而不是二选一。
简单记忆:进程规则定「应用出口」,域名规则定「业务目的地」;当两者可能同时适用时,以你配置的规则顺序和内核实现为准,建议在改完后用客户端连接日志观察实际命中项。
7 常见限制与排错思路
- 规则写了但不生效:先确认已用 Meta 内核且 TUN 等接管方式已真正启用;再核对进程名是否拼写正确、是否应为子进程名称。
- 只有部分连接走了预期策略:同一软件可能多进程协作,或系统服务代为出站;可结合日志中的进程字段逐项补规则。
- 与系统代理混用困惑:记住进程级分流依赖内核看见完整连接路径;若仍仅用「系统代理」且部分应用绕过,现象会与 TUN 下不一致。
- 游戏反作弊与 TUN:若游戏拒绝在虚拟网卡环境下运行,请勿强行套用本文方案,应优先保障账号与设备安全。
- 策略组名不一致:
PROCESS-NAME第三段必须与proxy-groups中某name完全一致,包括大小写习惯上的统一。
8 总结
在 Windows 上配合 Mihomo 与 TUN,使用 PROCESS-NAME 可以把游戏与浏览器、办公软件分别导向不同策略组,实现「同机多出口」的按应用代理,而不必全局来回切换节点。关键步骤是:查清进程名、预先定义好 GAME / OFFICE 等组、把进程规则放在 rules 前部并与 MATCH 等兜底逻辑一致。与 URL-Test、Sniffer、域名规则组合使用后,你的配置文件会更接近真实桌面使用场景。
相比在几十个域名上微调,进程分流对「几款常驻软件」往往更省事;但若你的需求主要是流媒体或固定网站,仍以 Rule Provider 与域名规则为主更合适。图形化客户端在展示策略组、日志与 TUN 状态上通常更直观——在稳定性与易用性上,一体化工具往往比手工维护多份配置文件更轻松。若你尚未安装合适客户端,可从站内下载页获取与当前系统匹配的版本,再按本文步骤追加进程规则即可。
最后建议:每次大改规则后备份一份可启动的最小配置;进程名随软件更新可能变化,游戏大版本升级后若分流异常,先复查任务管理器中的名称是否已变。