25 lines
596 B
Lua
Executable File
25 lines
596 B
Lua
Executable File
#!/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")
|
|
|
|
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 _,ifname in ipairs(list) do
|
|
pcall(function()
|
|
local address = util.trim(fs.readfile('/sys/class/net/' .. ifname .. '/address'))
|
|
interfaces[ifname] = { address = address }
|
|
end)
|
|
end
|
|
|
|
io.write(json.stringify(interfaces))
|