vernesong / OpenClash

A Clash Client For OpenWrt
MIT License
16.86k stars 3.1k forks source link

[Bug] 以http方式下载大文件规则集做分流配置时,下载规则集报错 #3857

Closed BlueBenson closed 3 months ago

BlueBenson commented 5 months ago

Verify Steps

OpenClash Version

v0.46.003-beta

Bug on Environment

Immortalwrt

OpenWrt Version

ImmortalWrt 21.02

Bug on Platform

Linux-amd64(x86-64)

Describe the Bug

使用“自定义规则集附加”功能时,如果通过http方式新增规则集,当下载的规则集文件较大(2.7mb),openclash内核报错。换用yaml配置文件rule-providers方式,openclash同样报错。 报错内容如下:ERR [Config] configuration file test failed error=initial rule provider Http-大陆域名 error: Get "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/ChinaMax/ChinaMax_Classical.yaml": context deadline exceeded path=/etc/openclash/Benson-Rlues.yaml

如果将上述同一个规则集文件(https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/ChinaMax/ChinaMax_Classical.yaml)下载后,手动上传至openclash,使用“自定义规则集附加”file方式,该规则集文件顺利通过配置检查

To Reproduce

使用“自定义规则集附加”功能时,如果通过http方式新增规则集:https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/ChinaMax/ChinaMax_Classical.yaml

OpenClash Log

ERR [Config] configuration file test failed error=initial rule provider Http-大陆域名 error: Get "https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/ChinaMax/ChinaMax_Classical.yaml": context deadline exceeded path=/etc/openclash/Benson-Rlues.yaml

OpenClash Config

No response

Expected Behavior

请帮助解决该问题,方便通过http方式自动更新规则集

Additional Context

No response

vernesong commented 5 months ago

用meta

BlueBenson commented 5 months ago

用meta

换用Meta内核后确实可以正常下载了,非常感谢,但是出了个新问题,换用Meta内核后,发现分流时,全是IP地址,用域名的规则都无法命中。我的网络环境是内网搭建了pi-hole,pi-hole通过tls dns方式解析域名,不知道和这个有关系否,但是之前用普通内核,分流规则是出域名的,没有问题。

xiaoyangdkj commented 5 months ago

用meta

换用Meta内核后确实可以正常下载了,非常感谢,但是出了个新问题,换用Meta内核后,发现分流时,全是IP地址,用域名的规则都无法命中。我的网络环境是内网搭建了pi-hole,pi-hole通过tls dns方式解析域名,不知道和这个有关系否,但是之前用普通内核,分流规则是出域名的,没有问题。

打开域名嗅探,应该是meta+fakeip出现的问题。如果域名嗅探无用,就打开openclash的dns劫持

BlueBenson commented 5 months ago

用meta

换用Meta内核后确实可以正常下载了,非常感谢,但是出了个新问题,换用Meta内核后,发现分流时,全是IP地址,用域名的规则都无法命中。我的网络环境是内网搭建了pi-hole,pi-hole通过tls dns方式解析域名,不知道和这个有关系否,但是之前用普通内核,分流规则是出域名的,没有问题。

打开域名嗅探,应该是meta+fakeip出现的问题。如果域名嗅探无用,就打开openclash的dns劫持

我一直使用Redir-Host TUN模式(fakeip模式uu加速器总是失败),按照您给的建议调整为meta+fakeip,打开域名嗅探,打开dns劫持,依然分流时全是ip地址,域名规则无效。所以不论是Redir-host还是fakeip,使用meta后,分流规则均是ip地址。 我把我的配置提供如下:

Redir-Host配置

Screenshot 2024-04-25 at 12 32 05

fakeip配置

Screenshot 2024-04-25 at 12 27 38

Meta设置

Screenshot 2024-04-25 at 12 27 55

DNS设置

Screenshot 2024-04-25 at 12 27 43

分流显示

Screenshot 2024-04-25 at 12 27 20
xiaoyangdkj commented 5 months ago

用meta

换用Meta内核后确实可以正常下载了,非常感谢,但是出了个新问题,换用Meta内核后,发现分流时,全是IP地址,用域名的规则都无法命中。 我的网络环境是内网搭建了pi-hole,pi-hole通过tls dns方式解析域名,不知道和这个有关系否,但是之前用普通内核,分流规则是出域名的,没有问题。

打开域名嗅探,应该是meta+fakeip出现的问题。 如果域名嗅探无用,就打开openclash的dns劫持

我一直使用Redir-Host TUN模式(fakeip模式uu加速器总是失败),按照您给的建议调整为meta+fakeip,打开域名嗅探,打开dns劫持,依然分流时全是ip地址,域名规则无效。 所以不论是Redir-host还是fakeip,使用meta后,分流规则均是ip地址。 我把我的配置提供如下:

redir-host配置 Screenshot 2024-04-25 at 12 32 05

fakeip 放置 Screenshot 2024-04-25 at 12 27 38

Meta设置 Screenshot 2024-04-25 at 12 27 55

DNS设置 Screenshot 2024-04-25 at 12 27 43

分流显示 Screenshot 2024-04-25 at 12 27 20

meta的域名嗅探似乎需要启用"自定义流量探测(嗅探)设置"才能使用

我的 流量(域名)探测设置 屏幕截图_20240425_130432

另外,如无需要,可停用udp转发(避免uu加速器加速失败) 屏幕截图_20240425_130915

BlueBenson commented 5 months ago

用meta

换用Meta内核后确实可以正常下载了,非常感谢,但是出了个新问题,换用Meta内核后,发现分流时,全是IP地址,用域名的规则都无法命中。 我的网络环境是内网搭建了pi-hole,pi-hole通过tls dns方式解析域名,不知道和这个有关系否,但是之前用普通内核,分流规则是出域名的,没有问题。

打开域名嗅探,应该是meta+fakeip出现的问题。 如果域名嗅探无用,就打开openclash的dns劫持

我一直使用Redir-Host TUN模式(fakeip模式uu加速器总是失败),按照您给的建议调整为meta+fakeip,打开域名嗅探,打开dns劫持,依然分流时全是ip地址,域名规则无效。 所以不论是Redir-host还是fakeip,使用meta后,分流规则均是ip地址。 我把我的配置提供如下:

meta的域名嗅探似乎需要启用"自定义流量探测(嗅探)设置"才能使用

我的 流量(域名)探测设置 屏幕截图_20240425_130432

另外,如无需要,可停用udp转发(避免uu加速器加速失败) 屏幕截图_20240425_130915

勾选启用"自定义流量探测(嗅探)设置"后,问题解决了,感谢!貌似meta确实还需继续优化。

github-actions[bot] commented 3 months ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days