luci: add Socks log
This commit is contained in:
parent
9e9da35a73
commit
242d729774
@ -54,6 +54,7 @@ function index()
|
|||||||
entry({"admin", "services", appname, "socks_autoswitch_remove_node"}, call("socks_autoswitch_remove_node")).leaf = true
|
entry({"admin", "services", appname, "socks_autoswitch_remove_node"}, call("socks_autoswitch_remove_node")).leaf = true
|
||||||
entry({"admin", "services", appname, "get_now_use_node"}, call("get_now_use_node")).leaf = true
|
entry({"admin", "services", appname, "get_now_use_node"}, call("get_now_use_node")).leaf = true
|
||||||
entry({"admin", "services", appname, "get_redir_log"}, call("get_redir_log")).leaf = true
|
entry({"admin", "services", appname, "get_redir_log"}, call("get_redir_log")).leaf = true
|
||||||
|
entry({"admin", "services", appname, "get_socks_log"}, call("get_socks_log")).leaf = true
|
||||||
entry({"admin", "services", appname, "get_log"}, call("get_log")).leaf = true
|
entry({"admin", "services", appname, "get_log"}, call("get_log")).leaf = true
|
||||||
entry({"admin", "services", appname, "clear_log"}, call("clear_log")).leaf = true
|
entry({"admin", "services", appname, "clear_log"}, call("clear_log")).leaf = true
|
||||||
entry({"admin", "services", appname, "status"}, call("status")).leaf = true
|
entry({"admin", "services", appname, "status"}, call("status")).leaf = true
|
||||||
@ -179,6 +180,18 @@ function get_redir_log()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function get_socks_log()
|
||||||
|
local name = luci.http.formvalue("name")
|
||||||
|
local path = "/tmp/etc/passwall/SOCKS_" .. name .. ".log"
|
||||||
|
if nixio.fs.access(path) then
|
||||||
|
local content = luci.sys.exec("cat ".. path)
|
||||||
|
content = content:gsub("\n", "<br />")
|
||||||
|
luci.http.write(content)
|
||||||
|
else
|
||||||
|
luci.http.write(string.format("<script>alert('%s');window.close();</script>", i18n.translate("Not enabled log")))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function get_log()
|
function get_log()
|
||||||
-- luci.sys.exec("[ -f /tmp/log/passwall.log ] && sed '1!G;h;$!d' /tmp/log/passwall.log > /tmp/log/passwall_show.log")
|
-- luci.sys.exec("[ -f /tmp/log/passwall.log ] && sed '1!G;h;$!d' /tmp/log/passwall.log > /tmp/log/passwall_show.log")
|
||||||
luci.http.write(luci.sys.exec("[ -f '/tmp/log/passwall.log' ] && cat /tmp/log/passwall.log"))
|
luci.http.write(luci.sys.exec("[ -f '/tmp/log/passwall.log' ] && cat /tmp/log/passwall.log"))
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
local api = require "luci.passwall.api"
|
local api = require "luci.passwall.api"
|
||||||
local appname = "passwall"
|
local appname = "passwall"
|
||||||
local uci = api.uci
|
local uci = api.uci
|
||||||
|
local has_singbox = api.finded_com("singbox")
|
||||||
local has_xray = api.finded_com("xray")
|
local has_xray = api.finded_com("xray")
|
||||||
|
|
||||||
m = Map(appname)
|
m = Map(appname)
|
||||||
@ -53,12 +54,16 @@ o.default = n + 1080
|
|||||||
o.datatype = "port"
|
o.datatype = "port"
|
||||||
o.rmempty = false
|
o.rmempty = false
|
||||||
|
|
||||||
if has_xray then
|
if has_singbox or has_xray then
|
||||||
o = s:option(Value, "http_port", "HTTP " .. translate("Listen Port") .. " " .. translate("0 is not use"))
|
o = s:option(Value, "http_port", "HTTP " .. translate("Listen Port") .. " " .. translate("0 is not use"))
|
||||||
o.default = 0
|
o.default = 0
|
||||||
o.datatype = "port"
|
o.datatype = "port"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
o = s:option(Flag, "log", translate("Enable") .. " " .. translate("Log"))
|
||||||
|
o.default = 1
|
||||||
|
o.rmempty = false
|
||||||
|
|
||||||
o = s:option(Flag, "enable_autoswitch", translate("Auto Switch"))
|
o = s:option(Flag, "enable_autoswitch", translate("Auto Switch"))
|
||||||
o.default = 0
|
o.default = 0
|
||||||
o.rmempty = false
|
o.rmempty = false
|
||||||
|
@ -125,12 +125,21 @@ local api = require "luci.passwall.api"
|
|||||||
node_select.title = node_select.options[node_select.options.selectedIndex].text;
|
node_select.title = node_select.options[node_select.options.selectedIndex].text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var new_html = ""
|
||||||
|
|
||||||
var new_a = document.createElement("a");
|
var new_a = document.createElement("a");
|
||||||
new_a.innerHTML = "<%:Edit%>";
|
new_a.innerHTML = "<%:Edit%>";
|
||||||
new_a.href = "#";
|
new_a.href = "#";
|
||||||
new_a.setAttribute("onclick","location.href='" + '<%=api.url("node_config")%>' + "/" + node_select_value + "'");
|
new_a.setAttribute("onclick","location.href='" + '<%=api.url("node_config")%>' + "/" + node_select_value + "'");
|
||||||
|
new_html = new_a.outerHTML;
|
||||||
|
|
||||||
node_select.insertAdjacentHTML("afterend", "  " + new_a.outerHTML);
|
var log_a = document.createElement("a");
|
||||||
|
log_a.innerHTML = "<%:Log%>";
|
||||||
|
log_a.href = "#";
|
||||||
|
log_a.setAttribute("onclick", "window.open('" + '<%=api.url("get_socks_log")%>' + "?name=" + id.replace("cbi-passwall-", "") + "', '_blank')");
|
||||||
|
new_html += " " + log_a.outerHTML;
|
||||||
|
|
||||||
|
node_select.insertAdjacentHTML("afterend", "  " + new_html);
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
}
|
}
|
||||||
|
@ -1021,9 +1021,11 @@ start_socks() {
|
|||||||
local port=$(config_n_get $id port)
|
local port=$(config_n_get $id port)
|
||||||
local config_file="SOCKS_${id}.json"
|
local config_file="SOCKS_${id}.json"
|
||||||
local log_file="SOCKS_${id}.log"
|
local log_file="SOCKS_${id}.log"
|
||||||
|
local log=$(config_n_get $id log 1)
|
||||||
|
[ "$log" == "0" ] && log_file=""
|
||||||
local http_port=$(config_n_get $id http_port 0)
|
local http_port=$(config_n_get $id http_port 0)
|
||||||
local http_config_file="HTTP2SOCKS_${id}.json"
|
local http_config_file="HTTP2SOCKS_${id}.json"
|
||||||
run_socks flag=$id node=$node bind=0.0.0.0 socks_port=$port config_file=$config_file http_port=$http_port http_config_file=$http_config_file
|
run_socks flag=$id node=$node bind=0.0.0.0 socks_port=$port config_file=$config_file http_port=$http_port http_config_file=$http_config_file log_file=$log_file
|
||||||
echo $node > $TMP_ID_PATH/socks_${id}
|
echo $node > $TMP_ID_PATH/socks_${id}
|
||||||
|
|
||||||
#自动切换逻辑
|
#自动切换逻辑
|
||||||
@ -1049,10 +1051,12 @@ socks_node_switch() {
|
|||||||
local port=$(config_n_get $flag port)
|
local port=$(config_n_get $flag port)
|
||||||
local config_file="SOCKS_${flag}.json"
|
local config_file="SOCKS_${flag}.json"
|
||||||
local log_file="SOCKS_${flag}.log"
|
local log_file="SOCKS_${flag}.log"
|
||||||
|
local log=$(config_n_get $flag log 1)
|
||||||
|
[ "$log" == "0" ] && log_file=""
|
||||||
local http_port=$(config_n_get $flag http_port 0)
|
local http_port=$(config_n_get $flag http_port 0)
|
||||||
local http_config_file="HTTP2SOCKS_${flag}.json"
|
local http_config_file="HTTP2SOCKS_${flag}.json"
|
||||||
LOG_FILE="/dev/null"
|
LOG_FILE="/dev/null"
|
||||||
run_socks flag=$flag node=$new_node bind=0.0.0.0 socks_port=$port config_file=$config_file http_port=$http_port http_config_file=$http_config_file
|
run_socks flag=$flag node=$new_node bind=0.0.0.0 socks_port=$port config_file=$config_file http_port=$http_port http_config_file=$http_config_file log_file=$log_file
|
||||||
echo $new_node > $TMP_ID_PATH/socks_${flag}
|
echo $new_node > $TMP_ID_PATH/socks_${flag}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user