Openwrt中luci配置页面cbi小记

先看看network的配置文件:

[html] view plaincopy

  1. config interface ‘loopback‘
  2. option ifname ‘lo‘
  3. option proto ‘static‘
  4. option ipaddr ‘127.0.0.1‘
  5. option netmask ‘255.0.0.0‘
  6. config interface ‘lan‘
  7. option ifname ‘eth0 eth1‘
  8. option type ‘bridge‘
  9. option proto ‘static‘
  10. option ipaddr ‘192.168.1.10‘
  11. option netmask ‘255.255.255.0‘
  12. config switch
  13. option name ‘eth0‘
  14. option reset ‘1‘
  15. option enable_vlan ‘1‘
  16. config switch_vlan
  17. option device ‘eth0‘
  18. option vlan ‘1‘
  19. option ports ‘0 1 2 3 4‘

首先绑定/etc/config下的一个配置文件,比方network:

[html] view plaincopy

  1. m = Map("network")

然后绑定network以下的一个部分,比方config interface ‘lan‘ :

[html] view plaincopy

  1. n = m:section(NamedSection, "lan", translate("接口配置"))
  2. n.anonymous = true
  3. n.addremove = false --不添加移除的button
  4. 这里使用的是名字匹配。还有类型匹配。加如要config switch 这个时候我们能够使用 :

[html] view plaincopy

  1. n = m:section(TypedSection, "switch",translate("xx"))

假如上面的lan使用TypedSection interface的话  ,是能够同一时候匹配 config interface loopback 里面的字段的。

这个时候我们已经绑定了lanport的字段 ,就能够開始对里面的ipaddr,netmask等进行改动 :

[html] view plaincopy

  1. ip = n:option(Value,"ipaddr",translate("IP地址")

这个时候就会有一个IP地址 :                             。这种对话框,里面填写就可以,假设须要加入提示,能够这样:

[html] view plaincopy

  1. ip = n:option(Value,"ipaddr","IP地址","改动IP地址”)

这个时候下方就会显示一句提示。改动IP地址。

当中的Value还有几种别的属性,比方Listvalue,下拉选择框,假如说我要选择netmask,给几个选项,下拉选择:

[html] view plaincopy

  1. mask = s:option(ListValue,"netmask",translate("子网掩码"))
  2. mask.override_values = true
  3. mask:value("255.255.255.0",translate("255.255.255.0"))
  4. mask:value("xxx.xxx.xxx.x",translate("xxxxxx"))

这个时候就会出现一个子网掩码的下拉框供选择。详细更复杂的功能能够參考官方文档

Value另一个属性就勾选框,Flag,用法类似,介绍一点最简单的使用 :

[html] view plaincopy

  1. encryption = s:option(Flag,"encryption",translate("............"))
  2. encryption.default = encryption.enabled
  3. encryption.enabled = "wpa-psk2"
  4. encryption.disabled = "none"

这个是选择加不加密的,一般这个时候我们选择以后要出现一个key的password框。这个时候就要用到depends()这个函数了,比方:

[html] view plaincopy

  1. key = s:option(Value,"key",translate("Password"))
  2. key:depends({encryption="wpa-psk2"})

这里结合上面的勾选。假如勾选,就会出现一个password框,也能够和下拉框配合一起使用

最后通过改动帐号password来介绍几个參数 :

[html] view plaincopy

  1. username = s:option(Value,"username",".........")
  2. username.rmempty = false --不同意为空
  3. password = s:option(Value,"password",".........")
  4. password.password=true   --加密,也就是*号显示,往往后面会带一个button,能够即时显示密码
  5. 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在非常多情况下不安常理出牌,还有待研究

时间: 2024-12-26 02:20:54

Openwrt中luci配置页面cbi小记的相关文章

OpenWrt 中安装配置Transmission

参考文章https://wiki.openwrt.org/doc/uci/transmission 1. 安装包必装的 transmission-daemon-openssl (后台服务)选装的 transmission-cli-openssl (命令行管理) transmission-remote-openssl (远程UI管理) transmission-web-openssl (web管理)我选择的是 daemon 和 remote, 在编译OpenWrt的时候已经加入另外需要安装一个客户

OpenWrt中服务配置选项

dhcp网关上配置另一台机器的TFTP启动服务 /etc/config/dhcp/overlay/upper/etc/config/dhcp config dnsmasq ... option dhcp_boot 'pxelinux.0,linuxhouse,192.168.?.?' linuxhouse是TFTP服务器的名称,如果DNS可以解析192.168.?.?是另一台设有TFTP服务的IP地址 原文地址:http://blog.51cto.com/btvnlue/2065991

openwrt开源系统LUCI配置界面

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

智能路由器-OpenWRT 系列三 (OpenWRT安装LuCI&网络配置)

OpenWRT 安装 LUCI 每次ssh登陆OpenWRT安装新软件时,都必须更新opkg opkg update 安装LUCI opkg install luci 安装luci中文语言包, 不同OpenWRT版本中语言包的名称并不相同,比如15.05.1版本中. 进入 https://downloads.openwrt.org/chaoscalmer/15.05.1/ar71xx/nand/packages/luci/ 查找语言包的ipk 为 'luci-i18n-ahcp-zh-cngit

[转载]ASP.NET伪静态页面的实现和伪静态在IIS7.0中的配置

ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置 最近在写一个CMS的内容管理系统,需要用到一个伪静态方面的方法,在网上找了一下这方面的资料,现将这方面的资源记录一下. 本机环境: Window server 2008 R2 Enterprise 操作系统+SQL Server 2008 R2 Enterprise企业版数据+Visual Studio 2010 SP1 普及一下伪静态方面的知识, 1.伪静态简单一点儿来说,其实就是重写了URL,最大的好处便于搜索引擎抓取,因

config.js配置页面中的样式和图片路径

这个文章用在什么地方,我先说一下,上周啊,我接到一个任务.因为公司业务要对接不同的银行,例如在工行下颜色是红色的,在其他银行下默认为蓝色,所以在页面一致的情况下,保证页面中的按钮和ICON是可以配置的,这样秩序改动一个值[颜色或路径],就能正常全部适配好了,其实这个业务很简单: **第一种方案:我们有新建两个config1.js和config2.js,代码分别类似如下:** var config = { // 改变全局按钮颜色 btncolor: "red", // 配置优惠券和同意的

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的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