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

   花了大概有两个月时间,完成了Tomato Phoenix不死鸟UI部分的移植,系统采用的是lede,httpd采用的是uhttpd,cgi的语言采用的是lua,并没有基于luci而是从零开始编写的一套自由框架,文章后面有部分cgi的代码实现供网友研究。测试版系统会在近期发布。


特大新闻!!! 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&")


本文章由作者:佐须之男 整理编辑,原文地址: 特大新闻!!! Tomato Phoenix 不死鸟系统成功移植到OpenWRT
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。

相关推荐