mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-06-17 08:55:29 +08:00
45 lines
1.6 KiB
Lua
45 lines
1.6 KiB
Lua
module("luci.controller.wrtbwmon", package.seeall)
|
|
|
|
function index()
|
|
|
|
entry({"admin", "nlbw", "usage"}, alias("admin", "nlbw", "usage", "details"), _("Usage"), 60)
|
|
entry({"admin", "nlbw", "usage", "details"}, template("wrtbwmon/wrtbwmon"), _("Details"), 10).leaf = true
|
|
entry({"admin", "nlbw", "usage", "config"}, cbi("wrtbwmon/config"), _("Configuration"), 20).leaf = true
|
|
entry({"admin", "nlbw", "usage", "custom"}, form("wrtbwmon/custom"), _("User file"), 30).leaf = true
|
|
entry({"admin", "nlbw", "usage", "check_dependency"}, call("check_dependency")).dependent = true
|
|
entry({"admin", "nlbw", "usage", "usage_data"}, call("usage_data")).dependent = true
|
|
entry({"admin", "nlbw", "usage", "usage_reset"}, call("usage_reset")).dependent = true
|
|
end
|
|
|
|
function usage_database_path()
|
|
local cursor = luci.model.uci.cursor()
|
|
if cursor:get("wrtbwmon", "general", "persist") == "1" then
|
|
return "/etc/config/usage.db"
|
|
else
|
|
return "/tmp/usage.db"
|
|
end
|
|
end
|
|
|
|
function check_dependency()
|
|
local ret = "0"
|
|
if require("luci.model.ipkg").installed('iptables') then
|
|
ret = "1"
|
|
end
|
|
luci.http.prepare_content("text/plain")
|
|
luci.http.write(ret)
|
|
end
|
|
|
|
function usage_data()
|
|
local db = usage_database_path()
|
|
local publish_cmd = "wrtbwmon publish " .. db .. " /tmp/usage.htm /etc/config/wrtbwmon.user"
|
|
local cmd = "wrtbwmon update " .. db .. " && " .. publish_cmd .. " && cat /tmp/usage.htm"
|
|
luci.http.prepare_content("text/html")
|
|
luci.http.write(luci.sys.exec(cmd))
|
|
end
|
|
|
|
function usage_reset()
|
|
local db = usage_database_path()
|
|
local ret = luci.sys.call("wrtbwmon update " .. db .. " && rm " .. db)
|
|
luci.http.status(204)
|
|
end
|