diff options
Diffstat (limited to 'modules/luci-mod-status/luasrc')
8 files changed, 162 insertions, 119 deletions
diff --git a/modules/luci-mod-status/luasrc/controller/admin/status.lua b/modules/luci-mod-status/luasrc/controller/admin/status.lua index 63b9390775..0d955c95fe 100644 --- a/modules/luci-mod-status/luasrc/controller/admin/status.lua +++ b/modules/luci-mod-status/luasrc/controller/admin/status.lua @@ -52,22 +52,12 @@ function dump_iptables(family, table) local s for s in lines do if s == table then - local ipt = io.popen( - "/usr/sbin/%stables -w -t %s --line-numbers -nxvL" - %{ prefix, table }) - - if ipt then - luci.http.prepare_content("text/plain") - - while true do - s = ipt:read(1024) - if not s then break end - luci.http.write(s) - end - - ipt:close() - return - end + luci.http.prepare_content("text/plain") + luci.sys.process.exec({ + "/usr/sbin/%stables" % prefix, "-w", "-t", table, + "--line-numbers", "-nxvL" + }, luci.http.write) + return end end end diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index.htm b/modules/luci-mod-status/luasrc/view/admin_status/index.htm index b11956a8af..465226fe09 100644 --- a/modules/luci-mod-status/luasrc/view/admin_status/index.htm +++ b/modules/luci-mod-status/luasrc/view/admin_status/index.htm @@ -11,29 +11,24 @@ local stat = require "luci.tools.status" local ver = require "luci.version" - local has_ipv6 = fs.access("/proc/net/ipv6_route") - local has_dhcp = fs.access("/etc/config/dhcp") - local has_wifi = ((fs.stat("/etc/config/wireless", "size") or 0) > 0) + if luci.http.formvalue("status") == "1" then - local sysinfo = luci.util.ubus("system", "info") or { } - local boardinfo = luci.util.ubus("system", "board") or { } - local unameinfo = nixio.uname() or { } + local sysinfo = luci.util.ubus("system", "info") or { } - local meminfo = sysinfo.memory or { - total = 0, - free = 0, - buffered = 0, - shared = 0 - } + local meminfo = sysinfo.memory or { + total = 0, + free = 0, + buffered = 0, + shared = 0 + } - local swapinfo = sysinfo.swap or { - total = 0, - free = 0 - } + local swapinfo = sysinfo.swap or { + total = 0, + free = 0 + } - local has_dsl = fs.access("/etc/init.d/dsl_control") + local has_dsl = fs.access("/etc/init.d/dsl_control") - if luci.http.formvalue("status") == "1" then local ntm = require "luci.model.network".init() local wan_nets = ntm:get_wan_networks() local wan6_nets = ntm:get_wan6_networks() @@ -133,98 +128,19 @@ <h2 name="content"><%:Status%></h2> -<div class="cbi-section"> - <h3><%:System%></h3> - - <div class="table" width="100%"> - <div class="tr"><div class="td left" width="33%"><%:Hostname%></div><div class="td left"><%=luci.sys.hostname() or "?"%></div></div> - <div class="tr"><div class="td left" width="33%"><%:Model%></div><div class="td left"><%=pcdata(boardinfo.model or "?")%></div></div> - <div class="tr"><div class="td left" width="33%"><%:Architecture%></div><div class="td left"><%=pcdata(boardinfo.system or "?")%></div></div> - <div class="tr"><div class="td left" width="33%"><%:Firmware Version%></div><div class="td left"> - <%=pcdata(ver.distname)%> <%=pcdata(ver.distversion)%> / - <%=pcdata(ver.luciname)%> (<%=pcdata(ver.luciversion)%>) - </div></div> - <div class="tr"><div class="td left" width="33%"><%:Kernel Version%></div><div class="td left"><%=unameinfo.release or "?"%></div></div> - <div class="tr"><div class="td left" width="33%"><%:Local Time%></div><div class="td left" id="localtime">-</div></div> - <div class="tr"><div class="td left" width="33%"><%:Uptime%></div><div class="td left" id="uptime">-</div></div> - <div class="tr"><div class="td left" width="33%"><%:Load Average%></div><div class="td left" id="loadavg">-</div></div> - </div> -</div> - -<div class="cbi-section"> - <h3><%:Memory%></h3> - - <div class="table" width="100%"> - <div class="tr"><div class="td left" width="33%"><%:Total Available%></div><div class="td left"><div id="memtotal" class="cbi-progressbar" title="-"><div></div></div></div></div> - <div class="tr"><div class="td left" width="33%"><%:Free%></div><div class="td left"><div id="memfree" class="cbi-progressbar" title="-"><div></div></div></div></div> - <div class="tr"><div class="td left" width="33%"><%:Buffered%></div><div class="td left"><div id="membuff" class="cbi-progressbar" title="-"><div></div></div></div></div> - </div> -</div> - -<% if swapinfo.total > 0 then %> -<div class="cbi-section"> - <h3><%:Swap%></h3> - - <div class="table" width="100%"> - <div class="tr"><div class="td left" width="33%"><%:Total Available%></div><div class="td left"><div id="swaptotal" class="cbi-progressbar" title="-"><div></div></div></div></div> - <div class="tr"><div class="td left" width="33%"><%:Free%></div><div class="td left"><div id="swapfree" class="cbi-progressbar" title="-"><div></div></div></div></div> - </div> -</div> -<% end %> - -<div class="cbi-section"> - <h3><%:Network%></h3> - - <div id="upstream_status_table" class="network-status-table"> - <p><em><%:Collecting data...%></em></p> - </div> - - <div class="table" width="100%"> - <div class="tr"><div class="td left" width="33%"><%:Active Connections%></div><div class="td left"><div id="conns" class="cbi-progressbar" title="-"><div></div></div></div></div> - </div> -</div> - -<% - if has_dhcp then - include("lease_status") - end -%> - -<% if has_dsl then %> -<div class="cbi-section"> - <h3><%:DSL%></h3> - - <div id="dsl_status_table" class="network-status-table"> - <p><em><%:Collecting data...%></em></p> - </div> -</div> -<% end %> - -<% if has_wifi then %> -<div class="cbi-section"> - <h3><%:Wireless%></h3> - - <div id="wifi_status_table" class="network-status-table"> - <p><em><%:Collecting data...%></em></p> - </div> -</div> - -<div class="cbi-section"> - <h3><%:Associated Stations%></h3> - - <%+wifi_assoclist%> -</div> -<% end %> - <%- local incdir = util.libpath() .. "/view/admin_status/index/" if fs.access(incdir) then - local inc + local _, inc + local includes = {} for inc in fs.dir(incdir) do if inc:match("%.htm$") then - include("admin_status/index/" .. inc:gsub("%.htm$", "")) + includes[#includes + 1] = inc:gsub("%.htm$", "") end end + for _, inc in luci.util.vspairs(includes) do + include("admin_status/index/" .. inc) + end end -%> diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/10-system.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/10-system.htm new file mode 100644 index 0000000000..994550ec2b --- /dev/null +++ b/modules/luci-mod-status/luasrc/view/admin_status/index/10-system.htm @@ -0,0 +1,29 @@ +<%# + 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 boardinfo = luci.util.ubus("system", "board") or { } + local unameinfo = nixio.uname() or { } + local ver = require "luci.version" +%> + +<div class="cbi-section"> + <h3><%:System%></h3> + + <div class="table" width="100%"> + <div class="tr"><div class="td left" width="33%"><%:Hostname%></div><div class="td left"><%=luci.sys.hostname() or "?"%></div></div> + <div class="tr"><div class="td left" width="33%"><%:Model%></div><div class="td left"><%=pcdata(boardinfo.model or "?")%></div></div> + <div class="tr"><div class="td left" width="33%"><%:Architecture%></div><div class="td left"><%=pcdata(boardinfo.system or "?")%></div></div> + <div class="tr"><div class="td left" width="33%"><%:Firmware Version%></div><div class="td left"> + <%=pcdata(ver.distname)%> <%=pcdata(ver.distversion)%> / + <%=pcdata(ver.luciname)%> (<%=pcdata(ver.luciversion)%>) + </div></div> + <div class="tr"><div class="td left" width="33%"><%:Kernel Version%></div><div class="td left"><%=unameinfo.release or "?"%></div></div> + <div class="tr"><div class="td left" width="33%"><%:Local Time%></div><div class="td left" id="localtime">-</div></div> + <div class="tr"><div class="td left" width="33%"><%:Uptime%></div><div class="td left" id="uptime">-</div></div> + <div class="tr"><div class="td left" width="33%"><%:Load Average%></div><div class="td left" id="loadavg">-</div></div> + </div> +</div> diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/20-memory.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/20-memory.htm new file mode 100644 index 0000000000..13774704fe --- /dev/null +++ b/modules/luci-mod-status/luasrc/view/admin_status/index/20-memory.htm @@ -0,0 +1,31 @@ +<%# + 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 sysinfo = luci.util.ubus("system", "info") or { } + local has_swap = sysinfo.swap and sysinfo.swap.total > 0 or false +%> + +<div class="cbi-section"> + <h3><%:Memory%></h3> + + <div class="table" width="100%"> + <div class="tr"><div class="td left" width="33%"><%:Total Available%></div><div class="td left"><div id="memtotal" class="cbi-progressbar" title="-"><div></div></div></div></div> + <div class="tr"><div class="td left" width="33%"><%:Free%></div><div class="td left"><div id="memfree" class="cbi-progressbar" title="-"><div></div></div></div></div> + <div class="tr"><div class="td left" width="33%"><%:Buffered%></div><div class="td left"><div id="membuff" class="cbi-progressbar" title="-"><div></div></div></div></div> + </div> +</div> + +<% if has_swap then %> +<div class="cbi-section"> + <h3><%:Swap%></h3> + + <div class="table" width="100%"> + <div class="tr"><div class="td left" width="33%"><%:Total Available%></div><div class="td left"><div id="swaptotal" class="cbi-progressbar" title="-"><div></div></div></div></div> + <div class="tr"><div class="td left" width="33%"><%:Free%></div><div class="td left"><div id="swapfree" class="cbi-progressbar" title="-"><div></div></div></div></div> + </div> +</div> +<% end %> diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/30-network.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/30-network.htm new file mode 100644 index 0000000000..945a31b2e5 --- /dev/null +++ b/modules/luci-mod-status/luasrc/view/admin_status/index/30-network.htm @@ -0,0 +1,17 @@ +<%# + 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. +-%> + +<div class="cbi-section"> + <h3><%:Network%></h3> + + <div id="upstream_status_table" class="network-status-table"> + <p><em><%:Collecting data...%></em></p> + </div> + + <div class="table" width="100%"> + <div class="tr"><div class="td left" width="33%"><%:Active Connections%></div><div class="td left"><div id="conns" class="cbi-progressbar" title="-"><div></div></div></div></div> + </div> +</div> diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/40-dhcp-leases.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/40-dhcp-leases.htm new file mode 100644 index 0000000000..aaf3661442 --- /dev/null +++ b/modules/luci-mod-status/luasrc/view/admin_status/index/40-dhcp-leases.htm @@ -0,0 +1,14 @@ +<%# + 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 has_dhcp = fs.access("/etc/config/dhcp") + + if has_dhcp then + include("lease_status") + end +%> diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/50-dsl.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/50-dsl.htm new file mode 100644 index 0000000000..f37bf147a3 --- /dev/null +++ b/modules/luci-mod-status/luasrc/view/admin_status/index/50-dsl.htm @@ -0,0 +1,20 @@ +<%# + 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 has_dsl = fs.access("/etc/init.d/dsl_control") +%> + +<% if has_dsl then %> +<div class="cbi-section"> + <h3><%:DSL%></h3> + + <div id="dsl_status_table" class="network-status-table"> + <p><em><%:Collecting data...%></em></p> + </div> +</div> +<% end %> diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/60-wifi.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/60-wifi.htm new file mode 100644 index 0000000000..7338bc77f1 --- /dev/null +++ b/modules/luci-mod-status/luasrc/view/admin_status/index/60-wifi.htm @@ -0,0 +1,26 @@ +<%# + 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 has_wifi = ((fs.stat("/etc/config/wireless", "size") or 0) > 0) +%> + +<% if has_wifi then %> +<div class="cbi-section"> + <h3><%:Wireless%></h3> + + <div id="wifi_status_table" class="network-status-table"> + <p><em><%:Collecting data...%></em></p> + </div> +</div> + +<div class="cbi-section"> + <h3><%:Associated Stations%></h3> + + <%+wifi_assoclist%> +</div> +<% end %> |