首页 > 经验心得 > OPENWRT为你的luci添加配置界面(含源码)OPENWRT自己添加菜单和配置页面编译IPK
2019
02-27

OPENWRT为你的luci添加配置界面(含源码)OPENWRT自己添加菜单和配置页面编译IPK

因为经常要自己进去vi编辑某些配置文档,忽然想到,如果可以在luci界面编辑一下该多好,

有了idea,就行动起来,下面是详细教程:

第一部分:添加一个luci界面(给新手看的)

添加自己的luci界面,有3个必要的要素(新建文档):

a.新建一个在/etc/config/abcdefg文档

b.新建一个在/usr/lib/lua/luci/controller/abcdefg.lua文档

c.新建一个在/usr/lib/lua/luci/model/cbi/abcdefg.lua文档

它们的作用关系是:b文档是让c文档在luci的菜单中显示出来,c文档是内容和脚本,a文档是c文档定义的变量,一切的主体是c文档。


/etc/config/abcdefg文档的内容如下:(a)

config abcdefg


/usr/lib/lua/luci/controller/abcdefg.lua文档内容如下:(b)

function index()

        if not nixio.fs.access("/etc/config/abcdefg") then

                return

        end

        entry({"admin", "system", "abcdefg"}, cbi("abcdefg"), _("高级配置")).dependent = true

end


/usr/lib/lua/luci/model/cbi/abcdefg.lua文档内容如下:(c)

--teasiu<teasiu@163.com>

local fs = require "nixio.fs"

local sys = require "luci.sys"

m = Map("abcdefg", translate("openwrt高级设置"), translate("各类服务内置脚本文档的直接编辑,除非你知道自己在干什么,否则请不要轻易修改这些配置文档"))

s = m:section(TypedSection, "abcdefg")

s.anonymous=true

--这里开始添加东西

return m

ok,到这里,把3个文档分别传到路由器相应的位置,你就建立了一个属于你自己的luci界面了。

OPENWRT为你的luci添加自助高级配置界面(含源码)OPENWRT自己添加菜单和配置页面

利用上面的源码编译成ipk,以cc为例:

在feeds/luci/applications下面新建一个luci-app-myabc文件夹,

mkdir -p feeds/luci/applications/luci-app-myabc/root/etc/config   #这里放a

mkdir -p feeds/luci/applications/luci-app-myabc/luasrc/controller  #这里放b

mkdir -p feeds/luci/applications/luci-app-myabc/luasrc/model/cbi  #这里放c

在luci-app-myabc文件夹下新建一个Makefile文档:

代码如下:

include $(TOPDIR)/rules.mk

LUCI_TITLE:=LuCI Support for mynameabc

LUCI_DEPENDS:=


include ../../luci.mk


# call BuildPackage - OpenWrt buildroot signature


接下来

./scripts/feeds update luci

./scripts/feeds install -a -p luci

然后make menuconfig

你就能在luci的app下找到并添加了。

免费支持本站

支付宝打赏微信打赏