路由器:newifi mini
硬件信息:mt7620a +mt7612e+128M DDR+16M flash
固件: Pandorabox
luci theme:lafite
主界面:
winSCP登录
securieCRT 串口登录
/www/index.html:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="refresh" content="0; URL=/cgi-bin/luci" />
</head>
<body style="background-color: white">
<a style="color: black; font-family: arial, helvetica, sans-serif;" href="/cgi-bin/luci">LuCI for PandoraBox</a>
</body>
</html>
在 uhttpd web server 中的 cgi-bin 目录下,运行 luci 文件(权限一般是 755 ) , luci 的代码如下:
#!/usr/bin/lua #lua脚本,lua执行命令的路径
require "luci.cacheloader" #导入 cacheloader 包
require "luci.sgi.cgi" # 导入 sgi.cgi 包
luci.dispatcher.indexcache = "/tmp/luci-indexcache" #cache 缓存路径地址
luci.sgi.cgi.run() #执行run方法,此方法位于 /usr/lib/lua/luci/sgi/cgi.lua中
找到lcgi.lua运行文件, /usr/lib/lua/luci/sgi/cgi.lua :
exectime=os.clock()
module("luci.sgi.cgi",package.seeall)
local a=require("luci.ltn12")
require("nixio.util")
require("luci.http")
require("luci.sys")
require("luci.dispatcher")
local function o(t,e)
e=e or 0
local a=a.BLOCKSIZE
return function()
if e<1 then
t:close()
return nil
else
local a=(e>a)and