diff --git a/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/dyn/neighbours-nodeinfo b/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/dyn/neighbours-nodeinfo index 657f17e5..91743046 100755 --- a/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/dyn/neighbours-nodeinfo +++ b/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/dyn/neighbours-nodeinfo @@ -8,6 +8,7 @@ badrequest() { echo 'Access-Control-Allow-Origin: *' -batctl if | cut -d: -f1 | grep -qxF "$QUERY_STRING" || badrequest +#batctl if | cut -d: -f1 | grep -qxF "$QUERY_STRING" || badrequest +lua -e 'mesh = require(gluon.mesh); for interface, _ in ipairs(mesh.interfaces()) do print(interface .. "\n"); end;' | grep -qxF "$QUERY_STRING" || badrequest exec /usr/bin/gluon-neighbour-info -s neighbour -i "$QUERY_STRING" -d ff02::2:1001 -p 1001 -r nodeinfo diff --git a/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/dyn/stations b/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/dyn/stations index 258122fb..fa6444ae 100755 --- a/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/dyn/stations +++ b/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/dyn/stations @@ -8,7 +8,8 @@ badrequest() { echo 'Access-Control-Allow-Origin: *' -batctl if | cut -d: -f1 | grep -qxF "$QUERY_STRING" || badrequest +#batctl if | cut -d: -f1 | grep -qxF "$QUERY_STRING" || badrequest +lua -e 'mesh = require(gluon.mesh); for interface, _ in ipairs(mesh.interfaces()) do print(interface .. "\n"); end;' | grep -qxF "$QUERY_STRING" || badrequest CMD="exec /lib/gluon/status-page/providers/stations '$QUERY_STRING'" diff --git a/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/interfaces b/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/interfaces index 4eabf815..048038f3 100755 --- a/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/interfaces +++ b/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/interfaces @@ -3,16 +3,16 @@ util = require 'luci.util' json = require 'luci.jsonc' fs = require 'nixio.fs' +mesh = require 'gluon.mesh' io.write("Access-Control-Allow-Origin: *\n") io.write("Content-type: application/json\n\n") -list = util.exec('batctl if') +-- list = util.exec('batctl if') interfaces = {} -for _, line in ipairs(util.split(list)) do - ifname = line:match('^(.-):') +for interface, _ in ipairs(mesh.interfaces()) do if ifname ~= nil then pcall(function() local address = util.trim(fs.readfile('/sys/class/net/' .. ifname .. '/address'))