Clash Verge 是否支持按进程排除代理?如何配置?

Clash Verge 按进程排除代理功能详解
在日常使用代理工具时,我们常希望某些程序绕过代理——例如浏览器继续使用代理,而游戏、网盘客户端、系统更新等走直连。Clash Verge 作为一款基于 Clash 内核的图形化代理客户端,是否支持按进程排除代理?答案是肯定的。本文将从版本演进、具体配置方法、平台差异、边界条件及常见问题等方面,全面解析 Clash Verge 按进程排除代理 的实现方式,帮助你在 2026 年的最新版本中高效配置。
版本前提:本文以 Clash Verge Rev(截至当前的最新版本)为例。如果你使用的是早期原版 Clash Verge(如 1.3.x),部分界面路径可能不同,但核心规则语法通用。建议升级到 Rev 分支以获得更好的体验。
一、功能定位与变更脉络
Clash 内核从早期版本开始就支持通过 PROCESS-NAME 规则匹配进程名,但图形化客户端对这项功能的暴露程度有所不同。在 Clash Verge 的早期版本(1.0–1.3 系列)中,用户需要在“订阅编辑器”或“配置文件”中手动编写规则,界面未提供专门的“进程排除”开关。到了 Clash Verge Rev 分支(约 2024 年后),开发者增加了“代理规则”可视化编辑面板,用户可以直接添加、删除、排序进程规则,大幅降低了操作门槛。
这一变化的核心驱动力是用户需求:很多人在使用代理时希望只让特定流量走代理(如浏览器、社交媒体),而其他流量直连。Clash 的“按进程排除”正好满足这一场景,它比传统的“按域名排除”更精确——因为一个程序可能连接多个域名,而你只想让该程序所有流量都绕过代理。例如:排除游戏客户端(如 Steam、Epic)以避免延迟,或排除下载工具(如 IDM、迅雷)以节省节点流量。
1.1 与“按域名排除”的区别
按进程排除(Process Exclude)和按域名排除(Domain Exclude)是两种不同的控制粒度:
- 进程排除:匹配可执行文件名(如
chrome.exe),该程序的所有连接都走指定策略(如 DIRECT)。适合整包控制。 - 域名排除:匹配请求的域名(如
*.example.com),所有程序访问该域名都走指定策略。适合对特定网站进行控制,但无法区分是哪个程序发起的请求。
两者结合使用效果最佳。例如,让浏览器走代理,但浏览器访问内网域名走直连,就可以同时使用“进程规则”和“域名规则”。
二、配置方法:在 Clash Verge 中添加进程排除规则
以下操作基于 Clash Verge Rev 的默认界面(Windows 版本;macOS 与 Linux 的入口相同,但文件路径可能不同)。假设你已安装并配置好节点,代理处于“全局”或“规则”模式。
2.1 通过“代理规则”面板添加(推荐)
- 打开 Clash Verge,点击左侧菜单栏的 「代理」 标签。
- 在顶部导航栏中,选择 「代理规则」 选项卡(部分版本显示为“Rules”)。
- 点击右下角的 「+」 按钮,添加新规则。
- 在弹出的编辑框中,类型选择
PROCESS-NAME(或直接输入PROCESS-NAME)。 - 在 「内容」 字段输入进程名,例如
notepad.exe(Windows)或Notes(macOS 应用名)。 - 在 「策略」 下拉框中选择
DIRECT(直连)或REJECT(拒绝连接)。一般排除代理用DIRECT。 - 点击「保存」或「应用规则」。规则会立即生效,无需重启客户端。
⚠️ 注意:规则顺序很重要。Clash 按从上到下的顺序匹配规则,建议将进程排除规则放在 GEOIP 规则之前,以确保优先匹配。如果进程规则放在最后,可能被前面的域名规则拦截。
2.2 通过配置文件直接编辑
对于高级用户,可以直接编辑 YAML 配置文件。在 Clash Verge 中,点击左侧「设置」→「Profiles」→「编辑配置文件」(或使用外部编辑器)。在 rules 部分添加类似下面的行:
rules:
- PROCESS-NAME,steam.exe,DIRECT
- PROCESS-NAME,chrome.exe,Proxy
- PROCESS-NAME,notepad.exe,DIRECT
# 其他规则...
需要注意的是,PROCESS-NAME 只匹配进程名,不包含路径。如果需要匹配完整路径,可以使用 PROCESS-PATH(Clash Meta 内核支持)。例如:PROCESS-PATH,C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE,DIRECT。但请注意,PROCESS-PATH 在 Windows 上区分大小写(路径大小写不变),且路径中不能有通配符。
2.3 平台差异
| 平台 | 进程名示例 | 是否支持路径匹配 | 注意事项 |
|---|---|---|---|
| Windows | chrome.exe、steam.exe |
是(PROCESS-PATH) | 进程名不区分大小写,路径区分大小写 |
| macOS | Google Chrome、Notes |
是(PROCESS-PATH) | 进程名通常为应用包名或显示名称(如“Google Chrome”),可使用活动监视器查看 |
| Linux | chrome、steam |
是(PROCESS-PATH) | 进程名通常为可执行文件基名(不含路径),大小写敏感 |
经验性观察:在 macOS 上,部分应用(如系统应用)的进程名可能与显示名称不同,建议通过终端命令 ps aux | grep -i “应用名” 确认实际进程名。另外,macOS 上 PROCESS-PATH 可能无法匹配到某些沙盒应用,此时使用 PROCESS-NAME 更可靠。
三、例外与取舍:什么情况下不该用进程规则?
进程规则虽然强大,但并非万能。以下场景需要谨慎使用:
3.1 系统级进程与守护进程
像 svchost.exe(Windows 服务主机)、launchd(macOS 守护进程)等系统进程,通常由多个服务共享。排除它们可能导致系统更新、时间同步等功能失效;反之,如果强制代理这些进程,可能造成系统服务异常。建议不要对系统进程设置代理规则,保持默认直连即可。
3.2 进程名冲突
多个程序可能使用相同的进程名(例如 setup.exe 或 update.exe)。如果规则太宽泛,可能会误伤其他程序。例如,你只想排除某个特定软件的更新程序,但系统中有多个软件的更新程序同名为 update.exe。此时建议使用 PROCESS-PATH 或配合域名规则进行二次限制。
3.3 性能影响
Clash 每次连接都会检查进程规则,这涉及系统调用获取进程信息。如果规则数量过多(几百条),可能会轻微增加延迟。经验性观察:在 50 条以内的进程规则下,对性能影响可以忽略不计;超过 200 条且规则复杂度高(如包含路径匹配)时,在老旧设备上可能感觉到连接建立变慢。建议保持规则精简,只排除真正必要的进程。
四、配置示例:常见场景
4.1 排除游戏客户端
场景:你希望浏览器(Chrome)走代理,但 Steam 和 Epic Games 直接连接以避免游戏延迟。
rules:
- PROCESS-NAME,steam.exe,DIRECT
- PROCESS-NAME,EpicGamesLauncher.exe,DIRECT
- PROCESS-NAME,chrome.exe,Proxy
# 其他规则...
注意:Steam 可能以多个进程运行(如 steam.exe、steamwebhelper.exe),建议只排除主进程,或者将整个 Steam 文件夹下的可执行文件都排除(使用 PROCESS-PATH 匹配目录?但 Clash 目前不支持目录通配,只能逐条添加)。
4.2 排除下载工具
场景:使用 IDM 下载大文件,希望直连以节省节点流量。
rules:
- PROCESS-NAME,IDMan.exe,DIRECT
# 或使用路径匹配
- PROCESS-PATH,C:\Program Files\Internet Download Manager\IDMan.exe,DIRECT
4.3 排除特定浏览器扩展
如果某个浏览器扩展(如翻译插件)不需要代理,但浏览器本身需要代理,无法通过进程规则区分,因为浏览器是同一个进程。此时应该使用域名规则:例如该扩展的请求域名设置为 DOMAIN-SUFFIX,translation.googleapis.com,DIRECT。
五、故障排查
5.1 规则不生效
现象:添加了进程规则后,目标程序仍然走代理/直连。
可能原因及验证步骤:
- 规则顺序错误:检查规则是否放在了其他规则(如 GEOIP)之后。可以在 Clash Verge 的“代理规则”面板中拖动排序。
- 进程名拼写错误:Windows 在任务管理器查看进程名(带
.exe);macOS 在活动监视器查看“进程名称”列。注意大小写:Windows 不区分大小写,macOS 和 Linux 区分。 - 内核版本不支持:Clash Verge 默认使用 Clash Meta 内核,它支持
PROCESS-NAME和PROCESS-PATH。如果使用了旧版 Clash Premium 内核(如 2021 年前的版本),可能不支持进程规则。请在 Clash Verge 的“设置”→“内核版本”中确认。 - 未重启应用:虽然规则实时生效,但某些程序在建立连接时缓存了代理信息,可能需要重启目标程序或清除系统 DNS 缓存。
- 代理模式设置:如果客户端处于“全局”模式,所有流量都会被强制代理,进程规则中的 DIRECT 策略可能被覆盖。建议使用“规则”模式。
5.2 性能问题
如果添加大量进程规则后感觉网络变慢,可以通过以下方法验证:
- 在 Clash Verge 的“日志”面板中查看连接建立时间(单位毫秒)。
- 临时禁用所有进程规则,对比延迟是否有明显改善。
- 如果确认是进程规则导致,精简规则数量,优先使用
PROCESS-NAME而非PROCESS-PATH(路径匹配开销更大)。
六、适用与不适用场景清单
✅ 适用场景
- 需要让特定程序的所有流量都走直连或指定代理(如浏览器、游戏、下载工具)。
- 需要在代理客户端上快速切换不同程序的代理策略,而不修改全局设置。
- 配合其他规则(域名、IP、GEOIP)实现精细化的分流策略。
- 用户有明确的需求:某个程序必须使用代理,而其他程序直连,或反之。
❌ 不适用场景
- 需要按连接目的地(域名/IP)而非按程序控制流量(此时应使用域名规则)。
- 需要控制系统服务或后台守护进程(如 Windows 服务、macOS launchd)。
- 程序以多个进程组件运行,且无法统一命名(如某些大型软件由数十个进程组成,逐一添加不现实)。
- 在移动端(Android/iOS)上,Clash Verge 的移动版可能不支持进程规则(因为系统限制),建议使用 privacy tool 模式下的“应用分流”功能(如 Surfboard、Clash Meta for Android 的“应用代理”)。
七、最佳实践清单
📋 决策规则(检查表)
- 确认需求:你是想控制单个程序的行为,还是控制一组域名?如果是前者,使用进程规则;如果是后者,使用域名规则。
- 确认平台:Windows 上进程名后缀
.exe;macOS 上使用“活动监视器”查看准确名称;Linux 区分大小写。 - 优先使用 PROCESS-NAME:除非路径匹配是必须的(如多个同名进程需区分路径),否则优先使用
PROCESS-NAME,性能更好。 - 规则数量控制在 20 条以内:对于大多数家庭用户,需要排除的进程通常不超过 10 个,过度添加反而增加维护负担。
- 规则顺序:先进程后域名:将进程规则放在规则列表靠前位置,确保优先匹配。
- 测试验证:添加规则后,访问一个只在该程序中出现的目标网站,通过 Clash 日志查看该连接匹配的规则和策略。
- 备份配置文件:在编辑配置文件前,先复制一份作为备份,防止误操作导致代理失效。
八、FAQ(常见问题)
Q1: Clash Verge 是否支持排除多个进程?
支持。可以添加多条 PROCESS-NAME 规则,分别对应不同的进程。Clash 会依次匹配,第一条匹配到的规则生效。注意:如果多个进程需要走相同策略,可以逐条添加,但无法使用通配符匹配多个进程名(如 PROCESS-NAME,*game*.exe 无效)。
Q2: 进程规则在 macOS 上需要注意什么?
macOS 上进程名通常为应用显示名称,如“Google Chrome”“Safari”。但部分系统进程名称可能不含空格,如 Terminal。建议通过活动监视器查看“进程名称”列。另外,PROCESS-PATH 在 macOS 上可能无法匹配到 SwiftUI 或沙盒应用,因此优先使用 PROCESS-NAME。
Q3: 进程规则和域名规则冲突时,哪个优先?
规则列表中的顺序决定优先级。Clash 按顺序从上到下匹配,因此如果进程规则写在域名规则之前,则进程规则优先匹配;反之亦然。建议将进程规则放在域名规则之前,因为进程匹配通常更精确(针对整包),域名匹配更宽泛。例如:先写 PROCESS-NAME,chrome.exe,Proxy,再写 DOMAIN-SUFFIX,google.com,DIRECT,则 Chrome 访问 google.com 时,由于进程规则先匹配,会走代理,而不是直连。
Q4: 如何查看当前 Clash 内核是否支持进程规则?
在 Clash Verge 中,点击左下角“设置” → “Clash 内核” → 查看内核版本。如果版本号包含“Meta”字样(如 Clash Meta v1.18.0),则支持;如果显示“Clash Premium 2021.05.08”等旧版,可能不支持。你也可以在“代理规则”面板中尝试添加 PROCESS-NAME 规则,如果保存后不报错,则说明支持。
Q5: 进程规则能否匹配 64 位和 32 位程序?
可以。进程名是系统任务管理器显示的进程名称,与位数无关。例如,32 位和 64 位的 chrome.exe 进程名相同,规则会同时匹配。但注意,同名的不同版本程序(如 java.exe 可能由多个 Java 应用启动)都会被匹配,无法区分。
九、总结与下一步行动
Clash Verge 通过 PROCESS-NAME 和 PROCESS-PATH 规则,提供了强大的按进程排除代理能力。从早期版本的手动编辑到 Rev 分支的可视化配置,用户体验持续优化。你可以灵活利用这一功能,让代理只服务于需要的程序,提升网络效率和控制精度。
建议你立即尝试以下步骤:
- 打开 Clash Verge,进入“代理规则”面板,添加一条排除 Steam 的规则(
PROCESS-NAME,steam.exe,DIRECT)。 - 启动 Steam 并观察“日志”面板,确认 Steam 的连接匹配了该规则,直连成功。
- 根据实际需求,逐步添加其他需要排除的进程,保持规则精简。
- 定期检查 Clash Verge 和内核版本更新,以获取更好的功能支持。
如果在配置过程中遇到问题,可以查阅官方文档或社区论坛。记住:规则是活的,需要根据使用场景不断调整优化。
本文基于 Clash Verge Rev 版本编写,所有功能均可在截至当前的最新版本中复现。如有变更,请以官方文档为准。


