Openwrt中luci配置页面cbi小记
先看看network的配置文件:
- config interface 'loopback'
- option ifname 'lo'
- option proto 'static'
- option ipaddr '127.0.0.1'
- option netmask '255.0.0.0'
- config interface 'lan'
- option ifname 'eth0 eth1'
- option type 'bridge'
- option proto 'static'
- option ipaddr '192.168.1.10'
- option netmask '255.255.255.0'
- config switch
- option name 'eth0'
- option reset '1'
- option enable_vlan '1'
- config switch_vlan
- option device 'eth0'
- option vlan '1'
- option ports '0 1 2 3 4'
首先绑定/etc/config下的一个配置文件,比方network:
- m = Map("network")
然后绑定network以下的一个部分,比方config interface 'lan' :
- n = m:section(NamedSection, "lan", translate("接口配置"))
- n.anonymous = true
- n.addremove = false --不添加移除的button
- 这里使用的是名字匹配。还有类型匹配。加如要config switch 这个时候我们能够使用 :
- n = m:section(TypedSection, "switch",translate("xx"))
假如上面的lan使用TypedSection interface的话 ,是能够同一时候匹配 config interface loopback 里面的字段的。
这个时候我们已经绑定了lanport的字段 ,就能够開始对里面的ipaddr,netmask等进行改动 :
- ip = n:option(Value,"ipaddr",translate("IP地址")
这个时候就会有一个IP地址 : 。这种对话框,里面填写就可以,假设须要加入提示,能够这样:
- ip = n:option(Value,"ipaddr","IP地址","改动IP地址”)
这个时候下方就会显示一句提示。改动IP地址。
当中的Value还有几种别的属性,比方Listvalue,下拉选择框,假如说我要选择netmask,给几个选项,下拉选择:
- mask = s:option(ListValue,"netmask",translate("子网掩码"))
- mask.override_values = true
- mask:value("255.255.255.0",translate("255.255.255.0"))
- mask:value("xxx.xxx.xxx.x",translate("xxxxxx"))
这个时候就会出现一个子网掩码的下拉框供选择。详细更复杂的功能能够參考官方文档
Value另一个属性就勾选框,Flag,用法类似,介绍一点最简单的使用 :
- encryption = s:option(Flag,"encryption",translate("............"))
- encryption.default = encryption.enabled
- encryption.enabled = "wpa-psk2"
- encryption.disabled = "none"
这个是选择加不加密的,一般这个时候我们选择以后要出现一个key的password框。这个时候就要用到depends()这个函数了,比方:
- key = s:option(Value,"key",translate("Password"))
- key:depends({encryption="wpa-psk2"})
这里结合上面的勾选。假如勾选,就会出现一个password框,也能够和下拉框配合一起使用
最后通过改动帐号password来介绍几个參数 :
- username = s:option(Value,"username",".........")
- username.rmempty = false --不同意为空
- password = s:option(Value,"password",".........")
- password.password=true --加密,也就是*号显示,往往后面会带一个button,能够即时显示密码
- password.rmempt =false
临时就这么多。以后再慢慢补充,近期在写机器人。挂在irc上面,结合曾经写的一些查询类程序。能够实现非常多功能嘿嘿,上班没事的时候写写
对了 ,改动完了记得rm -rf /tmp/luci-*来更新缓存,不然看不到变化的,还有浏览器删掉又一次输入地址!
新增button简单应用
button = modex:option(Button, "modename", "桥接模式")
button.inputtitle = translate("切换")
button.inputstyle = "apply"
function button.write(self, section, value)
AbstractValue.write(self, section, value)
luci.sys.call("uci set network.lan.ifname=\"eth0.1 eth0.2\" ;uci del network.wan")
--self.inputtitle = translate("路由模式")
return
end
DDummyValue 静态文本
depends在非常多情况下不安常理出牌,还有待研究
转载于:https://www.cnblogs.com/yangykaifa/p/7117775.html
Openwrt中luci配置页面cbi小记相关推荐
- Linux路由界面设置,nuxt中如何配置页面路由
nuxt中如何配置页面路由 发布时间:2020-11-06 15:16:34 来源:亿速云 阅读:248 作者:Leah 今天就跟大家聊聊有关nuxt中如何配置页面路由,可能很多人都不太了解,为了让大 ...
- openwrt的luci应用ipk包开发(三)
luci配置页面修改配置文件 先看看network的配置文件: config interface 'loopback' option ifname 'lo'option proto 'static' ...
- 智能路由器-OpenWRT 系列三 (OpenWRT安装LuCI网络配置)
OpenWRT 安装 LUCI 每次ssh登陆OpenWRT安装新软件时,都必须更新opkg opkg update 安装LUCI opkg install luci 安装luci中文语言包, 不同O ...
- OpenWRT添加自定义LUCI页面示例
1.文档结构 在openwrt源代码目录 /openwrt/feeds/luci/applications/下创建文件夹luci-myapplication.文件夹必须以luci-开头以便make m ...
- 完整适配LUCI界面的Openwrt中EC20的QMI拨号
目前4G模块应用已经非常普及,跟之前的3G不同,3G基本使用ppp拨号,usbserial驱动,Linux内核自带支持,此应用非常简单. 4G模块由于速率较高,usbserial驱动性能满足不了,因此 ...
- 手动编译LUCI 到 openwrt中 并且解决'/bin/po2lmo': Permission denied问题
放个自己在卖的东西的链接,望朋友们多多支持,中央控制器控制舞台灯光的设备 https://item.taobao.com/item.htm?scm=12306.300.0.0&id=38169 ...
- Django框架(9.Django中的配置使用MySQL数据库以及页面重定向)
ORM框架简介 ORM框架还可以通过方便的配置就可以进行数据库的切换 进入虚拟环境,创建一个新的项目,django-admin startproject test2 (test2为项目名) 创建好 ...
- LiveNVR监控流媒体Onvif/RTSP常见问题-页面中如何配置开启输出RTSP流
LiveNVR常见问题-页面中如何配置开启输出RTSP流? 1.RTSP流说明 2.开启RTSP 3.获取RTSP流地址 3.1.HTTP接口调用 3.1.1.接口调用示例 3.1.2.接口返回示例 ...
- luci编程 openwrt_openwrt开源系统LUCI配置界面
转自:http://www.right.com.cn/forum/thread-131035-1-1.html 本人菜鸟,最近在学习这方面的知识,在参考资料的基础上总结如下内容. 这篇文章针对如何对o ...
最新文章
- R 语言中的高级图像处理包
- Mybatis学习记录(二)----mybatis开发dao的方法
- kaggle House_Price_XGBoost
- Can‘t bind to formControl since it isn‘t a known property of input错误消息的处理
- 码云 Gitee 新增仓库访问之 IP 白名单功能
- (算法)宝石升级问题
- 美团点评基于MGR的CMDB高可用架构搭建之路【转】
- 软件项目管理大作业_《软件工程》软件项目管理实验
- 集成电路总设计(Ⅴ)
- python程序设计pdf机械出版_Python程序设计
- 自适应求积算法 MatLab版
- python中获取网页元素
- 关于ABAP中锁参数SCOPE的使用bug一粒
- 查看IP和MAC地址的命令
- 苹果股价盘后涨超5% 市值一度突破万亿
- 解决Win7缺失MSVCR120.DLL问题
- 基于Python的安卓图形锁破解程序
- 哈工大计算机科学与捄术学院,[哈尔滨工业大学]管理科学与工程
- 【调剂】北京语言大学 SAIT 智能语音习得技术实验室
- 《情感分析、挖掘观点、情感和情绪》1
热门文章
- 在浏览器里使用SAPGUI里的SE80
- SAP的这三款CRM解决方案,您能区分清楚么
- 无法使用tomcat6.exe启动服务
- 经典汉诺塔(Java初学递归篇)
- quartzjob传递传输_Quartz教程三:Job与JobDetail介绍
- ppt计算机英语介绍,介绍电脑的英语ppt
- xml语言与html,XML与HTML的分析处理
- java+web+415_使用json返回HTTP状态415的Web服务 - 不支持的媒体类型
- js php 时间格式化字符串,JS怎么实现字符串与日期的互相转换及日期的格式化
- android queue用法,GitHub - rygz146/TQueue: Android 可以任意切换线程的任务队列, TQueue