xiaorouji / openwrt-passwall

7.02k stars 2.62k forks source link

passwall编译、没有编译V2ray、刷入固件后V2ray版本号是Xray的. #1683

Closed yunxi993 closed 2 years ago

yunxi993 commented 2 years ago

描述bug

与v2ray相关的全都没有编译,passwall组件却显示 v2ray的版本是 xray的最新版本号,这样会导致使用VMESS节点 主页TCP就会显示未运行、但是节点可以正常使用,并且还会不稳定,同一个节点 同一时间 passwall无法访问外网、手机上却可以.

截图

image

系统相关信息

passwall版本 4.45-1 浏览器版本,Chrome 最新(正式版本) (64 位)

smallprogram commented 2 years ago

xray是v2ray的超集。不影响使用。我没看代码。回头看看。

smallprogram commented 2 years ago

image

刚看了一下,没有该问题。建议使用最新源码编译,不保留配置升级。

yunxi993 commented 2 years ago

image

刚看了一下,没有该问题。建议使用最新源码编译,不保留配置升级。

我只编译了xray,其它的全都没有编译,如果可以、你试试只编译xray、v2ray相关的都不要编译。

我有在TG群里询问、群友也是全都编译没有相同的情况,并且最近几天也有在各个群里看见询问 passwall TCP显示未运行的情况、原因与我相同、解决方式都是更新一下v2ray的版本就正常了、遇到问题的人固件不是同一个人编译的.

这个BUG的问题在于,我明明没有编译v2ray、但是订阅的节点却显示是v2ray VMESS节点、而不是 xray VMESS节点,而导致使用节点时 TCP显示未运行,并且使用起来还不稳定(不能保证所有遇到这个问题的人都不稳定).

我是刷的今天早晨9点的固件,每次刷固件也不会保留配置.

tianiue commented 2 years ago

v2ray 5.0.1版本不能更新成功

yunxi993 commented 2 years ago

v2ray 5.0.1版本不能更新成功

这么追新吗?还没尝试过v2ray5

yunxi993 commented 2 years ago

image

刚看了一下,没有该问题。建议使用最新源码编译,不保留配置升级。

屏幕截图 2022-01-03 172910 我把 /usr/bin/ 里面的 v2ray 与 v2ray-plugin删除后、组件里面就正常了. 但是我编译时并没有编译与v2ray相关的,并且也是重新拉取的passwall源码,不清楚什么原因导致的.

smallprogram commented 2 years ago

你是要用v2ray吗?如果要用,为啥编译的时候不勾选然后在编译好的固件里折腾呢?

yunxi993 commented 2 years ago

你是要用v2ray吗?如果要用,为啥编译的时候不勾选然后在编译好的固件里折腾呢?

我是用xray使用VMESS节点,所以没有编译v2ray。 正常来说我没有编译v2ray、在passwall组件里面 v2ray版本应该显示的是 【无】,如图、v2ray版本显示的是 xray的版本。 image

现在删除 /usr/bin/ 目录下 v2ray 与 v2ray-plugin 重启passwall之后 组件里面 v2ray的版本就显示【无】 image

现在的编译配置与以前是相同的,以前不编译 v2ray 那就没有v2ray、订阅节点显示的是 xray VMESS,现在不编译 v2ray 在订阅节点时仍然显示 v2ray VMESS。

smallprogram commented 2 years ago

我看看源码修复一下

smallprogram commented 2 years ago

@yunxi993 https://github.com/xiaorouji/openwrt-passwall/blob/c6ab2bb8452cf029896fad34d1b0109406c91ea8/luci-app-passwall/luasrc/model/cbi/passwall/api/api.lua#L287-L306

这部分代码是获取v2ray版本的。你研究一下看看咋改一改。四个月前 @xiaorouji 大佬写的。我有点看不懂。函数套了好几层, 先做了个临时目录,再通过uci获取v2ray的位置。又获取二进制v2的md5值,获取不着的话又通过一系列命令执行(最终-version),最终获取版本信息或者空反回去,到前端在判定有没有版本信息,没有就是NULL,有就是版本号。暂时悟不透大佬为何这么写。 要是我写,直接去usr/bin里找v2ray的二进制文件,找得到的话,执行-version然后截取字符串就成了。找不到就返回空字符串。可能略简单粗暴。

尝试更新了v2ray到5.x,发现v2ray api -version已经失效了。貌似这个问题要去v2fly问问了。

root@OpenWrt:/usr/bin# v2ray -version
flag provided but not defined: -version
Usage of v2ray:

关联问题 #1687 不是把v2ray-core删了,是版本信息获取不到而已,可以去 /usr/bin目录下看一看,v2ray还在且已经更新了

yunxi993 commented 2 years ago

谢谢,我也看不懂 哈哈。 只能等 xiaorouji 解决了。

xiaorouji commented 2 years ago

这是因为你v2ray软链接到了xray导致 https://github.com/xiaorouji/openwrt-passwall/issues/1689

yunxi993 commented 2 years ago

这是因为你v2ray软链接到了xray导致 #1689

我编译时与v2ray相关的全都没有编译,只编译了xray、为什么仍然会出现v2ray软连接. 我在编译配置菜单搜索与v2ray相关的只编译了 v2ray-geoip v2rau-geosite

l0u1szz commented 2 years ago

这是因为你v2ray软链接到了xray导致 #1689

我n1试了68和70两个版本 都有这个问题 尝试替换了文件 但还是没法用v2ray 请问这个软链问题如何解决呢?

xiaorouji commented 2 years ago

rm -f /usr/bin/v2ray

l0u1szz commented 2 years ago

rm -f /usr/bin/v2ray

感谢大佬!删除链接后,v2ray也能更新到4.44.0了,但还是无法使用。 仅仅只是v2ray节点无法连接,请问还有什么可能吗?

image
zhu-jie commented 2 years ago

rm -f /usr/bin/v2ray

感谢大佬!删除链接后,v2ray也能更新到4.44.0了,但还是无法使用。 仅仅只是v2ray节点无法连接,请问还有什么可能吗? image

哈喽,请问你的v2ray无法使用问题解决了吗,我的报错和你一样无法使用