-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
验证步骤
- 我已经阅读了 文档,了解所有我编写的配置文件项的含义,而不是大量堆砌看似有用的选项或默认值。
- 我仔细看过 文档 并未解决问题
- 我已在 Issue Tracker 中寻找过我要提出的问题,并且没有找到
- 我是中文用户,而非其他语言用户
- 我已经使用最新的 Alpha 分支版本测试过,问题依旧存在
- 我提供了可以在本地重现该问题的服务器、客户端配置文件与流程,而不是一个脱敏的复杂客户端配置文件。
- 我提供了可用于重现我报告的错误的最简配置,而不是依赖远程服务器或者堆砌大量对于复现无用的配置等。
- 我提供了完整的日志,而不是出于对自身智力的自信而仅提供了部分认为有用的部分。
- 我直接使用 Mihomo 命令行程序重现了错误,而不是使用其他工具或脚本。
操作系统
Windows
系统版本
11
Mihomo 版本
1.19.11
配置文件
mode: rule
redir-port: 7895
tproxy-port: 7896
mixed-port: 7888
allow-lan: true
log-level: info
ipv6: true
external-controller: 127.0.0.1:9097
secret: set-your-secret
unified-delay: true
external-controller-cors:
allow-private-network: true
allow-origins:
- tauri://localhost
- http://tauri.localhost
- https://yacd.metacubex.one
- https://metacubex.github.io
- https://board.zash.run.place
tcp-concurrent: true
skip-auth-prefixes:
- 127.0.0.1/8
- ::1/128
geox-url:
geoip: https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat
geosite: https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat
mmdb: https://cdn.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/Country.mmdb
sniffer:
enable: true
parse-pure-ip: true
sniff:
TLS:
ports:
- 443
- 8443
HTTP:
ports:
- 80
- 8080-8880
override-destination: true
force-domain: []
geodata-mode: true
bind-address: '*'
keep-alive-interval: 15
find-process-mode: strict
profile:
store-selected: true
store-fake-ip: true
global-client-fingerprint: chrome
tun:
enable: false
stack: gvisor
dns-hijack:
- any:53
strict-route: true
auto-route: true
auto-detect-interface: true
device: Mihomo
mtu: 1500
proxies:
proxy-groups:
rule-providers:
reject:
type: http
behavior: domain
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt
path: ./ruleset/reject.yaml
interval: 86400
icloud:
type: http
behavior: domain
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt
path: ./ruleset/icloud.yaml
interval: 86400
apple:
type: http
behavior: domain
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt
path: ./ruleset/apple.yaml
interval: 86400
google:
type: http
behavior: domain
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt
path: ./ruleset/google.yaml
interval: 86400
proxy:
type: http
behavior: domain
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt
path: ./ruleset/proxy.yaml
interval: 86400
direct:
type: http
behavior: domain
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt
path: ./ruleset/direct.yaml
interval: 86400
private:
type: http
behavior: domain
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt
path: ./ruleset/private.yaml
interval: 86400
gfw:
type: http
behavior: domain
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt
path: ./ruleset/gfw.yaml
interval: 86400
greatfire:
type: http
behavior: domain
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt
path: ./ruleset/greatfire.yaml
interval: 86400
tld-not-cn:
type: http
behavior: domain
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt
path: ./ruleset/tld-not-cn.yaml
interval: 86400
telegramcidr:
type: http
behavior: ipcidr
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt
path: ./ruleset/telegramcidr.yaml
interval: 86400
cncidr:
type: http
behavior: ipcidr
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt
path: ./ruleset/cncidr.yaml
interval: 86400
lancidr:
type: http
behavior: ipcidr
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt
path: ./ruleset/lancidr.yaml
interval: 86400
applications:
type: http
behavior: classical
format: yaml
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt
path: ./ruleset/applications.yaml
interval: 86400
bing:
type: http
behavior: classical
format: yaml
url: https://gcore.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/Bing/Bing.yaml
path: ./ruleset/bing.yaml
interval: 86400
microsoft:
type: http
behavior: classical
format: yaml
url: https://gcore.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/Microsoft/Microsoft.yaml
path: ./ruleset/microsoft.yaml
interval: 86400
youtube:
type: http
behavior: classical
format: yaml
url: https://gcore.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/YouTube/YouTube.yaml
path: ./ruleset/youtube.yaml
interval: 86400
bilibiliintl:
type: http
behavior: classical
format: yaml
url: https://gcore.jsdelivr.net/gh/blackmatrix7/ios_rule_script@master/rule/Clash/BiliBiliIntl/BiliBiliIntl.yaml
path: ./ruleset/bilibiliintl.yaml
interval: 86400
videocdn:
type: http
behavior: classical
format: yaml
url: https://raw.githubusercontent.com/weineo/clashrule/refs/heads/main/VideoCDN.yaml
path: ./ruleset/videocdn.yaml
interval: 86400
rules:
- DOMAIN-KEYWORD,freeok,DIRECT
- DOMAIN-KEYWORD,dami,DIRECT
- DOMAIN-KEYWORD,dmflm,DIRECT
- DOMAIN-KEYWORD,ijujitv,DIRECT
- DOMAIN-KEYWORD,dandanju.,Proxy
- DOMAIN-SUFFIX,kan.cc,Proxy
- AND,((DOMAIN-REGEX,^[a-z0-9]{10,15}\.com$),(IP-ASN,13335)),DIRECT
- DOMAIN,login.microsoftonline.com,DIRECT
- DOMAIN,self.events.data.microsoft.com,DIRECT
- DOMAIN-SUFFIX,azurefd.net,DIRECT
- DOMAIN-SUFFIX,storage.live.com,DIRECT
- DOMAIN-SUFFIX,skydrive.wns.windows.com,DIRECT
- DOMAIN-SUFFIX,cnki.net,DIRECT
- DOMAIN-SUFFIX,ieee.org,DIRECT
- DOMAIN-SUFFIX,acm.org,DIRECT
- DOMAIN-SUFFIX,imgtu.com,DIRECT
- DOMAIN-SUFFIX,dpdk.org,DIRECT
- DOMAIN-SUFFIX,freenom.com,DIRECT
- DOMAIN-SUFFIX,sciencedirect.com,DIRECT
- DOMAIN-SUFFIX,springer.com,DIRECT
- DOMAIN,onedrive.live.com,Proxy
- DOMAIN-SUFFIX,69shuba.com,Proxy
- DOMAIN-SUFFIX,erome.com,Proxy
- DOMAIN-KEYWORD,xingjiabijichang.com,Proxy
- DOMAIN-SUFFIX,rewards.bing.com,Bing
- DOMAIN-SUFFIX,rewards.microsoft.com,Bing
- DOMAIN-SUFFIX,gemini.google.com,ArtIntel
- DOMAIN-SUFFIX,copilot.microsoft.com,ArtIntel
- DOMAIN-SUFFIX,sydney.bing.com,ArtIntel
- DOMAIN-SUFFIX,www.bing.com/images,ArtIntel
- DOMAIN-SUFFIX,www.bing.com/visualsearch,ArtIntel
- RULE-SET,videocdn,VideoCDN
- GEOSITE,Private,DIRECT
- GEOSITE,Bing,Bing
- GEOSITE,Openai,ArtIntel
- GEOSITE,Category-games@cn,Mainland
- GEOSITE,Category-games,Games
- GEOSITE,Github,Proxy
- GEOSITE,Telegram,Telegram
- GEOSITE,Bilibili,BiliBili
- GEOSITE,Youtube,Streaming
- GEOSITE,Disney,Streaming
- GEOSITE,Netflix,Streaming
- GEOSITE,HBO,Streaming
- GEOSITE,Primevideo,Streaming
- GEOSITE,Microsoft@cn,Mainland
- GEOSITE,Apple@cn,Mainland
- RULE-SET,youtube,Streaming
- RULE-SET,bing,Bing
- RULE-SET,microsoft,Microsoft
- RULE-SET,private,DIRECT
- RULE-SET,applications,DIRECT
- RULE-SET,icloud,DIRECT
- RULE-SET,google,Proxy
- RULE-SET,lancidr,DIRECT
- RULE-SET,cncidr,DIRECT
- RULE-SET,telegramcidr,Proxy
- RULE-SET,proxy,Proxy
- RULE-SET,direct,DIRECT
- GEOSITE,CN,Mainland
- GEOIP,lan,DIRECT,no-resolve
- GEOIP,CN,Mainland,no-resolve
- MATCH,Final
描述
在rules中,在AND中使用DOMAIN-REGEX会出现识别bug,无法正常处理正则表达式。
例子:使用规则
AND,((DOMAIN-REGEX,^[a-z0-9]{10,15}.com$),(IP-ASN,13335)),DIRECT
尝试识别所有使用cloudflare的,顶级域名com前带有10-15位字符的网址并走直连,
如thwzv5ijh9wd.com 。
但是,软件识别规则为AND((DomainRegex,^[a-z0-9]{10) && (IPASN,13335))
逗号后的部分无法识别,导致完全无法匹配,还请改进。
重现方式
加入任何AND规则,其中含有DOMAIN-REGEX,后跟的正则表达式内有**,逗号**,就会导致规则识别异常,逗号后的部分无法识别
日志
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working