1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
openmptcprouter-feeds/luci-mod-status/luasrc/view/admin_status/index.htm
Ycarus (Yannick Chabanois) 0737e27eb8 Disable processes list for now
2019-07-30 14:22:11 +02:00

148 lines
3.4 KiB
HTML

<%#
Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008-2018 Jo-Philipp Wich <jo@mein.io>
Licensed to the public under the Apache License 2.0.
-%>
<%
local fs = require "nixio.fs"
local ipc = require "luci.ip"
local util = require "luci.util"
local stat = require "luci.tools.status"
local ver = require "luci.version"
if luci.http.formvalue("status") == "1" then
local sysinfo = luci.util.ubus("system", "info") or { }
local meminfo = sysinfo.memory or {
total = 0,
free = 0,
buffered = 0,
shared = 0
}
local swapinfo = sysinfo.swap or {
total = 0,
free = 0
}
local has_dsl = fs.access("/etc/init.d/dsl_control")
local ntm = require "luci.model.network".init()
local wan_nets = ntm:get_wan_networks()
local wan6_nets = ntm:get_wan6_networks()
local conn_count = tonumber(
fs.readfile("/proc/sys/net/netfilter/nf_conntrack_count") or "") or 0
local conn_max = tonumber(luci.sys.exec(
"sysctl -n -e net.nf_conntrack_max net.ipv4.netfilter.ip_conntrack_max"
):match("%d+")) or 4096
local rv = {
uptime = sysinfo.uptime or 0,
localtime = os.date(),
loadavg = sysinfo.load or { 0, 0, 0 },
memory = meminfo,
swap = swapinfo,
connmax = conn_max,
conncount = conn_count,
wifinets = stat.wifi_networks()
}
if #wan_nets > 0 then
local k, v
rv.wan = { }
for k, v in pairs(wan_nets) do
local dev = v:get_interface()
local link = dev and ipc.link(dev:name())
local wan_info = {
ipaddrs = v:ipaddrs(),
gwaddr = v:gwaddr(),
dns = v:dnsaddrs(),
expires = v:expires(),
uptime = v:uptime(),
proto = v:proto(),
i18n = v:get_i18n(),
ifname = v:ifname(),
link = v:adminlink(),
mac = dev and dev:mac(),
type = dev and dev:type(),
name = dev and dev:get_i18n(),
ether = link and link.type == 1
}
rv.wan[#rv.wan+1] = wan_info
end
end
if #wan6_nets > 0 then
local k, v
rv.wan6 = { }
for k, v in pairs(wan6_nets) do
local dev = v:get_interface()
local link = dev and ipc.link(dev:name())
local wan6_info = {
ip6addrs = v:ip6addrs(),
gw6addr = v:gw6addr(),
dns = v:dns6addrs(),
ip6prefix = v:ip6prefix(),
uptime = v:uptime(),
proto = v:proto(),
i18n = v:get_i18n(),
ifname = v:ifname(),
link = v:adminlink(),
mac = dev and dev:mac(),
type = dev and dev:type(),
name = dev and dev:get_i18n(),
ether = link and link.type == 1
}
rv.wan6[#rv.wan6+1] = wan6_info
end
end
if has_dsl then
local dsl_stat = luci.sys.exec("/etc/init.d/dsl_control lucistat")
local dsl_func = loadstring(dsl_stat)
if dsl_func then
rv.dsl = dsl_func()
end
end
luci.http.prepare_content("application/json")
luci.http.write_json(rv)
return
end
-%>
<%+header%>
<h2 name="content"><%:Status%></h2>
<%-
local incdir = util.libpath() .. "/view/admin_status/index/"
if fs.access(incdir) then
local _, inc
local includes = {}
for inc in fs.dir(incdir) do
if inc:match("%.htm$") then
includes[#includes + 1] = inc:gsub("%.htm$", "")
end
end
for _, inc in luci.util.vspairs(includes) do
include("admin_status/index/" .. inc)
end
end
-%>
<script type="text/javascript" src="<%=resource%>/view/status/index.js"></script>
<%+footer%>