LuCI2源文件功能
如下是对LuCI2源码中每个文件大致功能的解读,可以据此去看源码
feeds/luci2/luci2 ├── htdocs │ ├── luci2 │ │ ├── bootstrap.js Bootstrap框架源码,简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。http://www.bootcss.com/ │ │ ├── cbi.js 定义了直接读写UCI系统中的配置文件(位于/etc/config/目录下)的一些JS函数 │ │ ├── css 样式 │ │ │ ├── bootstrap.css │ │ │ └── luci2.css │ │ ├── firewall.js 应该是防火墙相关的一些函数封装 │ │ ├── html5.js 应该为了html5做向后兼容老的浏览器吧 │ │ ├── icons 一些图标文件 │ │ │ ├── bridge_disabled.png │ │ │ ├── bridge.png │ │ │ ├── cbi │ │ │ │ ├── add.gif │ │ │ │ ├── apply.gif │ │ │ │ ├── arrow.gif │ │ │ │ ├── down.gif │ │ │ │ ├── download.gif │ │ │ │ ├── edit.gif │ │ │ │ ├── fieldadd.gif │ │ │ │ ├── file.gif │ │ │ │ ├── find.gif │ │ │ │ ├── folder.gif │ │ │ │ ├── help.gif │ │ │ │ ├── key.gif │ │ │ │ ├── link.gif │ │ │ │ ├── reload.gif │ │ │ │ ├── remove.gif │ │ │ │ ├── reset.gif │ │ │ │ ├── save.gif │ │ │ │ ├── up.gif │ │ │ │ └── user.gif │ │ │ ├── encryption_disabled.png │ │ │ ├── encryption.png │ │ │ ├── ethernet_disabled.png │ │ │ ├── ethernet.png │ │ │ ├── loading.gif │ │ │ ├── port_down.png │ │ │ ├── port_up.png │ │ │ ├── progress.gif │ │ │ ├── signal-0-25.png │ │ │ ├── signal-0.png │ │ │ ├── signal-25-50.png │ │ │ ├── signal-50-75.png │ │ │ ├── signal-75-100.png │ │ │ ├── signal-none.png │ │ │ ├── switch_disabled.png │ │ │ ├── switch.png │ │ │ ├── tunnel_disabled.png │ │ │ ├── tunnel.png │ │ │ ├── vlan_disabled.png │ │ │ ├── vlan.png │ │ │ ├── wifi_big_disabled.png │ │ │ ├── wifi_big.png │ │ │ ├── wifi_disabled.png │ │ │ └── wifi.png │ │ ├── jquery-1.9.1.js │ │ ├── jquery.peity.js │ │ ├── luci2.js luci2对象的函数定义 │ │ ├── network.js 读写有线无线网络相关参数的函数;处理ubus的network和luci2.network对象的一些函数 │ │ ├── proto │ │ │ ├── 6in4.js │ │ │ ├── 6rd.js │ │ │ ├── 6to4.js │ │ │ ├── dhcp.js │ │ │ ├── dhcpv6.js │ │ │ ├── dslite.js │ │ │ ├── none.js │ │ │ └── static.js │ │ ├── respond.min.js │ │ ├── rpc.js 实现JSON-RPC协议的一些函数 │ │ ├── session.js 实现用户登陆认证相关的一些函数;处理ubus session对象的一些方法,例如login/access等等; │ │ ├── system.js 获取系统信息,以及控制系统reboot的一些函数 │ │ ├── template 每一个luCI2子页面对应的模板 │ │ │ ├── network.diagnostics.htm │ │ │ ├── network.hosts.htm │ │ │ ├── network.interfaces.htm │ │ │ ├── network.routes.htm │ │ │ ├── network.switch.htm │ │ │ ├── network.wireless.htm │ │ │ ├── status.dmesg.htm │ │ │ ├── status.overview.htm │ │ │ ├── status.processes.htm │ │ │ ├── status.routes.htm │ │ │ ├── status.syslog.htm │ │ │ ├── system.admin.htm │ │ │ ├── system.cron.htm │ │ │ ├── system.leds.htm │ │ │ ├── system.software.htm │ │ │ ├── system.startup.htm │ │ │ ├── system.system.htm │ │ │ ├── system.upgrade.htm │ │ │ └── system.users.htm │ │ ├── uci.js 通过ubus通讯访问UCI系统提供的一些函数;get/set/add/delete/apply等等,具体可以用ubus -v list来看 │ │ ├── ui.js UI相关的一组函数,例如loading,dialog,upload,login,cryptPassword,renderView,renderViewMenu等等 │ │ ├── view 每个LuCI2子页面也需要定义一个视图,存放在/www/luci2/view/目录下 │ │ │ ├── network.diagnostics.js │ │ │ ├── network.hosts.js │ │ │ ├── network.interfaces.js │ │ │ ├── network.routes.js │ │ │ ├── network.switch.js │ │ │ ├── network.wireless.js │ │ │ ├── status.dmesg.js │ │ │ ├── status.overview.js │ │ │ ├── status.processes.js │ │ │ ├── status.routes.js │ │ │ ├── status.syslog.js │ │ │ ├── system.admin.js │ │ │ ├── system.cron.js │ │ │ ├── system.leds.js │ │ │ ├── system.software.js │ │ │ ├── system.startup.js │ │ │ ├── system.system.js │ │ │ ├── system.upgrade.js │ │ │ └── system.users.js │ │ ├── wireless.js 定义了一组获得当前wifi运行参数的函数,例如SSID,KEY认证/加密方式,bitrate等等; 处理ubus的iwinfo对象的一些函数; │ │ └── zoneinfo.json │ └── luci2.html 网页的主页 ├── Makefile ├── share │ ├── acl.d 这里的文件最终会拷贝到 /usr/share/rpcd/acl.d/*.json. 由rpcd来判断有没有访问操作权限;rpcd (OpenWrt ubus RPC backend server)//Openwrt ubus RPC后端服务;更多信息看https://openwrt.org/docs/techref/ubus │ │ └── luci2.json │ └── menu.d 定义了整个网页的菜单 │ ├── network.json 一级菜单network项,及其子菜单的定义 │ ├── status.json 一级菜单status项,及其子菜单的定义 │ └── system.json 一级菜单system项,及其子菜单的定义 └── src ├── CMakeLists.txt ├── io │ ├── CMakeLists.txt │ ├── main.c │ ├── multipart_parser.c │ └── multipart_parser.h └── rpcd ├── bwmon.c 网络监控:网络发送和接收数据统计等等; ├── CMakeLists.txt └── luci2.c LuCI2主要通过ubus和系统进行交互,但是很多功能不提供ubus接口,因此LuCI2通过提供在附加ubus名称空间的rpcd插件来解决;
|
- 1935: [Shoi2007]Tree 园丁的烦恼
- 1339 / 1163: [Baltic2008]Mafia
- 4010: [HNOI2015]菜肴制作
- 4052: [Cerc2013]Magical GCD
- ElasticSearch搜索引擎在SpringBoot中的实践
- 2292: 【POJ Challenge 】永远挑战
- 四边形不等式优化DP
- 4063: [Cerc2012]Darts
- 3997: [TJOI2015]组合数学
- 1349: [Baltic2006]Squint
- 遗传算法(2)
- 算法模板——线性筛素数
- HDU 3480 Division
- 小白博客 Xiaobai___详细教你如何在Linux环境下安装mysql数据库
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- codeforces 1144D(思维)
- 经典的SparkSQL/Hive-SQL/MySQL面试-练习题
- codeforces 1249E(dp)
- Redis-KV数据库Java连接以及Jedis包的使用
- codeforces 1203D1(暴力)
- codeforces 1366B(线段相交)
- 一文搞懂Python自动化测试框架
- codeforces 1005D(数学)
- JSP开发简单实例演示
- Linux笔记【003】| Linux系统目录结构与基本命令
- codeforces1322A(括号匹配)
- codeforces 1296D(贪心)
- codeforces 1399D
- JSP开发之JSTL介绍和使用
- codeforces 1283E(贪心)