zzzgydi / clash-verge

A Clash GUI based on tauri. Supports Windows, macOS and Linux.
21.45k stars 3.18k forks source link

[BUG]PROCESS-NAME规则似乎在SUB-RULE中无法生效?可能是我不会设置…… #794

Open miraanohana opened 1 year ago

miraanohana commented 1 year ago

Information

起因是想代理雷电模拟器,似乎需要安装“服务模式”并打开“Tun模式”才行。但这会代理全局流量。我想通过clash的进程规则,让特定的程序进入子规则判断,这样非特定程序就会通过"MATCH, DIRECT"直连。 以从火狐浏览器访问discord举例(已禁用浏览器的代理扩展和安全DNS),规则:

 sub-rules:
   generalRules:
   - DOMAIN-SUFFIX,discord.com,proxy
   - DOMAIN-SUFFIX,discord.gg,proxy
   - DOMAIN-SUFFIX,discordapp.com,proxy
   - DOMAIN-SUFFIX,discordapp.net,proxy
   - DOMAIN-SUFFIX,discordcdn.com,proxy
   - MATCH, 未匹配
 rules:
 - PROCESS-NAME,Ld9BoxSVC.exe,proxy
 - SUB-RULE,(PROCESS-NAME,firefox.exe),generalRules
 - MATCH, DIRECT

但失败了,clash verge客户端的“连接”界面中没有任何一条有关discord的记录(怀疑是我规则写错了)。火狐给的信息是

 建立安全连接失败

 连接到 discord.com 时发生错误。PR_END_OF_FILE_ERROR

 错误代码:PR_END_OF_FILE_ERROR

     由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。
     建议向此网站的管理员反馈这个问题。

更新一下,通过目标IP实现仅代理特定应用的写法 ,子网掩码现在我会算了

 rules:
 - SUB-RULE,(SRC-IP-CIDR,127.0.0.1/32),generalRules
 - MATCH, DIRECT

请大佬们帮帮忙,看看PROCESS-NAME为啥在SUB-RULE中失效?

pcb1998 commented 1 year ago

Information

* OS: win10 19045.3448

* Clash Verge Version: 1.3.7

* Clash Core: Clash Meta 1.15.1

起因是想代理雷电模拟器,似乎需要安装“服务模式”并打开“Tun模式”才行。但这会代理全局流量。我想通过clash的进程规则,让特定的程序进入子规则判断,这样非特定程序就会通过"MATCH, DIRECT"直连。 以从火狐浏览器访问discord举例(已禁用浏览器的代理扩展和安全DNS),规则:

我用的是linux版的clash-verge,我也想自己修改节点的规则,我修改保存后,发现这些修改会被重新覆盖掉。也就是clash-verge目前不支持自己修改规则。应该只能等日后开发者完善功能了。

miraanohana commented 1 year ago

我用的是linux版的clash-verge,我也想自己修改节点的规则,我修改保存后,发现这些修改会被重新覆盖掉。也就是clash-verge目前不支持自己修改规则。应该只能等日后开发者完善功能了。

Win10下我这边看起来能修改成功(“查看运行时配置”显示的内容是成功修改的)。

PROCESS-NAME,firefox.exe,proxy

它生效,但是一旦套入SUB-RULE就不生效了。

在“筛选代理集”时

filter: "(?i)jp"

我理解的意思是获得含有jp的节点(不含jp的全部排除)。这条规则成功合并入配置,但不生效。我用exclude-filter排除不含jp的节点却能生效。 不知道是否有人和我有一样的问题