vernesong / OpenClash

A Clash Client For OpenWrt
MIT License
15.77k stars 2.94k forks source link

[Bug] 开启“仅代理命中规则流量”会匹配到部分带有“announce”的域名直连 #3942

Open GeekXtop opened 3 days ago

GeekXtop commented 3 days ago

Verify Steps

OpenClash Version

最新版

Bug on Environment

Immortalwrt

OpenWrt Version

ImmortalWrt 23.05.1 r27304-31bc47589e / LuCI openwrt-23.05 branch git-23.313.50115-e3df634

Bug on Platform

Linux-arm64

Describe the Bug

开启“仅代理命中规则流量”会匹配到部分带有“announce”的域名直连

选项描述: 附加规则到配置文件,仅允许匹配规则的流量代理,防止 BT、P2P 下载流量经过代理

通过搜索代码发现,开启该选项实际上是增加了几条关键字规则, 但是会导致一些带有该关键字的子域名匹配到该规则导致代理失效

To Reproduce

比如

- DOMAIN-KEYWORD,announce

命中

https://announcements.bybit.com/zh-tw

本来该域名是走代理的,但是子域名却优先匹配到该规则导致代理失效

- DOMAIN-KEYWORD,torrent

命中

torrentgalaxy.to

直接把大部分种子站都给屏蔽了~~

OpenClash Log

24-06-30 02:11:40[ warn ][TCP] dial DIRECT (match DomainKeyword/announce) 10.0.0.181:4681 --> announcements.bybit.com:443 error: dial tcp 103.39.76.66:443: i/o timeout dial tcp 128.242.245.212:443: i/o timeout dial tcp 128.242.240.155:443: i/o timeout dial tcp 162.125.32.6:443: i/o timeout dial tcp 185.45.7.165:443: i/o timeout dial tcp 69.171.228.74:443: i/o timeout dial tcp 157.240.15.8:443: i/o timeout dial tcp 128.121.243.228:443: i/o timeout

OpenClash Config

No response

Expected Behavior

感觉该选项可能并不能达到想要的效果 而且描述也有点不太清楚 可能我不该在没有准确理解该选项意思的情况下就勾选

所以来反馈一下

Additional Context

No response