diff --git a/luci-app-passwall2/Makefile b/luci-app-passwall2/Makefile index 3252150b..50b5f7f2 100644 --- a/luci-app-passwall2/Makefile +++ b/luci-app-passwall2/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-passwall2 -PKG_VERSION:=1.20-17 +PKG_VERSION:=1.21-1 PKG_RELEASE:= PKG_CONFIG_DEPENDS:= \ diff --git a/luci-app-passwall2/luasrc/passwall2/util_xray.lua b/luci-app-passwall2/luasrc/passwall2/util_xray.lua index 6e575214..89ae4253 100644 --- a/luci-app-passwall2/luasrc/passwall2/util_xray.lua +++ b/luci-app-passwall2/luasrc/passwall2/util_xray.lua @@ -508,9 +508,6 @@ function gen_config(var) local node_id = var["-node"] local tcp_proxy_way = var["-tcp_proxy_way"] local redir_port = var["-redir_port"] - local sniffing = var["-sniffing"] - local route_only = var["-route_only"] - local buffer_size = var["-buffer_size"] local local_socks_address = var["-local_socks_address"] or "0.0.0.0" local local_socks_port = var["-local_socks_port"] local local_socks_username = var["-local_socks_username"] @@ -540,6 +537,8 @@ function gen_config(var) local routing = nil local observatory = nil + local xray_settings = uci:get_all(appname, "@global_xray[0]") or {} + local nodes = {} if node_id then local node = uci:get_all(appname, node_id) @@ -592,7 +591,13 @@ function gen_config(var) protocol = "dokodemo-door", settings = {network = "tcp,udp", followRedirect = true}, streamSettings = {sockopt = {tproxy = "tproxy"}}, - sniffing = {enabled = sniffing and true or false, destOverride = {"http", "tls", "quic", (remote_dns_fake) and "fakedns"}, metadataOnly = false, routeOnly = route_only and true or nil, domainsExcluded = (sniffing and not route_only) and get_domain_excluded() or nil} + sniffing = { + enabled = xray_settings.sniffing == "1" and true or false, + destOverride = {"http", "tls", "quic", (remote_dns_fake) and "fakedns"}, + metadataOnly = false, + routeOnly = (xray_settings.sniffing == "1" and xray_settings.route_only == "1") and true or nil, + domainsExcluded = (xray_settings.sniffing == "1" and xray_settings.route_only == "0") and get_domain_excluded() or nil + } } local tcp_inbound = api.clone(inbound) tcp_inbound.tag = "tcp_redir" @@ -1252,7 +1257,7 @@ function gen_config(var) -- connIdle = 300, -- uplinkOnly = 2, -- downlinkOnly = 5, - bufferSize = buffer_size and tonumber(buffer_size) or nil, + bufferSize = xray_settings.buffer_size and tonumber(xray_settings.buffer_size) or nil, statsUserUplink = false, statsUserDownlink = false } diff --git a/luci-app-passwall2/root/usr/share/passwall2/app.sh b/luci-app-passwall2/root/usr/share/passwall2/app.sh index d4104bda..3eb36d40 100755 --- a/luci-app-passwall2/root/usr/share/passwall2/app.sh +++ b/luci-app-passwall2/root/usr/share/passwall2/app.sh @@ -306,14 +306,6 @@ run_xray() { [ -n "$http_address" ] && _extra_param="${_extra_param} -local_http_address $http_address" [ -n "$http_port" ] && _extra_param="${_extra_param} -local_http_port $http_port" [ -n "$http_username" ] && [ -n "$http_password" ] && _extra_param="${_extra_param} -local_http_username $http_username -local_http_password $http_password" - local sniffing=$(config_t_get global_forwarding sniffing 1) - [ "${sniffing}" = "1" ] && { - _extra_param="${_extra_param} -sniffing 1" - local route_only=$(config_t_get global_forwarding route_only 0) - [ "${route_only}" = "1" ] && _extra_param="${_extra_param} -route_only 1" - } - local buffer_size=$(config_t_get global_forwarding buffer_size) - [ -n "${buffer_size}" ] && _extra_param="${_extra_param} -buffer_size ${buffer_size}" [ -n "$dns_listen_port" ] && { V2RAY_DNS_DIRECT_CONFIG="${TMP_PATH}/${flag}_dns_direct.json"