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在非常多情况下不安常理出牌,还有待研究
Openwrt中luci配置页面cbi小记的更多相关文章
- 转:openwrt中luci学习笔记
原文地址:openwrt中luci学习笔记 最近在学习OpenWrt,需要在OpenWrt的WEB界面增加内容,本文将讲述修改OpenWrt的过程和其中遇到的问题. 一.WEB界面开发 ...
- openwrt 中route配置
route配置项默认保存在文件 /etc/config/network 中. 配置route的接口“interface” 使用的协议需要为dhcp才可. config interface 'wan' ...
- OpenWrt 中安装配置Transmission
参考文章https://wiki.openwrt.org/doc/uci/transmission 1. 安装包 必装的 transmission-daemon-openssl (后台服务)选装的 t ...
- NodeMCU之旅(四):实现Web配置页面
引言 利用Web页面做配置可以轻松适应用户的多种设备,如Android, IOS等.本文将介绍如何在NodeMCU中实现配置页面. 接线图请参考NodeMCU之旅(三):响应配置按钮. 配置页面后端 ...
- openwrt开源系统LUCI配置界面
转自:http://www.right.com.cn/forum/thread-131035-1-1.html 本人菜鸟,最近在学习这方面的知识,在参考资料的基础上总结如下内容.这篇文章针对如何对op ...
- 路由器开源系统openwrt配置页面定制
1. 新建虚拟机,百度文库有一篇<使用VMware安装OpenWrt>,地址:http://wenku.baidu.com/link?url=NkvaQpTf2dR8FpYn7JD9A7- ...
- [转载]ASP.NET伪静态页面的实现和伪静态在IIS7.0中的配置
ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置 最近在写一个CMS的内容管理系统,需要用到一个伪静态方面的方法,在网上找了一下这方面的资料,现将这方面的资源记录一下. 本机环境: ...
- 配置树莓派3的openwrt中的网络
在上一篇中讲到openwrt的编译安装: http://www.cnblogs.com/yeqluofwupheng/p/7296218.html 但是烧写进去,启动系统后发现它的默认配置是路由器,所 ...
- 企业级监控软件Zabbix搭建部署之zabbix在WEB页面中的配置
企业级监控软件zabbix搭建部署之zabbix在WEB页面中的配置 企业级监控软件zabbix搭建部署之zabbix在WEB页面中的配置 关于安装请看 http://www.linuxidc.com ...
随机推荐
- springboot自定义常量配置
现在你建一个类: import org.springframework.boot.context.properties.ConfigurationProperties; /** * Created b ...
- css每次的初始化代码
;;} body{font-size:14px;} img{border:none;} li{list-style:none;} input,select,textarea{outline:none; ...
- html5——渐变
线性渐变 <style> div { width: 700px; height: 100px; /*方向:从右向左*/ /*起始颜色:黄色*/ /*终止颜色:绿色*/ background ...
- 仿win8磁贴界面以及功能
做移动产品界面占很大的一部分,同时也是决定一款产品好的的重要因素,最近看见有人放win8的界面效果,搜了两款,一款是只是仿界面没有特效,另一款是自定义组件能够实现反转效果,今天分析一下这两类界面. 仿 ...
- day07补充-数据类型总结及拷贝
目录 数据类型总结 按照存一个值 OR 多个值来分 按照有序 OR 无序来分 按照可变 OR 不可变来分 拷贝 && 浅拷贝 && 深拷贝&& .cop ...
- Java单元测试 - TestNG
官网 Eclipse安装TestNG插件 与Junit相比 从Junit发展而来,开发者就是Junit小组的一个人 Test Suite不再需要硬编码,就像cf自动登录的脚本中一样,可以写到一个xml ...
- day2笔记
今日内容: 1.常用数据类型即数据方法 2.文件处理 3.函数 一 列表: 在[]内,可以存放多个任意类型的值,并以逗号隔开. 一般用于存放学生的爱好,课堂的周期等等 优先掌握的操作: 1.按索引取值 ...
- CAD处理键盘按钮被释放(com接口VB语言)
主要用到函数说明: MxDrawXCustomEvent::KeyUp 键盘按钮被释放,详细说明如下: 参数 说明 iVk 是按钮码,如F8,的值为#define VK_F8 0x77 返回0消息继续 ...
- awk 新手入门笔记
转自:http://www.habadog.com/2011/05/22/awk-freshman-handbook/ awk新手入门笔记 @作者 : habadog@邮箱 : habadog1203 ...
- / Vijos / 题库 / 1622 / 文件查找(HOI)
/ Vijos / 题库 /1622/文件查找(HOI) 描述 WINDOWS是一个很庞大的操作系统(当然啦,看占的硬盘空间就知道了),比如说,它的文件查找系统.现在,请你用PASCAL或者C或者C+ ...