mirror of
https://github.com/kenzok8/openwrt-packages.git
synced 2025-01-09 03:58:26 +08:00
51 lines
1.7 KiB
Lua
51 lines
1.7 KiB
Lua
module("luci.controller.alist", package.seeall)
|
|
|
|
function index()
|
|
if not nixio.fs.access("/etc/config/alist") then
|
|
return
|
|
end
|
|
|
|
local page = entry({"admin", "nas", "alist"}, alias("admin", "nas", "alist", "basic"), _("Alist"), 20)
|
|
page.dependent = true
|
|
page.acl_depends = { "luci-app-alist" }
|
|
|
|
entry({"admin", "nas"}, firstchild(), "NAS", 44).dependent = false
|
|
entry({"admin", "nas", "alist", "basic"}, cbi("alist/basic"), _("Basic Setting"), 1).leaf = true
|
|
entry({"admin", "nas", "alist", "log"}, cbi("alist/log"), _("Logs"), 2).leaf = true
|
|
entry({"admin", "nas", "alist", "alist_status"}, call("alist_status")).leaf = true
|
|
entry({"admin", "nas", "alist", "get_log"}, call("get_log")).leaf = true
|
|
entry({"admin", "nas", "alist", "clear_log"}, call("clear_log")).leaf = true
|
|
entry({"admin", "nas", "alist", "admin_info"}, call("admin_info")).leaf = true
|
|
end
|
|
|
|
function alist_status()
|
|
local sys = require "luci.sys"
|
|
local uci = require "luci.model.uci".cursor()
|
|
local port = tonumber(uci:get_first("alist", "alist", "port"))
|
|
|
|
local status = {
|
|
running = (sys.call("pidof alist >/dev/null") == 0),
|
|
port = (port or 5244)
|
|
}
|
|
|
|
luci.http.prepare_content("application/json")
|
|
luci.http.write_json(status)
|
|
end
|
|
|
|
function get_log()
|
|
luci.http.write(luci.sys.exec("cat /var/log/alist.log"))
|
|
end
|
|
|
|
function clear_log()
|
|
luci.sys.call("cat /dev/null > /var/log/alist.log")
|
|
end
|
|
|
|
function admin_info()
|
|
local random = luci.sys.exec("/usr/bin/alist --data $(uci -q get alist.@alist[0].data_dir) admin random 2>&1")
|
|
local username = string.match(random, "username: (%S+)")
|
|
local password = string.match(random, "password: (%S+)")
|
|
|
|
luci.http.prepare_content("application/json")
|
|
luci.http.write_json({username = username, password = password})
|
|
end
|