佐须之男的博客

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

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

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

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


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

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

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

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

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

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

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

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

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


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&")


Powered By Z-BlogPHP 1.5 Zero

© 2016 佐须之男版权所有 | 联系方式 forgotfun@qq.com | 业务合作 181-1435-4589 (陆工)