From 0d478ab9621ad17060646c93532e88bbe0b20769 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 11 Feb 2011 05:01:18 +0000 Subject: [PATCH] modules/admin-full: rework index page --- .../admin-full/luasrc/view/admin_status/index.htm | 308 ++++++++++++++++++++- 1 file changed, 304 insertions(+), 4 deletions(-) diff --git a/modules/admin-full/luasrc/view/admin_status/index.htm b/modules/admin-full/luasrc/view/admin_status/index.htm index 3874b51f6..e4a5f2908 100644 --- a/modules/admin-full/luasrc/view/admin_status/index.htm +++ b/modules/admin-full/luasrc/view/admin_status/index.htm @@ -1,7 +1,7 @@ <%# LuCI - Lua Configuration Interface Copyright 2008 Steven Barth -Copyright 2008 Jo-Philipp Wich +Copyright 2008-2011 Jo-Philipp Wich Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,308 @@ You may obtain a copy of the License at $Id$ -%> + +<% + if luci.http.formvalue("status") == "1" then + local ntm = require "luci.model.network".init() + local dr4 = luci.sys.net.defaultroute() + local dr6 = luci.sys.net.defaultroute6() + local wan, wan6 + + if dr4 and dr4.device then + wan = ntm:get_interface(dr4.device) + wan = wan and wan:get_network() + end + + if dr6 and dr6.device then + wan6 = ntm:get_interface(dr6.device) + wan6 = wan6 and wan6:get_network() + end + + local _, _, memtotal, memcached, membuffers, memfree = luci.sys.sysinfo() + + local conn_count = tonumber(( + luci.sys.exec("wc -l /proc/net/nf_conntrack") or + luci.sys.exec("wc -l /proc/net/ip_conntrack") or + ""):match("%d+")) or 0 + + local conn_max = tonumber(( + luci.sys.exec("sysctl net.nf_conntrack_max") or + luci.sys.exec("sysctl net.ipv4.netfilter.ip_conntrack_max") or + ""):match("%d+")) or 4096 + + local rv = { + uptime = luci.sys.uptime(), + localtime = os.date(), + loadavg = { luci.sys.loadavg() }, + memtotal = memtotal, + memcached = memcached, + membuffers = membuffers, + memfree = memfree, + connmax = conn_max, + conncount = conn_count + } + + if wan then + rv.wan = { + ipaddr = wan:ipaddr(), + gwaddr = wan:gwaddr(), + netmask = wan:netmask(), + dns = wan:dnsaddrs(), + expires = wan:expires(), + uptime = wan:uptime(), + proto = wan:proto(), + ifname = wan:ifname(), + link = wan:adminlink() + } + end + + if wan6 then + rv.wan6 = { + ip6addr = wan6:ip6addr(), + gw6addr = wan6:gw6addr(), + dns = wan6:dns6addrs(), + uptime = wan6:uptime(), + ifname = wan6:ifname(), + link = wan6:adminlink() + } + end + + luci.http.prepare_content("application/json") + luci.http.write_json(rv) + + return + end + + local system, model, _, _, _, _, bogomips = luci.sys.sysinfo() +-%> + <%+header%> + + + +

<%:Status%>

-

<%_Here you can find information about the current system status like CPU clock frequency, memory usage or network interface data.%>

-

<%:Also kernel or service logfiles can be viewed here to get an overview over their current state.%>

-<%+footer%> \ No newline at end of file + +
+ <%:System%> + + + + + + + + + +
<%:Router Name%><%=luci.sys.hostname() or "?"%>
<%:Router Model%><%=pcdata(model or "?")%>
<%:Firmware Version%> + <%=pcdata(luci.version.distname)%> <%=pcdata(luci.version.distversion)%> / + <%=pcdata(luci.version.luciname)%> <%=pcdata(luci.version.luciversion)%> +
<%:Kernel%><%=luci.sys.exec("uname -r")%>
<%:Local Time%>-
<%:Uptime%>-
<%:Load Average%>-
+
+ +
+ <%:CPU%> + + + + +
<%:CPU Model%><%=system or "?" %>
<%:CPU Speed%><%=math.floor((bogomips + 5) / 10) * 10 %> MHz
+
+ +
+ <%:Memory%> + + + + + + +
<%:Total Available%>-
<%:Free%>-
<%:Cached%>-
<%:Buffered%>-
+
+ +
+ <%:Network%> + + + + + +
<%:IPv4 WAN Status%> + + + +

?
<%:Collecting data...%>
+
<%:IPv6 WAN Status%> + + + +

?
<%:Collecting data...%>
+
<%:Active IP Connections%>-
+
+ +<%+footer%> -- 2.11.0