f7cbbf0639fe0e4c1474fe5342b86b2491c84b37
[project/luci.git] / modules / freifunk / luasrc / controller / freifunk / luciinfo.lua
1 module("luci.controller.freifunk.luciinfo", package.seeall)
2
3 function index()
4 node("freifunk", "luciinfo").target = call("action_index")
5 end
6
7 function action_index()
8 local uci = luci.model.uci
9 luci.http.prepare_content("text/plain")
10
11 -- General
12 print("luciinfo.api=1")
13 print("luciinfo.version=" .. tostring(require("luci").__version__))
14
15 -- Sysinfo
16 local s, m, r = luci.sys.sysinfo()
17 local dr = luci.sys.net.defaultroute()
18 dr = dr and luci.sys.net.hexip4(dr.Gateway) or ""
19 local l1, l5, l15 = luci.sys.loadavg()
20
21 print("sysinfo.system=" .. sanitize(s))
22 print("sysinfo.cpu=" .. sanitize(m))
23 print("sysinfo.ram=" .. sanitize(r))
24 print("sysinfo.hostname=" .. sanitize(luci.sys.hostname()))
25 print("sysinfo.load1=" .. tostring(l1))
26 print("sysinfo.load5=" .. tostring(l5))
27 print("sysinfo.load15=" .. tostring(l15))
28 print("sysinfo.defaultgw=" .. dr)
29
30
31 -- Freifunk
32 local ff = uci.get_all("freifunk") or {}
33 for k, v in pairs(ff) do
34 for i, j in pairs(v) do
35 if i:sub(1, 1) ~= "." then
36 print("freifunk." .. k .. "." .. i .. "=" .. j)
37 end
38 end
39 end
40 end
41
42 function sanitize(val)
43 return val:gsub("\n", "\t")
44 end