luci: optimise
This commit is contained in:
parent
2b18407aea
commit
aa883bf93e
@ -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:= \
|
||||
|
@ -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", "<br />")
|
||||
luci.http.write(content)
|
||||
else
|
||||
|
@ -1,5 +1,5 @@
|
||||
local api = require "luci.passwall.api"
|
||||
local appname = api.appname
|
||||
local appname = "passwall"
|
||||
local sys = api.sys
|
||||
|
||||
m = Map(appname)
|
||||
|
@ -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")
|
||||
|
@ -1,5 +1,5 @@
|
||||
local api = require "luci.passwall.api"
|
||||
local appname = api.appname
|
||||
local appname = "passwall"
|
||||
|
||||
m = Map(appname)
|
||||
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
@ -1,5 +1,5 @@
|
||||
local api = require "luci.passwall.api"
|
||||
local appname = api.appname
|
||||
local appname = "passwall"
|
||||
|
||||
f = SimpleForm(appname)
|
||||
f.reset = false
|
||||
|
@ -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/"
|
||||
|
@ -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
|
||||
|
||||
|
@ -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")
|
||||
|
@ -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")
|
||||
|
@ -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")
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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
|
||||
|
@ -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"))
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ local api = require "luci.passwall.api"
|
||||
<div class="cbi-value">
|
||||
<label class="cbi-value-title"></label>
|
||||
<div class="cbi-value-field">
|
||||
<input class="btn cbi-button cbi-button-add" type="submit" name="cbi.cts.<%=api.appname%>.nodes." value="<%:Add%>" />
|
||||
<input class="btn cbi-button cbi-button-add" type="submit" name="cbi.cts.passwall.nodes." value="<%:Add%>" />
|
||||
<input class="btn cbi-button cbi-button-add" type="button" onclick="open_add_link_div()" value="<%:Add the node via the link%>" />
|
||||
<input class="btn cbi-button cbi-button-remove" type="button" onclick="clear_all_nodes()" value="<%:Clear all nodes%>" />
|
||||
<input class="btn cbi-button cbi-button-remove" type="button" onclick="delete_select_nodes()" value="<%:Delete select nodes%>" />
|
||||
|
@ -10,7 +10,6 @@ TMP_PATH=/tmp/etc/$CONFIG
|
||||
TMP_BIN_PATH=$TMP_PATH/bin
|
||||
TMP_SCRIPT_FUNC_PATH=$TMP_PATH/script_func
|
||||
TMP_ID_PATH=$TMP_PATH/id
|
||||
TMP_PORT_PATH=$TMP_PATH/port
|
||||
TMP_ROUTE_PATH=$TMP_PATH/route
|
||||
TMP_ACL_PATH=$TMP_PATH/acl
|
||||
TMP_IFACE_PATH=$TMP_PATH/iface
|
||||
@ -672,9 +671,9 @@ run_redir() {
|
||||
local node proto bind local_port config_file log_file
|
||||
eval_set_val $@
|
||||
local tcp_node_socks_flag tcp_node_http_flag
|
||||
[ -n "$config_file" ] && [ -z "$(echo ${config_file} | grep $TMP_PATH)" ] && config_file=$TMP_PATH/$config_file
|
||||
[ -n "$config_file" ] && [ -z "$(echo ${config_file} | grep $TMP_PATH)" ] && config_file=${TMP_ACL_PATH}/default/${config_file}
|
||||
if [ -n "$log_file" ] && [ -z "$(echo ${log_file} | grep $TMP_PATH)" ]; then
|
||||
log_file=$TMP_PATH/$log_file
|
||||
log_file=${TMP_ACL_PATH}/default/${log_file}
|
||||
else
|
||||
log_file="/dev/null"
|
||||
fi
|
||||
@ -982,7 +981,8 @@ run_redir() {
|
||||
}
|
||||
|
||||
[ "$tcp_node_socks" = "1" ] && {
|
||||
echo "127.0.0.1:$tcp_node_socks_port" > $TMP_PATH/TCP_SOCKS_server
|
||||
TCP_SOCKS_server="127.0.0.1:$tcp_node_socks_port"
|
||||
echo "${TCP_SOCKS_server}" > $TMP_ACL_PATH/default/TCP_SOCKS_server
|
||||
}
|
||||
;;
|
||||
esac
|
||||
@ -1001,15 +1001,7 @@ start_redir() {
|
||||
local port=$(echo $(get_new_port $current_port $proto))
|
||||
eval ${proto}_REDIR=$port
|
||||
run_redir node=$node proto=${proto} bind=0.0.0.0 local_port=$port config_file=$config_file log_file=$log_file
|
||||
#eval ip=\$${proto}_NODE_IP
|
||||
echo $port > $TMP_PORT_PATH/${proto}
|
||||
echo $node > $TMP_ID_PATH/${proto}
|
||||
[ "$(config_n_get $node protocol nil)" = "_shunt" ] && {
|
||||
local default_node=$(config_n_get $node default_node nil)
|
||||
local main_node=$(config_n_get $node main_node nil)
|
||||
echo $default_node > $TMP_ID_PATH/${proto}_default
|
||||
echo $main_node > $TMP_ID_PATH/${proto}_main
|
||||
}
|
||||
echo $node > $TMP_ACL_PATH/default/${proto}.id
|
||||
else
|
||||
[ "${proto}" = "UDP" ] && [ "$TCP_UDP" = "1" ] && return
|
||||
echolog "${proto}节点没有选择或为空,不代理${proto}。"
|
||||
@ -1628,6 +1620,7 @@ start() {
|
||||
}
|
||||
|
||||
[ "$ENABLED_DEFAULT_ACL" == 1 ] && {
|
||||
mkdir -p $TMP_ACL_PATH/default
|
||||
start_redir TCP
|
||||
start_redir UDP
|
||||
start_dns
|
||||
@ -1728,7 +1721,7 @@ DNS_QUERY_STRATEGY="UseIPv4"
|
||||
|
||||
export V2RAY_LOCATION_ASSET=$(config_t_get global_rules v2ray_location_asset "/usr/share/v2ray/")
|
||||
export XRAY_LOCATION_ASSET=$V2RAY_LOCATION_ASSET
|
||||
mkdir -p /tmp/etc $TMP_PATH $TMP_BIN_PATH $TMP_SCRIPT_FUNC_PATH $TMP_ID_PATH $TMP_PORT_PATH $TMP_ROUTE_PATH $TMP_ACL_PATH $TMP_IFACE_PATH $TMP_PATH2
|
||||
mkdir -p /tmp/etc $TMP_PATH $TMP_BIN_PATH $TMP_SCRIPT_FUNC_PATH $TMP_ID_PATH $TMP_ROUTE_PATH $TMP_ACL_PATH $TMP_IFACE_PATH $TMP_PATH2
|
||||
|
||||
arg1=$1
|
||||
shift
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/lua
|
||||
|
||||
local api = require ("luci.passwall.api")
|
||||
local appname = api.appname
|
||||
local appname = "passwall"
|
||||
local fs = api.fs
|
||||
local jsonc = api.jsonc
|
||||
local uci = api.uci
|
||||
|
@ -1,5 +1,6 @@
|
||||
require "luci.sys"
|
||||
local api = require "luci.passwall.api"
|
||||
local appname = "passwall"
|
||||
|
||||
local var = api.get_args(arg)
|
||||
local FLAG = var["-FLAG"]
|
||||
@ -28,7 +29,6 @@ local CACHE_TEXT_FILE = CACHE_DNS_PATH .. ".txt"
|
||||
|
||||
local uci = api.uci
|
||||
local sys = api.sys
|
||||
local appname = api.appname
|
||||
local fs = api.fs
|
||||
local datatypes = api.datatypes
|
||||
|
||||
|
@ -2,9 +2,7 @@
|
||||
|
||||
CONFIG=passwall
|
||||
TMP_PATH=/tmp/etc/$CONFIG
|
||||
TMP_BIN_PATH=$TMP_PATH/bin
|
||||
TMP_SCRIPT_FUNC_PATH=$TMP_PATH/script_func
|
||||
TMP_ID_PATH=$TMP_PATH/id
|
||||
LOCK_FILE_DIR=/tmp/lock
|
||||
LOCK_FILE=${LOCK_FILE_DIR}/${CONFIG}_script.lock
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user