vernesong / OpenClash

A Clash Client For OpenWrt
MIT License
17.83k stars 3.21k forks source link

[Bug] 更新v0.45.127-beta,tuic V5节点均失效,无法ping通 #3368

Closed youngxlover closed 1 year ago

youngxlover commented 1 year ago

Verify Steps

OpenClash Version

v0.45.127-beta

Bug on Environment

Official OpenWrt

Bug on Platform

Linux-amd64(x86-64)

To Reproduce

更新v0.45.127-beta,tuic V5节点均失效,无法ping通。在CFW,clash for verge均可正常使用

Describe the Bug

更新v0.45.127-beta,tuic V5节点均失效,无法ping通。在CFW,clash for verge均可正常使用。内核均为相同最新alpha version

OpenClash Log

无需log

OpenClash Config

No response

Expected Behavior

期望修复,可正常使用Tuic V5,能适配V5的ui界面输入就更佳,节点手搓配置点一下保存就会被覆盖很麻烦。

Screenshots

No response

deuteros-gex commented 1 year ago

tuic V5节点均失效,无法ping通

这个ping不通是因为openclash启动后强制覆盖了配置文件中的v5新增字段,导致clash内核获得的配置文件就是错的? 还是说哪怕clash内核获得正确配置文件(比如不通过openclash启动,而直接通过ssh运行可执行文件),也ping不通?

能适配V5的ui界面输入就更佳

咱不是作者,不过从 #3347 #3338 #3311 #3265 的情况来看,这种既要在luci加按钮、又要在uci中加新字段、后台脚本也得跟着加东西的需求近期应该都希望不大。 反观 #3306 #3318 #3344 这些只需改改后台脚本的需求,跟进得就很快。

当然节点手搓配置点一下保存就会被覆盖很麻烦 也能理解,谁叫openclash在luci里集成了这么多改写yaml的功能呢,而且还是做成对话框的。

现阶段,要么学点subconverter用法,让openclash直接下载正确的配置文件,不在luci做修改。 要么模仿 #3312 里的做法,把tuic v5的节点配置写进一个独立yaml文件,然后通过ruby_arr_add_file函数插进主配置文件

youngxlover commented 1 year ago

保存之后覆盖不是主要原因,127现在是用正确的配置也连不上了。

deuteros-gex commented 1 year ago

127现在是用正确的配置也连不上了。

所以我在问你怎么证明这一点,openclash倒也不至于这么拉胯。

请检查

image

openclash启动后改写的运行配置里tuic v5的新增字段是否被保留,并提供证据。

youngxlover commented 1 year ago

我在127之前没有问题。现在的运行配置中,有正确的tuic V5新增字段,已保留。下载运行配置也显示保留了正确的字段。

aries1998 commented 1 year ago

同样的问题, 也是用的developer分支,就这两天开始tuic v5节点就不能用了, 同样的配置文件用cmfa和clash meta for linux都验证过,可以连通。

开debug日志,全是类似下面的错误, 报错的时候也用tcpdump抓过包,没看到任何包

2023-06-29 12:18:11 level=warning msg="[TCP] dial debug-nodes (match Match/) 198.18.0.1:38052 --> 9.9.9.9:853 error: INTERNAL_ERROR (local): write udp [::]:49349->[2a12:.........]:20443: sendmsg: input/output error"
deuteros-gex commented 1 year ago

感觉可以试试关掉openclash,进ssh,运行 /etc/openclash/clash_meta -d /etc/openclash -f /etc/openclash/你的配置文件名.yaml

相当于脱离openclash创建的防火墙规则,单独运行内核。

然后浏览器输入(ip和密码根据自己的情况调整)进入控制面板,测试节点连通性 http://192.168.0.1:9090/ui/dashboard/#/proxies?host=192.168.0.1&port=9090&secret=123456

aries1998 commented 1 year ago

感觉可以试试关掉openclash,进ssh,运行 /etc/openclash/clash_meta -d /etc/openclash -f /etc/openclash/你的配置文件名.yaml

相当于脱离openclash创建的防火墙规则,单独运行内核。

然后浏览器输入(ip和密码根据自己的情况调整)进入控制面板,测试节点连通性 http://192.168.0.1:9090/ui/dashboard/#/proxies?host=192.168.0.1&port=9090&secret=123456

这些错误log就是meta报的,跟openclash无关, 但还是给你贴出来

另外验证了下,貌似没有什么tuic的配置被覆盖的问题,单纯的就是这个版本的meta核心有问题

image

deuteros-gex commented 1 year ago

另外验证了下,貌似没有什么tuic的配置被覆盖的问题,单纯的就是这个版本的meta核心有问题

对,既然终于确定是meta核心的问题,我好奇的是为啥在这儿提。。

aries1998 commented 1 year ago

另外验证了下,貌似没有什么tuic的配置被覆盖的问题,单纯的就是这个版本的meta核心有问题

对,既然终于确定是meta核心的问题,我好奇的是为啥在这儿提。。

虽然你这问题有点无聊,但还是回答下你。

1 这个issue不是我提的,就算是我提的,也没问题,为什么,因为不是所有用户都清楚到底是哪块的问题的, 他用的openclash, 在openclash提issue没有任何问题

2 我验证过clash meta for linux客户端最新的prerelease版本(11小时前编译的), 没有问题, 只有openclash里面编译的meta核心有问题, 那么提在这里有什么问题?

3 不愿意解答问题没有问题,老是摆出一副fan boy的姿态只是会给这些个作者招黑而已

deuteros-gex commented 1 year ago

我验证过clash meta for linux客户端最新的prerelease版本(11小时前编译的), 没有问题, 只有openclash里面编译的meta核心有问题, 那么提在这里有什么问题? 不愿意解答问题没有问题,老是摆出一副fan boy的姿态只是会给这些个作者招黑而已

朋友,你自己才是藏着掖着,直接说你觉得openclash项目中自动编译的meta核心有问题不就好了。 我之前废那么多口舌不就是为了定位具体组件。操作建议也都给了,咱也不知道fan boy在哪里了。

因为不是所有用户都清楚到底是哪块的问题的, 他用的openclash, 在openclash提issue没有任何问题

我反倒觉得,会用tuic v5、能写yaml的用户不应被视作麻瓜,并不会胡子眉毛一把抓,所以稍加引导,起码能定位问题。 毕竟clash使用层面拢共也就这点东西。

youngxlover commented 1 year ago

CFW/Clash Verge 和 Openclash都使用相同的核,只有Openclash 无法正常工作。 127前可以,127后不能正常工作。 尝试替换了作者编译的核,改为相同版本未压缩,无法正常工作。

所以我认为还是在127版本的某项修改导致了这个问题。

0daysseus commented 1 year ago

我和你同样的情况,我换成clash.meta 这个版本 ,就没问题了,估计是更新quic-go的原因,你可以试试

youngxlover commented 1 year ago

感谢楼上,确实是这个问题,我换了新的1.15就可以恢复,不是127的锅。

hux555 commented 1 year ago

我和你同样的情况,我换成clash.meta这个版本,没问题了,估计是更新quic-go的原因,你可以试试

你好请问v1.15 软路由x86 要下载哪个上去更换内核才能支持tuic v5 https://github.com/MetaCubeX/Clash.Meta/releases/tag/v1.15.0