佐须之男的博客

技术需要沉淀,成长需要痛苦,成功需要坚持,敬仰需要奉献

特大新闻!!! Tomato Phoenix 不死鸟系统成功移植到OpenWRT

    花了大概有两个月时间,完成了Tomato Phoenix不死鸟UI部分的移植,httpd采用的是uhttpd,cgi的语言采用的是lua。下面的相关界面。

    广告时间:本人可以承接OpenWRT UI方面的定制  


特大新闻!!! Tomato Phoenix 不死鸟系统成功移植到OpenWRT  路由器开发





BusyBox v1.25.1 () built-in shell (ash)

     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
 /________/  LE  \  |____|___|___/|___|                      lede-project.org
 \        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (17.01-SNAPSHOT, r3473-a5822db)
    \________\/    -----------------------------------------------------------

=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@LEDE:~#

很多网友对lua底层实现代码感兴趣,所以我公布几个cgi的代码片段,供大家学习.

config-mac.lua -> 用户获取wan和lan的mac地址

#!/usr/bin/lua
local webio = require("webio")
local header = require("header")
local uci = require("uci")
local x = uci.cursor()
header.send_header(200, nil, "text/javascript", 0)
webio.puts("\nnvram = {\n")
webio.printf("\tmac_lan:'%s'", x:get("network", "wan_dev", "macaddr"))
webio.printf(",\n\tmac_wan:'%s'", x:get("network", "lan_dev", "macaddr"))
webio.puts("};\n");


apply-mac.lua -> 用户保存wan,lan的mac地址并生效

#!/usr/bin/lua
local cgi = require("cgi")
local webio = require("webio")
local header = require("header")
local uci = require("uci")
local x = uci.cursor()
local args = cgi.get_uri_args()
header.send_header(200, nil, "text/javascript", 0)
webio.printf("@msg:重启过程中,网络会中断")
local mac_lan = string.match(args["mac_lan"], "([a-fA-F0-9:]+)") 
if mac_lan then 
        x:set("network", "lan_dev", "macaddr", mac_lan) 
end 
mac_wan = string.match(args["mac_wan"], "([a-fA-F0-9:]+)") 
if mac_wan then 
        x:set("network", "wan_dev", "macaddr", mac_wan) 
end
x:save("network")
x:commit("network")
os.execute("/etc/init.d/network restart&")


« 上一篇 下一篇 »

© 2016 佐须之男版权所有 | 业务合作 181-1435-4589 (陆工)