X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=modules%2Fadmin-full%2Fluasrc%2Fcontroller%2Fadmin%2Fstatus.lua;fp=modules%2Fadmin-full%2Fluasrc%2Fcontroller%2Fadmin%2Fstatus.lua;h=7684e64c0e0d746dc44d836cd5a98c0dff3657a4;hp=44acab4721b659723bfc3063bba842b7cffd6952;hb=ceff3fc35cb86259370146aac00a5db6bd8434a6;hpb=750b02349417205cfbdfc4a0c49a858f72ab0aa5 diff --git a/modules/admin-full/luasrc/controller/admin/status.lua b/modules/admin-full/luasrc/controller/admin/status.lua index 44acab472..7684e64c0 100644 --- a/modules/admin-full/luasrc/controller/admin/status.lua +++ b/modules/admin-full/luasrc/controller/admin/status.lua @@ -31,6 +31,8 @@ function index() entry({"admin", "status", "bandwidth"}, template("admin_status/bandwidth"), i18n("Realtime Traffic"), 8).leaf = true entry({"admin", "status", "bandwidth_status"}, call("action_bandwidth")).leaf = true + entry({"admin", "status", "connections"}, template("admin_status/connections"), i18n("Realtime Connections"), 9).leaf = true + entry({"admin", "status", "connections_status"}, call("action_connections")).leaf = true end function action_syslog() @@ -111,3 +113,28 @@ function action_load() luci.http.status(404, "No data available") end + +function action_connections() + local fs = require "luci.fs" + if fs.access("/var/lib/luci-bwc/connections") then + luci.http.prepare_content("application/json") + + local bwc = io.popen("luci-bwc -c 2>/dev/null") + if bwc then + luci.http.write("[") + + while true do + local ln = bwc:read("*l") + if not ln then break end + luci.http.write(ln) + end + + luci.http.write("]") + bwc:close() + end + + return + end + + luci.http.status(404, "No data available") +end