openwrt web管理luci界面修改

以前都没听过openwrt和luci,只接触过简单的php语言。由于工作原因,要修改下luci的界面,竟然用了我2天的时间才简单的了解了luci的用法。这里简单的和大家分享下。(就接触2天,本人又是菜鸟级别,高手直接略过吧)大家发现有什么错误就和我说下大家共同学习。我主要是想修改下open后台界面网页的内容。

具体怎么安装已经有人介绍过来了,我就不详细说了。下面说配置好之后,修改UI的做法

在浏览器中输入:http://192.168.1.1/ 会自动跳到http://192.168.1.1/cgi-bin/luci 登陆默认root 密码是空

默认的几个一级菜单都是在modules\admin-full\luasrc\controller\admin\ 这个目录下

这个就类似于php的根目录了。/etc/config/这个目录下面的文件,个人观点是可以把它当做是php中的数据库连看待,这样反而更方便理解。

实际上luci界面提供的已经很全了,我们并没有多少必要要新建立页面,我们大多就是在已有的界面上添加一些内容。比如我们公司现在需要添加wifi的isolate和maxassoc这两项属性。就让我找了半天才找到

首先要找到network-wifi对应的文件,

在找点击edit后页面对应的文件。

network.lua这个文件里面就定义了network下面有哪些二级目录。

比如我要改wifi,我就看到有

if has_wifi and has_wifi.size > 0 then page = entry({“admin”, “network”, “wireless”}, arcombine(template(“admin_network/wifi_overview”), cbi(“admin_network/wifi”)), _(“Wifi”), 15) page.leaf = true page.subindex = true

这里面有cbi(“admin_network/wifi”)这条语句。知道的人就知道,不知道也没关系,想知道可以自己查下。

这时我们到目录\modules\admin-full\luasrc\model\cbi\admin_network\下面可以发现一个wifi.lua的文件,cbi的语句就是指向的这个文件。我们打开wifi.lua后,在———————- Interface ———————–这个下面地方添加

isolate = s:taboption(“advanced”, Flag, “isolate”, translate(“Separate Clients”),translate(“Prevents client-to-client communication”))

maxassoc = s:taboption(“advanced”, Value, “maxassoc”, translate(“Connection Limi”),translate(“Specifies the maximum number of clients to connect.”))

这样两条语句就可以了。进入network-wifi edit看下我们修改的效果

我们进入network-wifi之后选择一个无线网络点击edit后进入页面

在Interface Configuration下面的Advanced Settings下面可以进行修改之后点击Save & Apply

修改这两项是保存在什么地方呢?刚刚我说了,/etc/config/目录下相当于数据库的功能。

这时我们vi /etc/config/wireless可以查看到我们刚刚修改内容。

可以看到已经修改为我们刚刚调整的77了。

有的人想要添加新的页面和功能,可以看下下面的内容。

下面内容来源于chaochaoblog

要完成一个新模块并用到里面需要两个东西,

第一个我们先找到usr/lib/lua/LuCI/controller在里面建立一个文件夹,也就是我们的模块名称,就叫smustar吧

在smustar下面再写我们模块的主文件就叫smumodule.lua吧

参考官网,我们的模块写法应该是这样子的

module(“LuCI.controller.smustar.smumodule”, package.seeall)

function index()
entry({“admin”, “network”, “802.1x“}, cbi(“smustar-smumodule/netifaces”), “Network interfaces”, 30).dependent=false
end

第一句话是声明一下这个模块了,没什么可说的。

第二句话就是我们模块的主函数,其中呢要告诉它我们的入口,与其说入口,不如说就是告诉它是要admin登录才能用的,是在network这个菜单下,名字呢,叫做802.1x。模块执行的程序呢在smustar-smumodule/netifaces这里。

好了各位又郁闷了smustar-smumodule/netifaces是什么东西,这是我们要建立的另外一个文件,上面不是说要两个么

我们找到路径/usr/lib/lua/LuCI/module

在下面建立文件夹smustar-smmodule建立文件netfaces.lua

好了接下来就是要在netfaces.lua写我们的程序了,参考官网所说的这个什么LuCI最酷的地方,也就是修改config文件

不要说你不懂什么是config文件了,最简单的比如network。

我们在/etc/config下面建立一个配置文件叫smuset吧

那这就是一个config文件的写法

config ‘interface’ ‘smustar’

option ‘user’ ‘youruser’
option ‘pass’ ‘yourpass’

ok这个config文件就是这样子了接下来写netfaces.lua

m = Map(“smuset”, “smustar”) — We want to edit the uci config file /etc/config/smustar 这里是我们要配置的文件了,默认的路径它已经能够区别的,不用管了
s = m:section(TypedSection, “interface”, “smustar”) — Especially the “interface”-sections读出里面的interface区域来
s.addremove = true — Allow the user to create and remove the interfaces

s:option(Value, “user”, “youruser”)这个能就是一个input即一个输入框了读取的是smuset中的user项。youruser是提示语罗

key=s:option(Value, “pass”, “your password”)

key.password=true; 设置为星号的密码输入框

return m — Returns the map
好了文件就完成了,之后我们进入LuCI配置界面

在network下可以看到了802.1x选项

进入后有账号和密码输入框 改一下之后

save&apply一下,发现密码被修改了。我们的802.1x配置界面就做好了!

本文章由http://www.wifidog.pro/2015/07/30/openwrt-luci%E4%BF%AE%E6%94%B9.html整理编辑,转载请注明出处

时间: 2024-10-08 21:45:33

openwrt web管理luci界面修改的相关文章

openwrt web管理页面 LuCI 要点

在uHTTPd上安装LuCI 这是安装Web用户界面LuCI的要点.运行"opkg update && opkg list luci-*"命令查找所有可用的能通过LuCI管理OpenWrt的软件包. 安装 在软件库中检索可用软件包的最新列表: opkg update ? 完整安装一个不需要HTTPS支持的LuCI: opkg install luci ? 完整安装一个需要HTTPS支持的LuCI: opkg install luci-ssl OPKG 安装 luci本地

OpenWrt的luci web管理器添加新菜单(三)

继前面两篇:OpenWrt的luci web管理器添加新菜单 和 OpenWrt的luci web管理器添加新菜单(二) 此次的扩展内容是实现一个登录界面,并且将登录界面中输入的内容解析到一个配置文件中 步骤一: 修改/usr/lib/lua/luci/model/cbi/admin_myapp/cbi_tab.lua文件: -- Copyright 2008 fulinux <[email protected]> -- Licensed to the public under the Apa

OpenWrt的luci web管理器添加新菜单

OpenWrt的luci web管理器添加新菜单 本篇博客主要描述luci添加菜单的两个实例,即CBI和View(Template): 添加新元素到luci中去 添加新的顶级选项卡标签(主菜单) 添加cbi标签的代码 添加cbi配置文件 添加view标签代码 关键字 luci cbi view template fulinux 添加新元素到luci中去 这里将向大家展示如何在luci中添加新标签的方法. 作为一个实例我将向大家展示luci添加新标签的两种方法: CBI 2.View(templa

OpenWrt的luci web管理器添加新菜单(二)

继上一篇:OpenWrt的luci web管理器添加新菜单 Call的方式: 在/usr/lib/lua/luci/controller/admin/new_tab.lua 文件中添加如下红色部分的内容: -- Copyright 2008 fulinux <[email protected]>-- Licensed to the public under the Apache License 2.0. local fs = require "nixio.fs" modul

OpenWrt Web界面修改及功能实现实例说明

http://www.cnblogs.com/dwayne/archive/2012/04/21/2460830.html 通过上篇文章的介绍,我们应该了解了Lua语言在OpenWrt Web配置页面的基本对应功能设计方法.本文将以一个页面为例,来说明Lua语言如何实现页面控件以及怎么使输入或操作的选项在系统中生效. 页面如图所示: 首先,我们要在System栏下建立分页"Test by Wayne",使用cbi模块实现,修改目录lua\luci\controller\admin下的s

openwrt开源系统LUCI配置界面

转自:http://www.right.com.cn/forum/thread-131035-1-1.html 本人菜鸟,最近在学习这方面的知识,在参考资料的基础上总结如下内容.这篇文章针对如何对openwrt开源系统的LUCI界面进行配置! 主要如下三点: 第一,主要介绍了该如何修改luci源代码,在哪里进行修改: 第二,在LuCI里如何写一个自己的模块: 第三,LuCI实现启动应用程序等脚本命令. 一.如何修改LUCI源代码    如何修改该LuCI的源代码,你首先需要了解一下LuCI基本知

OpenWRT - WEB界面开发思路和基本方法

想要对OpenWRT的WEB界面(*下称界面)进行修改.修改的目标是: 1.修改页面的样式,设计为企业的风格(stylesheet) 2.新建自己的功能,实现 访问页面后,用户就可以对配置文件(也就是系统的一些参数)进行修改. 甚至是与远端服务器交互,实现验证. 一. 几种可行的开发路线: 1.改用PHP.JSP等语言开发 2.修改已有的界面,实现自己的功能 2.1 修改已有样式表 2.2 仍然利用lua开发 第一种比较容易操作,但需要在设备里安装nginx和PHP环境,然后在 /www下放PH

redis入门与web管理界面

redis之前也用了一段时间,作用大概也类似于: 一:redis作用 1:用户数据缓存,每次http访问与响应,都会产生数据,而这些数据,是否都会走向数据库存表? 不妨来一段实例:电商网购平台,首页每日PV 五千万左右,前端产生日志量每日大于400M,是否能够给登录用户账号.个人中心,订单都存表? 那即使优化tcp-connects.tomcatThreadpools.oracle-connects,分分钟崩盘数据库,即使是RAC4节点数据库. project:使用redis缓存,这是一种web

F5 BIG-IP负载均衡器配置实例与Web管理界面体验

转载:http://www.zyan.cc/f5_big_ip/ 前言:最近一直在对比测试F5 BIG-IP和Citrix NetScaler负载均衡器的各项性能,于是写下此篇文章,记录F5 BIG-IP的常见应用配置方法. 目前,许多厂商推出了专用于平衡服务器负载的负载均衡器,如F5 Network公司的BIG-IP,Citrix公司的NetScaler.F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡.应用交换.会话交换.状态监控.智能网络地址转