interfaces 591 B

123456789101112131415161718192021222324
  1. #!/usr/bin/lua
  2. util = require 'gluon.util'
  3. fs = require 'nixio.fs'
  4. json = require 'jsonc'
  5. ubus = require 'ubus'
  6. io.write("Access-Control-Allow-Origin: *\n")
  7. io.write("Content-type: application/json\n\n")
  8. local uconn = ubus.connect()
  9. if not uconn then
  10. error("Failed to connect to ubusd")
  11. end
  12. list = util.get_mesh_devices(uconn)
  13. ubus.close(uconn)
  14. interfaces = {}
  15. for _,ifname in ipairs(list) do
  16. pcall(function()
  17. local address = util.trim(fs.readfile('/sys/class/net/' .. ifname .. '/address'))
  18. interfaces[ifname] = { address = address }
  19. end)
  20. end
  21. io.write(json.stringify(interfaces))