From aa883bf93ebdd799c1f468ce72d03d0d9049f20e Mon Sep 17 00:00:00 2001
From: xiaorouji <60100640+xiaorouji@users.noreply.github.com>
Date: Sun, 10 Mar 2024 03:12:24 +0800
Subject: [PATCH] luci: optimise
---
luci-app-passwall/Makefile | 2 +-
.../luasrc/controller/passwall.lua | 17 ++++++++-------
.../luasrc/model/cbi/passwall/client/acl.lua | 2 +-
.../model/cbi/passwall/client/acl_config.lua | 2 +-
.../model/cbi/passwall/client/app_update.lua | 2 +-
.../model/cbi/passwall/client/global.lua | 2 +-
.../model/cbi/passwall/client/haproxy.lua | 2 +-
.../luasrc/model/cbi/passwall/client/log.lua | 2 +-
.../model/cbi/passwall/client/node_config.lua | 2 +-
.../model/cbi/passwall/client/node_list.lua | 2 +-
.../cbi/passwall/client/node_subscribe.lua | 2 +-
.../passwall/client/node_subscribe_config.lua | 2 +-
.../model/cbi/passwall/client/other.lua | 2 +-
.../luasrc/model/cbi/passwall/client/rule.lua | 2 +-
.../model/cbi/passwall/client/rule_list.lua | 2 +-
.../model/cbi/passwall/client/shunt_rules.lua | 2 +-
.../cbi/passwall/client/socks_config.lua | 2 +-
.../model/cbi/passwall/client/type/ray.lua | 2 +-
.../cbi/passwall/client/type/sing-box.lua | 2 +-
luci-app-passwall/luasrc/passwall/api.lua | 4 ++--
.../luasrc/passwall/util_sing-box.lua | 2 +-
.../luasrc/passwall/util_xray.lua | 2 +-
.../luasrc/view/passwall/global/footer.htm | 2 +-
.../view/passwall/node_list/link_add_node.htm | 2 +-
.../root/usr/share/passwall/app.sh | 21 +++++++------------
.../root/usr/share/passwall/haproxy.lua | 2 +-
.../usr/share/passwall/helper_dnsmasq_add.lua | 2 +-
.../root/usr/share/passwall/monitor.sh | 2 --
28 files changed, 43 insertions(+), 49 deletions(-)
diff --git a/luci-app-passwall/Makefile b/luci-app-passwall/Makefile
index 8fa07e5ed..537bdf1c1 100644
--- a/luci-app-passwall/Makefile
+++ b/luci-app-passwall/Makefile
@@ -6,7 +6,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall
-PKG_VERSION:=4.75-6
+PKG_VERSION:=4.75-7
PKG_RELEASE:=
PKG_CONFIG_DEPENDS:= \
diff --git a/luci-app-passwall/luasrc/controller/passwall.lua b/luci-app-passwall/luasrc/controller/passwall.lua
index 2283d95c3..6b66a8b38 100644
--- a/luci-app-passwall/luasrc/controller/passwall.lua
+++ b/luci-app-passwall/luasrc/controller/passwall.lua
@@ -3,14 +3,14 @@
module("luci.controller.passwall", package.seeall)
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local ucic = luci.model.uci.cursor()
local http = require "luci.http"
local util = require "luci.util"
local i18n = require "luci.i18n"
function index()
- appname = require "luci.passwall.api".appname
+ appname = "passwall"
entry({"admin", "services", appname}).dependent = true
entry({"admin", "services", appname, "reset_config"}, call("reset_config")).leaf = true
entry({"admin", "services", appname, "show"}, call("show_menu")).leaf = true
@@ -148,12 +148,13 @@ function socks_autoswitch_remove_node()
end
function get_now_use_node()
+ local path = "/tmp/etc/passwall/acl/default"
local e = {}
- local data, code, msg = nixio.fs.readfile("/tmp/etc/passwall/id/TCP")
+ local data, code, msg = nixio.fs.readfile(path .. "/TCP.id")
if data then
e["TCP"] = util.trim(data)
end
- local data, code, msg = nixio.fs.readfile("/tmp/etc/passwall/id/UDP")
+ local data, code, msg = nixio.fs.readfile(path .. "/UDP.id")
if data then
e["UDP"] = util.trim(data)
end
@@ -162,13 +163,15 @@ function get_now_use_node()
end
function get_redir_log()
+ local name = luci.http.formvalue("name")
local proto = luci.http.formvalue("proto")
+ local path = "/tmp/etc/passwall/acl/" .. name
proto = proto:upper()
- if proto == "UDP" and (ucic:get(appname, "@global[0]", "udp_node") or "nil") == "tcp" and not nixio.fs.access("/tmp/etc/passwall/" .. proto .. ".log") then
+ if proto == "UDP" and (ucic:get(appname, "@global[0]", "udp_node") or "nil") == "tcp" and not nixio.fs.access(path .. "/" .. proto .. ".log") then
proto = "TCP"
end
- if nixio.fs.access("/tmp/etc/passwall/" .. proto .. ".log") then
- local content = luci.sys.exec("cat /tmp/etc/passwall/" .. proto .. ".log")
+ if nixio.fs.access(path .. "/" .. proto .. ".log") then
+ local content = luci.sys.exec("cat ".. path .. "/" .. proto .. ".log")
content = content:gsub("\n", "
")
luci.http.write(content)
else
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/acl.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/acl.lua
index 7d04a1061..6b4319ef9 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/acl.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/acl.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local sys = api.sys
m = Map(appname)
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/acl_config.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/acl_config.lua
index eb310ebf7..2a464ae7b 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/acl_config.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/acl_config.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local uci = api.uci
local sys = api.sys
local has_singbox = api.finded_com("singbox")
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/app_update.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/app_update.lua
index 4fb6863d2..9d4756210 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/app_update.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/app_update.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
m = Map(appname)
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua
index 0584117b2..333f0a845 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local uci = api.uci
local datatypes = api.datatypes
local has_singbox = api.finded_com("singbox")
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua
index f64f0260d..c3bc5fa98 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local sys = api.sys
local net = require "luci.model.network".init()
local datatypes = api.datatypes
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/log.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/log.lua
index 1520fa28d..ef8c9be0b 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/log.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/log.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
f = SimpleForm(appname)
f.reset = false
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua
index 0ff297abb..98504b8b2 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local uci = api.uci
local fs = require "nixio.fs"
local types_dir = "/usr/lib/lua/luci/model/cbi/passwall/client/type/"
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_list.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_list.lua
index 052c6c8d2..b37587f5e 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_list.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_list.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local sys = api.sys
local datatypes = api.datatypes
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe.lua
index 7c4a294bd..b172944ee 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local has_ss = api.is_finded("ss-redir")
local has_ss_rust = api.is_finded("sslocal")
local has_trojan_plus = api.is_finded("trojan-plus")
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe_config.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe_config.lua
index a1030cd4c..4a1d317bb 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe_config.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe_config.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local has_ss = api.is_finded("ss-redir")
local has_ss_rust = api.is_finded("sslocal")
local has_trojan_plus = api.is_finded("trojan-plus")
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua
index b768aa4fa..d79ded816 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local fs = api.fs
local has_singbox = api.finded_com("singbox")
local has_xray = api.finded_com("xray")
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua
index bd147ccef..5823ce3bf 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local has_xray = api.finded_com("xray")
local has_singbox = api.finded_com("singbox")
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua
index 452d9bb35..8c76bbede 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local fs = api.fs
local sys = api.sys
local datatypes = api.datatypes
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/shunt_rules.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/shunt_rules.lua
index 07db83147..8d1933406 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/shunt_rules.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/shunt_rules.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local datatypes = api.datatypes
m = Map(appname, "Sing-Box/Xray " .. translate("Shunt Rule"))
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/socks_config.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/socks_config.lua
index 5c31bf2d2..5f1f1e4a0 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/socks_config.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/socks_config.lua
@@ -1,5 +1,5 @@
local api = require "luci.passwall.api"
-local appname = api.appname
+local appname = "passwall"
local uci = api.uci
local has_xray = api.finded_com("xray")
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/type/ray.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/type/ray.lua
index 99bf43633..3276a32e3 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/type/ray.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/type/ray.lua
@@ -6,7 +6,7 @@ if not api.finded_com("xray") then
return
end
-local appname = api.appname
+local appname = "passwall"
local uci = api.uci
local type_name = "Xray"
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/type/sing-box.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/type/sing-box.lua
index 473397cb1..cda6600a9 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/type/sing-box.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/type/sing-box.lua
@@ -10,7 +10,7 @@ end
local singbox_tags = luci.sys.exec(singbox_bin .. " version | grep 'Tags:' | awk '{print $2}'")
-local appname = api.appname
+local appname = "passwall"
local uci = api.uci
local type_name = "sing-box"
diff --git a/luci-app-passwall/luasrc/passwall/api.lua b/luci-app-passwall/luasrc/passwall/api.lua
index 89ea3b76a..d045b9e22 100644
--- a/luci-app-passwall/luasrc/passwall/api.lua
+++ b/luci-app-passwall/luasrc/passwall/api.lua
@@ -73,7 +73,7 @@ end
function curl_proxy(url, file, args)
--使用代理
- local socks_server = luci.sys.exec("[ -f /tmp/etc/passwall/TCP_SOCKS_server ] && echo -n $(cat /tmp/etc/passwall/TCP_SOCKS_server) || echo -n ''")
+ local socks_server = luci.sys.exec("[ -f /tmp/etc/passwall/acl/default/TCP_SOCKS_server ] && echo -n $(cat /tmp/etc/passwall/acl/default/TCP_SOCKS_server) || echo -n ''")
if socks_server ~= "" then
if not args then args = {} end
local tmp_args = clone(args)
@@ -919,7 +919,7 @@ function to_move(app_name,file)
sys.call(cmd_rm_tmp)
return {
code = 1,
- error = i18n.translate("The client file is not suitable for current device.")..app_name.."__"..bin_path
+ error = i18n.translate("The client file is not suitable for current device.") .. app_name .. "__" .. bin_path
}
end
diff --git a/luci-app-passwall/luasrc/passwall/util_sing-box.lua b/luci-app-passwall/luasrc/passwall/util_sing-box.lua
index a659a910a..c5d165dd6 100644
--- a/luci-app-passwall/luasrc/passwall/util_sing-box.lua
+++ b/luci-app-passwall/luasrc/passwall/util_sing-box.lua
@@ -3,7 +3,7 @@ local api = require "luci.passwall.api"
local uci = api.uci
local sys = api.sys
local jsonc = api.jsonc
-local appname = api.appname
+local appname = "passwall"
local fs = api.fs
local new_port
diff --git a/luci-app-passwall/luasrc/passwall/util_xray.lua b/luci-app-passwall/luasrc/passwall/util_xray.lua
index 53113b6a6..7b18c5605 100644
--- a/luci-app-passwall/luasrc/passwall/util_xray.lua
+++ b/luci-app-passwall/luasrc/passwall/util_xray.lua
@@ -3,7 +3,7 @@ local api = require "luci.passwall.api"
local uci = api.uci
local sys = api.sys
local jsonc = api.jsonc
-local appname = api.appname
+local appname = "passwall"
local fs = api.fs
local new_port
diff --git a/luci-app-passwall/luasrc/view/passwall/global/footer.htm b/luci-app-passwall/luasrc/view/passwall/global/footer.htm
index b013854d2..657ea4d65 100644
--- a/luci-app-passwall/luasrc/view/passwall/global/footer.htm
+++ b/luci-app-passwall/luasrc/view/passwall/global/footer.htm
@@ -78,7 +78,7 @@ local api = require "luci.passwall.api"
var log_a = document.createElement("a");
log_a.innerHTML = "<%:Log%>";
log_a.href = "#";
- log_a.setAttribute("onclick", "window.open('" + '<%=api.url("get_redir_log")%>' + "?proto=" + s[0] + "', '_blank')");
+ log_a.setAttribute("onclick", "window.open('" + '<%=api.url("get_redir_log")%>' + "?name=default&proto=" + s[0] + "', '_blank')");
new_html += "  " + log_a.outerHTML;
}
diff --git a/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm b/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm
index 575f20568..6b80b0e4a 100644
--- a/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm
+++ b/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm
@@ -97,7 +97,7 @@ local api = require "luci.passwall.api"