Clash 进程匹配规则配置教程:PROCESS-NAME 实战详解
什么是 Clash 进程匹配规则
在 Clash 的规则体系中,除了常见的 DOMAIN、IP-CIDR、GEOIP 等匹配方式外,还有一种非常强大但容易被忽略的规则类型——PROCESS-NAME,即按进程名称匹配流量。
简单来说,PROCESS-NAME 允许你根据发起网络请求的应用程序名称来决定走代理还是直连。例如:
- 让 Chrome 浏览器走代理;
- 让 Steam 游戏平台走代理;
- 让企业微信、钉钉等办公软件直连;
- 让某个下载工具全部走直连。
这种按应用分流的方式,比按域名或 IP 分流更直观、更稳定,尤其适合多场景混合使用的用户。
PROCESS-NAME 规则的基本语法
规则格式
rules:
- "PROCESS-NAME,进程名,策略"
其中:
PROCESS-NAME:规则类型,表示按进程名匹配。进程名:应用程序的可执行文件名,不含路径。策略:常见的有DIRECT、REJECT、Proxy、🚀 节点选择等。
不同平台的进程名写法
| 平台 | 进程名示例 | 说明 |
|---|---|---|
| Windows | chrome.exe |
必须带 .exe 后缀 |
| macOS | Google Chrome |
使用应用主程序名,可带空格 |
| Linux | chrome |
通常为小写可执行文件名 |
注意:macOS 的进程名获取方式与 Windows 不同,建议通过活动监视器或
ps命令确认实际进程名。
简单示例
rules:
- "PROCESS-NAME,chrome.exe,🚀 节点选择"
- "PROCESS-NAME,WeChat.exe,DIRECT"
- "PROCESS-NAME,DingTalk.exe,DIRECT"
- "PROCESS-NAME,steam.exe,🚀 节点选择"
以上规则表示:Chrome 和 Steam 走代理,微信和钉钉直连。
如何查看应用程序的真实进程名
Windows 查看进程名
- 按
Ctrl + Shift + Esc打开任务管理器。 - 切换到「详细信息」标签页。
- 找到对应应用,查看「名称」列,例如
chrome.exe、WeChat.exe。\n
macOS 查看进程名
打开终端,输入:
ps -ef | grep 应用关键词
例如查找 Chrome:
ps -ef | grep Chrome
Linux 查看进程名
pgrep -l 应用关键词
例如:
pgrep -l chrome
常见应用场景
场景一:游戏玩家单独加速
很多游戏需要通过代理降低延迟或解决连接问题,但不想让全局流量都走代理。此时可用 PROCESS-NAME 精确指定:
rules:
- "PROCESS-NAME,steam.exe,🚀 节点选择"
- "PROCESS-NAME,EpicGamesLauncher.exe,🚀 节点选择"
- "PROCESS-NAME,LeagueClient.exe,🚀 节点选择"
场景二:办公软件强制直连
企业微信、钉钉、飞书等办公软件通常对国内服务器优化较好,走代理反而可能变慢或触发安全验证:
rules:
- "PROCESS-NAME,WeCom.exe,DIRECT"
- "PROCESS-NAME,DingTalk.exe,DIRECT"
- "PROCESS-NAME,lark.exe,DIRECT"
场景三:下载工具避免消耗代理流量
迅雷、qBittorrent、IDM 等下载工具流量大,如果不小心走了代理,可能迅速耗尽套餐流量:
rules:
- "PROCESS-NAME,Thunder.exe,DIRECT"
- "PROCESS-NAME,qbittorrent.exe,DIRECT"
- "PROCESS-NAME,IDMan.exe,DIRECT"
场景四:开发工具单独分流
开发者可能需要让 Docker、Git、npm 等工具走代理,而浏览器和其他应用保持默认:
rules:
- "PROCESS-NAME,git.exe,🚀 节点选择"
- "PROCESS-NAME,docker.exe,🚀 节点选择"
- "PROCESS-NAME,node.exe,🚀 节点选择"
PROCESS-NAME 的优先级与注意事项
规则优先级
Clash 的规则是从上到下依次匹配的,第一条匹配成功的规则会立即生效,后续规则不再检查。因此 PROCESS-NAME 通常建议放在规则列表靠前的位置,尤其是你希望它覆盖域名或 IP 规则时。
推荐顺序:
- PROCESS-NAME(应用级分流)
- DOMAIN-SUFFIX / DOMAIN-KEYWORD(域名分流)
- IP-CIDR / GEOIP(IP 分流)
- MATCH(兜底规则)
与 Tun 模式的关系
PROCESS-NAME 规则在以下两种情况下效果最佳:
- Tun 模式开启时:Clash 作为虚拟网卡接管系统流量,可以识别所有进程的连接。
- 系统代理模式:只能识别支持系统代理的应用,部分应用可能无法被 PROCESS-NAME 捕获。
常见坑点
- 进程名写错:Windows 必须带
.exe,macOS 要区分Google Chrome和Google Chrome Helper。 - 子进程问题:某些应用会启动多个子进程,例如 Chrome 有
chrome.exe和chrome_helper.exe,需要分别配置。 - 大小写敏感:Clash 的 PROCESS-NAME 通常区分大小写,建议按实际进程名精确填写。
进阶:按进程名做策略组
如果你使用的是 Clash Verge Rev 或 Clash Meta(mihomo)内核,还可以结合 script 或 rule-providers 实现更复杂的进程分流。例如:
rule-providers:
game-apps:
type: http
behavior: classical
url: "https://example.com/rules/game-apps.yaml"
path: ./ruleset/game-apps.yaml
interval: 86400
rules:
- "RULE-SET,game-apps,🚀 游戏加速"
在 rule-provider 文件中,你可以批量写入 PROCESS-NAME 规则:
payload:
- PROCESS-NAME,steam.exe
- PROCESS-NAME,EpicGamesLauncher.exe
- PROCESS-NAME,Origin.exe
这样便于集中维护,也便于多设备同步。
完整配置示例
以下是一个适合 Windows 游戏玩家的完整 PROCESS-NAME 分流配置片段:
rules:
# 办公软件直连
- "PROCESS-NAME,WeChat.exe,DIRECT"
- "PROCESS-NAME,DingTalk.exe,DIRECT"
- "PROCESS-NAME,Feishu.exe,DIRECT"
- "PROCESS-NAME,WeCom.exe,DIRECT"
# 浏览器走代理
- "PROCESS-NAME,chrome.exe,🚀 节点选择"
- "PROCESS-NAME,firefox.exe,🚀 节点选择"
- "PROCESS-NAME,msedge.exe,🚀 节点选择"
# 游戏平台与游戏走代理
- "PROCESS-NAME,steam.exe,🚀 节点选择"
- "PROCESS-NAME,EpicGamesLauncher.exe,🚀 节点选择"
- "PROCESS-NAME,riotgames.exe,🚀 节点选择"
# 下载工具直连
- "PROCESS-NAME,Thunder.exe,DIRECT"
- "PROCESS-NAME,qbittorrent.exe,DIRECT"
- "PROCESS-NAME,BitComet.exe,DIRECT"
# 兜底规则
- "GEOIP,CN,DIRECT"
- "MATCH,🚀 节点选择"
总结
PROCESS-NAME 是 Clash 中实现应用级精准分流的利器。相比按域名或 IP 分流,它更直观、更不容易被 CDN 或动态 IP 干扰。对于同时有办公、娱乐、下载、开发需求的用户,合理使用进程匹配规则可以大幅提升网络体验,并避免代理流量被不必要的应用消耗。
如果你还不太熟悉 Clash 的基础规则语法,建议先阅读《Clash 规则路由入门指南》,再回来配置 PROCESS-NAME 会更得心应手。
这篇教程有帮助吗?立即下载Clash入门试试吧!
全平台支持 · 安全无毒 · 官方最新版