mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-07-29 09:51:41 +08:00
48 lines
1.4 KiB
Lua
48 lines
1.4 KiB
Lua
local sys = require "luci.sys"
|
|
local uci = require "luci.model.uci".cursor()
|
|
local http = require "luci.http"
|
|
|
|
local m = Map("fastnet", translate("FastNet"))
|
|
m.description = translate("FastNet provides network testing tools and a Web UI.")
|
|
|
|
local function get_host()
|
|
local host = http.getenv("HTTP_HOST") or http.getenv("SERVER_NAME") or ""
|
|
host = host:gsub(":%d+$", "")
|
|
if host == "_redirect2ssl" or host == "redirect2ssl" or host == "" then
|
|
host = http.getenv("SERVER_ADDR") or "localhost"
|
|
end
|
|
return host
|
|
end
|
|
|
|
local st = m:section(SimpleSection, translate("Status"))
|
|
local running = (sys.call("pidof FastNet >/dev/null") == 0)
|
|
local listen_port = uci:get_first("fastnet", "fastnet", "port") or "3200"
|
|
local token = uci:get_first("fastnet", "fastnet", "token") or ""
|
|
local url = "http://" .. get_host() .. ":" .. listen_port .. "/"
|
|
if token ~= "" then
|
|
url = url .. "?token=" .. token
|
|
end
|
|
|
|
st.template = "fastnet/status"
|
|
st.running = running
|
|
st.url = url
|
|
|
|
local s = m:section(TypedSection, "fastnet", translate("Settings"))
|
|
s.anonymous = true
|
|
|
|
local enabled = s:option(Flag, "enabled", translate("Enable"))
|
|
enabled.default = enabled.enabled
|
|
|
|
local port = s:option(Value, "port", translate("Listen Port"))
|
|
port.datatype = "port"
|
|
port.default = "3200"
|
|
|
|
local token = s:option(Value, "token", translate("API Token"))
|
|
token.password = true
|
|
token.rmempty = true
|
|
|
|
local logger = s:option(Flag, "logger", translate("Enable Logging"))
|
|
logger.rmempty = true
|
|
|
|
return m
|