Browse Source

ffho-status-page: use upstream gluon-status-page-api

Karsten Böddeker 7 years ago
parent
commit
8243bb1239

+ 1 - 1
ffho/ffho-status-page/Makefile

@@ -12,7 +12,7 @@ define Package/ffho-status-page
   SECTION:=ffho
   CATEGORY:=Gluon
   TITLE:=Adds a status page showing information about the node.
-  DEPENDS:=+gluon-core +uhttpd +gluon-neighbour-info +gluon-respondd +libiwinfo-lua +luci-lib-jsonc
+  DEPENDS:=+gluon-core +uhttpd +gluon-status-page-api +libiwinfo-lua +luci-lib-jsonc
   PROVIDES:=gluon-status-page
   MAINTAINER:=Freifunk Hochstift <kontakt@hochstift.freifunk.net>
   URL:=https://git.c3pb.de/freifunk-pb/ffho-packages

+ 0 - 32
ffho/ffho-status-page/files/lib/gluon/status-page/www/cgi-bin/dyn/neighbours-batadv

@@ -1,32 +0,0 @@
-#!/usr/bin/lua
-
-local json = require 'luci.jsonc'
-local nixio = require 'nixio'
-
-function neighbours()
-  local neighbours = {}
-  local list = io.lines("/sys/kernel/debug/batman_adv/bat0/originators")
-  for line in list do
-    local mac1, lastseen, tq, mac2, ifname =
-      line:match("^([0-9a-f:]+) +(%d+%.%d+)s +%( *(%d+)%) +([0-9a-f:]+) +%[ *(.-)%]")
-
-    if mac1 ~= nil and mac1 == mac2 then
-      neighbours[mac1] = { tq = tonumber(tq)
-                         , lastseen = tonumber(lastseen)
-                         , ifname = ifname
-                         }
-    end
-  end
-
-  return neighbours
-end
-
-io.write("Access-Control-Allow-Origin: *\n")
-io.write("Content-type: text/event-stream\n\n")
-
-while true do
-  local neighbours = json.stringify(neighbours())
-  io.write("data: " .. neighbours .. "\n\n")
-  io.flush()
-  nixio.nanosleep(1, 0)
-end

+ 0 - 7
ffho/ffho-status-page/files/lib/gluon/status-page/www/cgi-bin/dyn/neighbours-nodeinfo

@@ -1,7 +0,0 @@
-#!/bin/sh
-
-echo 'Access-Control-Allow-Origin: *'
-
-batctl if | cut -d: -f1 | grep -qxF "$QUERY_STRING" || exit 1
-
-exec /usr/bin/gluon-neighbour-info -s -i "$QUERY_STRING" -d ff02::2:1001 -p 1001 -r nodeinfo

+ 0 - 52
ffho/ffho-status-page/files/lib/gluon/status-page/www/cgi-bin/dyn/stations

@@ -1,52 +0,0 @@
-#!/usr/bin/lua
-
-util = require 'luci.util'
-json = require 'luci.jsonc'
-nixio = require 'nixio'
-iwinfo = require 'iwinfo'
-
-function badrequest()
-  io.write("Status: 400 Bad Request\n\n")
-  os.exit(1)
-end
-
-function get_stations(iw, ifname)
-  local stations = {}
-
-  for k, v in pairs(iw.assoclist(ifname)) do
-    stations[k:lower()] = {signal = v.signal, noise = v.noise, inactive = v.inactive}
-  end
-
-  return stations
-end
-
-local ifname = os.getenv("QUERY_STRING")
-
-if ifname == nil then badrequest() end
-
-local list = util.exec('batctl if')
-local found = false
-for _, line in ipairs(util.split(list)) do
-  if ifname == line:match('^(.-):') then
-    found = true
-    break
-  end
-end
-
-if found == false then badrequest() end
-
-local wifitype = iwinfo.type(ifname)
-
-if wifitype == nil then badrequest() end
-
-local iw = iwinfo[wifitype]
-
-io.write("Access-Control-Allow-Origin: *\n")
-io.write("Content-type: text/event-stream\n\n")
-
-while true do
-  local stations = json.stringify(get_stations(iw, ifname))
-  io.write("data: " .. stations .. "\n\n")
-  io.flush()
-  nixio.nanosleep(0, 150e6)
-end

+ 0 - 18
ffho/ffho-status-page/files/lib/gluon/status-page/www/cgi-bin/dyn/statistics

@@ -1,18 +0,0 @@
-#!/usr/bin/lua
-
-local announce = require 'gluon.announce'
-local json = require 'luci.jsonc'
-local util = require 'luci.util'
-local nixio = require 'nixio'
-
-local announce_dir = '/lib/gluon/announce/statistics.d/'
-
-io.write("Access-Control-Allow-Origin: *\n")
-io.write("Content-type: text/event-stream\n\n")
-
-while true do
-  local data = json.stringify(announce.collect_dir(announce_dir))
-  io.write("data: " .. data .. "\n\n")
-  io.flush()
-  nixio.nanosleep(1, 0)
-end

+ 0 - 15
ffho/ffho-status-page/files/lib/gluon/status-page/www/cgi-bin/nodeinfo

@@ -1,15 +0,0 @@
-#!/usr/bin/lua
-
-local announce = require 'gluon.announce'
-local json = require 'luci.jsonc'
-local util = require 'luci.util'
-local nixio = require 'nixio'
-
-local announce_dir = '/lib/gluon/announce/nodeinfo.d/'
-
-io.write("Access-Control-Allow-Origin: *\n")
-io.write("Content-type: application/json\n\n")
-
-local data = json.stringify(announce.collect_dir(announce_dir))
-io.write(data)
-io.flush()

+ 0 - 15
ffho/ffho-status-page/files/lib/gluon/upgrade/500-status-page

@@ -1,15 +0,0 @@
-#!/bin/sh
-
-uci batch <<-EOF
-	delete uhttpd.main.listen_http
-	add_list uhttpd.main.listen_http=0.0.0.0:80
-	add_list uhttpd.main.listen_http=[::]:80
-
-	delete uhttpd.main.listen_https
-
-	set uhttpd.main.home=/lib/gluon/status-page/www
-
-	set uhttpd.main.max_requests=12
-
-	commit uhttpd
-EOF