LuCI2 (OpenWrt web 管理界面) 介绍

LuCI2是OpenWrt的新一代Web管理界面,采用静态HTML和JavaScript XHR与ubus通信,减少资源消耗。它不再依赖Lua扩展,而是通过uhttpd-mod-ubus提供HTTP接口API。LuCI2包含打包的HTML/CSS/JS文件和运行于OpenWrt环境的小工具。菜单、模板和视图是其核心组成部分,通过ubus进行系统数据交互。
摘要由CSDN通过智能技术生成

https://oldwiki.archive.openwrt.org/zh-cn/doc/techref/luci2

一直以来OpenWrt都是采用Lua写的web管理界面LuCI,(开机速度慢不说,居然比不过腾达等弱路由器开机速度)。 LuCI需要使用多个Lua扩展( ubus, luci.model.uci, nixio.fs, 等等)去存取系统信息和设置. 不幸的是这种解决方案在慢CPU和低内存的低配机器设备上是个灾难,此方案相当消耗资源且并不能很好的工作。

这导致开发了LuCI2, 一个不同架构的新的web管理节目。它不再使用Lua,而是使用静态HTML页面加JavaScript XHR方法。 这意味着从OpenWrt设备中下载后在客户端(浏览器)中构建HTML页面, 通过ubus存取各种系统数据(通过uhttpd-mod-ubus提供基于HTTP的接口API).

重要说明

如上所述, LuCI2通过ubusOpenWrt子系统通信(包括如networkservice以及其它)。遗憾的是并非每个主要的OpenWrt工具都自己注册了ubus,LuCI2不能使用opkg(安装包管理) LuCI2通过提供在附加ubus名称空间的rpcd插件解决了这个问题。前面说的opkg它在ubus中注册了一个新的luci2.opkg路径来访问。

综上所述, LuCI2包括两个方面: 打包的HTML/CSS/JS文件 (htdocs) 和一些在OpenWrt环境下运行的附加小工具。

在接下来的章节中,你会找到各种关于LuCI2开发帮助的细节。

菜单

首先需要知道的是浏览器接收到的关于LuCI2菜单并不固定写死在任何文件。代替的是通过ubus使用luci.ui路径和menu方法。可以通过使用以下命令来查看:

ubus call luci2.ui menu '{ "ubus_rpc_session": "invalid" }'

内部的rpcd插件分析在目录/usr/share/rpcd/menu.d的所有文件,当前用户(基于传递的ubus_rpc_session)不允许增加或者删除条目。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值