Skip to content
Snippets Groups Projects
Commit 8b63ac79 authored by Christof Schulze's avatar Christof Schulze Committed by Matthias Schiffer
Browse files

gluon-statuspage-api: make lib/gluon/status-page/www/cgi-bin/interfaces mesh-protocol agnostic

parent b3e609dc
No related branches found
No related tags found
No related merge requests found
......@@ -14,7 +14,7 @@ define Package/gluon-status-page-api
SECTION:=gluon
CATEGORY:=Gluon
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
define Build/Prepare
......
#!/usr/bin/lua
util = require 'gluon.util'
fs = require 'nixio.fs'
json = require 'luci.jsonc'
ubus = require 'ubus'
io.write("Access-Control-Allow-Origin: *\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 = {}
for line in f:lines() do
ifname = line:match('^(.-):')
if ifname ~= nil then
for _,ifname in ipairs(list) do
pcall(function()
local address = util.trim(fs.readfile('/sys/class/net/' .. ifname .. '/address'))
interfaces[ifname] = { address = address }
end)
end
end
f:close()
io.write(json.stringify(interfaces))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment