gluon-statuspage-api: make lib/gluon/status-page/www/cgi-bin/interfaces mesh-protocol agnostic
This commit is contained in:
parent
b3e609dca9
commit
8b63ac792a
@ -14,7 +14,7 @@ define Package/gluon-status-page-api
|
|||||||
SECTION:=gluon
|
SECTION:=gluon
|
||||||
CATEGORY:=Gluon
|
CATEGORY:=Gluon
|
||||||
TITLE:=API for gluon-status-page
|
TITLE:=API for gluon-status-page
|
||||||
DEPENDS:=+gluon-core +uhttpd +sse-multiplex +gluon-neighbour-info +gluon-respondd +libiwinfo +libjson-c +libnl-tiny
|
DEPENDS:=+gluon-core +uhttpd +sse-multiplex +gluon-neighbour-info +gluon-respondd +libiwinfo +libjson-c +libnl-tiny +libubus-lua
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Prepare
|
define Build/Prepare
|
||||||
|
@ -1,27 +1,24 @@
|
|||||||
#!/usr/bin/lua
|
#!/usr/bin/lua
|
||||||
|
|
||||||
util = require 'gluon.util'
|
util = require 'gluon.util'
|
||||||
|
|
||||||
fs = require 'nixio.fs'
|
fs = require 'nixio.fs'
|
||||||
json = require 'luci.jsonc'
|
json = require 'luci.jsonc'
|
||||||
|
ubus = require 'ubus'
|
||||||
|
|
||||||
io.write("Access-Control-Allow-Origin: *\n")
|
io.write("Access-Control-Allow-Origin: *\n")
|
||||||
io.write("Content-type: application/json\n\n")
|
io.write("Content-type: application/json\n\n")
|
||||||
|
|
||||||
f = io.popen('batctl if')
|
local uconn = ubus.connect()
|
||||||
|
if not uconn then
|
||||||
|
error("Failed to connect to ubusd")
|
||||||
|
end
|
||||||
|
list = util.get_mesh_devices(uconn)
|
||||||
|
ubus.close(uconn)
|
||||||
interfaces = {}
|
interfaces = {}
|
||||||
|
for _,ifname in ipairs(list) do
|
||||||
for line in f:lines() do
|
|
||||||
ifname = line:match('^(.-):')
|
|
||||||
if ifname ~= nil then
|
|
||||||
pcall(function()
|
pcall(function()
|
||||||
local address = util.trim(fs.readfile('/sys/class/net/' .. ifname .. '/address'))
|
local address = util.trim(fs.readfile('/sys/class/net/' .. ifname .. '/address'))
|
||||||
interfaces[ifname] = { address = address }
|
interfaces[ifname] = { address = address }
|
||||||
end)
|
end)
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
f:close()
|
|
||||||
|
|
||||||
io.write(json.stringify(interfaces))
|
io.write(json.stringify(interfaces))
|
||||||
|
Loading…
Reference in New Issue
Block a user