diff --git a/dae/Makefile b/dae/Makefile
index 108a811e..27e7e3b8 100644
--- a/dae/Makefile
+++ b/dae/Makefile
@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=dae
-PKG_VERSION:=2026.08.12
+PKG_VERSION:=2026.08.13
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=2fb733f16292e7fb04d532bd9dd1b93fb597b054
+PKG_SOURCE_VERSION:=039adf5080465653d166b8c7428515dfa11431d9
PKG_SOURCE_URL:=https://github.com/olicesx/dae.git
PKG_MIRROR_HASH:=skip
diff --git a/luci-app-passwall/luasrc/controller/passwall.lua b/luci-app-passwall/luasrc/controller/passwall.lua
index 213ddb9e..7696f474 100644
--- a/luci-app-passwall/luasrc/controller/passwall.lua
+++ b/luci-app-passwall/luasrc/controller/passwall.lua
@@ -55,12 +55,12 @@ function index()
--[[ Server ]]
entry({"admin", "services", appname, "server"}, cbi(appname .. "/server/index"), _("Server-Side"), 99).leaf = true
- entry({"admin", "services", appname, "server_user"}, cbi(appname .. "/server/user")).leaf = true
+ entry({"admin", "services", appname, "server_config"}, cbi(appname .. "/server/server_config")).leaf = true
--[[ API ]]
entry({"admin", "services", appname, "server_update_config"}, call("server_update_config")).leaf = true
- entry({"admin", "services", appname, "server_user_status"}, call("server_user_status")).leaf = true
- entry({"admin", "services", appname, "server_user_log"}, call("server_user_log")).leaf = true
+ entry({"admin", "services", appname, "server_status"}, call("server_status")).leaf = true
+ entry({"admin", "services", appname, "server_log"}, call("server_log")).leaf = true
entry({"admin", "services", appname, "server_get_log"}, call("server_get_log")).leaf = true
entry({"admin", "services", appname, "server_clear_log"}, call("server_clear_log")).leaf = true
entry({"admin", "services", appname, "link_add_node"}, call("link_add_node")).leaf = true
@@ -786,14 +786,14 @@ function server_update_config()
http_write_json_error()
end
-function server_user_status()
+function server_status()
local e = {}
e.index = http.formvalue("index")
e.status = luci.sys.call(string.format("/bin/busybox top -bn1 | grep -v 'grep' | grep '%s/bin/' | grep -i '%s' >/dev/null", appname .. "_server", http.formvalue("id"))) == 0
http_write_json(e)
end
-function server_user_log()
+function server_log()
local id = http.formvalue("id")
if fs.access("/tmp/etc/passwall_server/" .. id .. ".log") then
local content = luci.sys.exec("cat /tmp/etc/passwall_server/" .. id .. ".log")
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/index.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/index.lua
index 0cca99bc..46bf66e7 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/server/index.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/server/index.lua
@@ -18,13 +18,12 @@ e.default = "90"
e.datatype = "range(0,600)"
e.rmempty = false
-local cfgname = "user"
-t = m:section(TypedSection, cfgname, translate("Users Manager"))
+t = m:section(TypedSection, "server", translate("Servers Manager"))
t.anonymous = true
t.addremove = true
t.sortable = true
t.template = "cbi/tblsection"
-t.extedit = api.url("server_user", "%s")
+t.extedit = api.url("server_config", "%s")
function t.create(e, t)
local uid = api.gen_random_char()
TypedSection.create(e, uid)
@@ -43,7 +42,7 @@ e.rmempty = false
e = t:option(DummyValue, "status", translate("Status"))
e.rawhtml = true
e.cfgvalue = function(t, n)
- return string.format('%s', translate("Collecting data..."))
+ return string.format('%s', translate("Collecting data..."))
end
e = t:option(DummyValue, "remarks", translate("Remarks"))
@@ -96,11 +95,15 @@ e.rmempty = false
local sortable = Template(appname .. "/cbi/sortable")
sortable.api = api
sortable.appname = m.config
-sortable.target_cfgname = cfgname
+sortable.target_cfgname = t.sectiontype
m:append(sortable)
+local server_list_status = Template(appname .. "/server/server_list_status")
+server_list_status.api = api
+server_list_status.appname = m.config
+server_list_status.sectiontype = t.sectiontype
+m:append(server_list_status)
+
m:append(Template(appname .. "/server/log"))
-m:append(Template(appname .. "/server/users_list_status"))
-
return api.return_map(m)
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/user.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/server_config.lua
similarity index 100%
rename from luci-app-passwall/luasrc/model/cbi/passwall/server/user.lua
rename to luci-app-passwall/luasrc/model/cbi/passwall/server/server_config.lua
diff --git a/luci-app-passwall/luasrc/passwall/server_app.lua b/luci-app-passwall/luasrc/passwall/server_app.lua
index bec17f8e..321e7a19 100644
--- a/luci-app-passwall/luasrc/passwall/server_app.lua
+++ b/luci-app-passwall/luasrc/passwall/server_app.lua
@@ -102,29 +102,29 @@ local function start()
nft_file:write('flush chain inet fw4 PSW-SERVER\n')
nft_file:write('insert rule inet fw4 input position 0 jump PSW-SERVER comment "PSW-SERVER"\n')
end
- uci:foreach(CONFIG, "user", function(user)
- local id = user[".name"]
- local enable = user.enable
+ uci:foreach(CONFIG, "server", function(server)
+ local id = server[".name"]
+ local enable = server.enable
if enable and tonumber(enable) == 1 then
- local enable_log = user.log
+ local enable_log = server.log
local log_path = nil
if enable_log and enable_log == "1" then
log_path = CONFIG_PATH .. "/" .. id .. ".log"
else
log_path = nil
end
- local remarks = user.remarks
- local port = tonumber(user.port)
+ local remarks = server.remarks
+ local port = tonumber(server.port)
local bin
local config = {}
local config_file = CONFIG_PATH .. "/" .. id .. ".json"
local udp_forward = 1
- local type = user.type or ""
+ local type = server.type or ""
if type == "Socks" then
local auth = ""
- if user.auth and user.auth == "1" then
- local username = user.username or ""
- local password = user.password or ""
+ if server.auth and server.auth == "1" then
+ local username = server.username or ""
+ local password = server.password or ""
if username ~= "" and password ~= "" then
username = "-u " .. username
password = "-P " .. password
@@ -133,59 +133,59 @@ local function start()
end
bin = ln_run("/usr/bin/microsocks", "microsocks_" .. id, string.format("-i :: -p %s %s", port, auth), log_path)
elseif type == "SSR" then
- if user.custom == "1" and user.config_str then
- config = jsonc.parse(api.base64Decode(user.config_str))
+ if server.custom == "1" and server.config_str then
+ config = jsonc.parse(api.base64Decode(server.config_str))
else
- config = require(require_dir .. "util_shadowsocks").gen_config_server(user)
+ config = require(require_dir .. "util_shadowsocks").gen_config_server(server)
end
local udp_param = ""
- udp_forward = tonumber(user.udp_forward) or 1
+ udp_forward = tonumber(server.udp_forward) or 1
if udp_forward == 1 then
udp_param = "-u"
end
type = type:lower()
bin = ln_run("/usr/bin/" .. type .. "-server", type .. "-server", "-c " .. config_file .. " " .. udp_param, log_path)
elseif type == "SS-Rust" then
- if user.custom == "1" and user.config_str then
- config = jsonc.parse(api.base64Decode(user.config_str))
+ if server.custom == "1" and server.config_str then
+ config = jsonc.parse(api.base64Decode(server.config_str))
else
- config = require(require_dir .. "util_shadowsocks").gen_config_server(user)
+ config = require(require_dir .. "util_shadowsocks").gen_config_server(server)
end
bin = ln_run("/usr/bin/ssserver", "ssserver", "-c " .. config_file, log_path)
elseif type == "Xray" then
- if user.custom == "1" and user.config_str then
- config = jsonc.parse(api.base64Decode(user.config_str))
+ if server.custom == "1" and server.config_str then
+ config = jsonc.parse(api.base64Decode(server.config_str))
if log_path then
if not config.log then
config.log = {}
end
- config.log.loglevel = user.loglevel
+ config.log.loglevel = server.loglevel
end
else
- config = require(require_dir .. "util_xray").gen_config_server(user)
+ config = require(require_dir .. "util_xray").gen_config_server(server)
end
bin = ln_run(api.get_app_path("xray"), "xray", "run -c " .. config_file, log_path)
elseif type == "sing-box" then
- if user.custom == "1" and user.config_str then
- config = jsonc.parse(api.base64Decode(user.config_str))
+ if server.custom == "1" and server.config_str then
+ config = jsonc.parse(api.base64Decode(server.config_str))
if log_path then
if not config.log then
config.log = {}
end
config.log.timestamp = true
config.log.disabled = false
- config.log.level = user.loglevel
+ config.log.level = server.loglevel
config.log.output = log_path
end
else
- config = require(require_dir .. "util_sing-box").gen_config_server(user)
+ config = require(require_dir .. "util_sing-box").gen_config_server(server)
end
bin = ln_run(api.get_app_path("sing-box"), "sing-box", "run -c " .. config_file, log_path)
elseif type == "Hysteria2" then
- if user.custom == "1" and user.config_str then
- config = jsonc.parse(api.base64Decode(user.config_str))
+ if server.custom == "1" and server.config_str then
+ config = jsonc.parse(api.base64Decode(server.config_str))
else
- config = require(require_dir .. "util_hysteria2").gen_config_server(user)
+ config = require(require_dir .. "util_hysteria2").gen_config_server(server)
end
bin = ln_run(api.get_app_path("hysteria"), "hysteria", "-c " .. config_file .. " server", log_path)
end
@@ -203,7 +203,7 @@ local function start()
cmd(bin)
end
- local bind_local = user.bind_local or 0
+ local bind_local = server.bind_local or 0
if bind_local and tonumber(bind_local) ~= 1 and port then
if nft_flag == "0" then
ipt(string.format('-A PSW-SERVER -p tcp --dport %s -m comment --comment "%s" -j ACCEPT', port, remarks))
diff --git a/luci-app-passwall/luasrc/view/passwall/server/config_footer.htm b/luci-app-passwall/luasrc/view/passwall/server/config_footer.htm
index e6e88d4a..b4cdd637 100644
--- a/luci-app-passwall/luasrc/view/passwall/server/config_footer.htm
+++ b/luci-app-passwall/luasrc/view/passwall/server/config_footer.htm
@@ -4,7 +4,7 @@ local api = self.api
\ No newline at end of file
diff --git a/luci-app-passwall/luasrc/view/passwall/server/users_list_status.htm b/luci-app-passwall/luasrc/view/passwall/server/users_list_status.htm
deleted file mode 100644
index 8ba385aa..00000000
--- a/luci-app-passwall/luasrc/view/passwall/server/users_list_status.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<%
-local api = require "luci.passwall.api"
--%>
-
diff --git a/luci-app-passwall/po/zh-cn/passwall.po b/luci-app-passwall/po/zh-cn/passwall.po
index 85d6092b..98cd9371 100644
--- a/luci-app-passwall/po/zh-cn/passwall.po
+++ b/luci-app-passwall/po/zh-cn/passwall.po
@@ -1622,6 +1622,9 @@ msgstr "服务器端"
msgid "Server Config"
msgstr "服务器配置"
+msgid "Servers Manager"
+msgstr "服务器管理"
+
msgid "Users Manager"
msgstr "用户管理"