QiuSimons / openwrt-mos

GNU General Public License v3.0
236 stars 89 forks source link

编译正常,但登录Op后Luci报错 #165

Closed FunnyFly-ZW closed 8 months ago

FunnyFly-ZW commented 8 months ago

显示如下: /usr/lib/lua/luci/controller/mosdns.lua:28: attempt to call upvalue 'check_config_file' (a nil value) stack traceback: /usr/lib/lua/luci/controller/mosdns.lua:28: in function 'v' /usr/lib/lua/luci/dispatcher.lua:585: in function 'createtree' /usr/lib/lua/luci/dispatcher.lua:251: in function 'dispatch' /usr/lib/lua/luci/dispatcher.lua:129: in function </usr/lib/lua/luci/dispatcher.lua:128>

daiaji commented 8 months ago
local function check_config_file()
    return nixio.fs.access("/etc/config/mosdns")
end

此函数只有一个作用。 检测/etc/config/mosdns是否存在。 我猜你的/etc/config/mosdns不存在。

FunnyFly-ZW commented 8 months ago
local function check_config_file()
    return nixio.fs.access("/etc/config/mosdns")
end

此函数只有一个作用。 检测/etc/config/mosdns是否存在。 我猜你的/etc/config/mosdns不存在。

我检查了/etc/config/mosdns,是存在的,文件内容和源码一致 另外/usr/bin/mosdns的二进制文件也是在的,还是出现这个错误 大佬能帮忙看下吗,https://github.com/FunnyFly-ZW/OpenWRT-CI/releases ,最新的那个 编译语句如下:

#MosDNS(QiuSimons)
find ../feeds/ | grep Makefile | grep mosdns | xargs rm -f
find ../feeds/ | grep Makefile | grep v2ray-geodata | xargs rm -f
git clone --depth=1 --single-branch https://github.com/QiuSimons/openwrt-mos.git
daiaji commented 8 months ago

老实说这个包只保证在主线能用,其他的openwrt但凡版本旧点,不工作很正常,我也无意改善旧版本的兼容性。 更糟糕的是主线那边表示要让luci和lua脱钩,以后转向js,lua运行时都要删掉。 那又要一番重构,一般来说到这一步,coolsnowwolf氏的openwrt根本就跑不了这个包。


https://github.com/QiuSimons/openwrt-mos/pull/167/commits/bca29d5f13490588ca764b7cbff34bedefaa6eee 管不管用我就不知道了。

qingtian110 commented 8 months ago

显示如下: /usr/lib/lua/luci/controller/mosdns.lua:28: attempt to call upvalue 'check_config_file' (a nil value) stack traceback: /usr/lib/lua/luci/controller/mosdns.lua:28: in function 'v' /usr/lib/lua/luci/dispatcher.lua:585: in function 'createtree' /usr/lib/lua/luci/dispatcher.lua:251: in function 'dispatch' /usr/lib/lua/luci/dispatcher.lua:129: in function </usr/lib/lua/luci/dispatcher.lua:128>

163 之后,这个 luci 已经废了。外加 #167 。。。。

你怎么不用这个版本 https://github.com/sbwml/luci-app-mosdns 这个经过 时间和用户检阅过的

daiaji commented 8 months ago

显示如下: /usr/lib/lua/luci/controller/mosdns.lua:28: attempt to call upvalue 'check_config_file' (a nil value) stack traceback: /usr/lib/lua/luci/controller/mosdns.lua:28: in function 'v' /usr/lib/lua/luci/dispatcher.lua:585: in function 'createtree' /usr/lib/lua/luci/dispatcher.lua:251: in function 'dispatch' /usr/lib/lua/luci/dispatcher.lua:129: in function </usr/lib/lua/luci/dispatcher.lua:128>

163 之后,这个 luci 已经废了。外加 #167 。。。。

你怎么不用这个版本 https://github.com/sbwml/luci-app-mosdns 这个经过 时间和用户检阅过的

sbwml本人也无意PR,而且本项目一直也不在意兼容性,在主线openwrt能跑就无所谓,基本上只有你自己愿意修兼容,才有得搞的样子。

QiuSimons也只会说这是个人项目,加功能你自己PR,有挺多东西都是我自己加的来着。

前面说过了,修兼容意义不大,等主线转向JS,更是屁的兼容都没有。

qingtian110 commented 8 months ago

openwrt 从未放弃过对 lua 的支持,所以不存在兼容不兼容的说法。在 openwrt 上能正常跑的 lua,lede 一样可以,它对标 18.06。唯一有问题的只有被魔改的OP --> QSDK,因为 QSDK functions 自身存在问题。不过这个东西可以忽略,因为用的人太少。

主要是搞不懂为什么会提这样的PR,看 commit 说明是代码规范,但事实上你如果去看 openwrt 现有的 lua luci-app,你会发现这 PR 完全不规范,甚至炸裂的地方特别多。

qingtian110 commented 8 months ago

针对 op主线的lua兼容来讲,这也不符合 ucode 的规范。。。。

daiaji commented 8 months ago

openwrt 从未放弃过对 lua 的支持,所以不存在兼容不兼容的说法。在 openwrt 上能正常跑的 lua,lede 一样可以,它对标 18.06。唯一有问题的只有被魔改的OP --> QSDK,因为 QSDK functions 自身存在问题。不过这个东西可以忽略,因为用的人太少。

主要是搞不懂为什么会提这样的PR,看 commit 说明是代码规范,但事实上你如果去看 openwrt 现有的 lua luci-app,你会发现这 PR 完全不规范,甚至炸裂的地方特别多。

https://forum.openwrt.org/t/can-i-use-lua-to-write-init-scripts/189793/3?u=daiaji

至于PR,GPT生成的,能跑我就很开心了。

FunnyFly-ZW commented 8 months ago

大佬们别争了,我知道这个仓库适合官方源码,不适合大雕的lede了。其实只是好奇和sbwml那个用起来有什么不同想试试看而已… 这个issue我就关闭了