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 f1a3dafc3..2068b06de 100644 --- a/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua @@ -157,7 +157,7 @@ if has_xray then o = s_xray:option(Flag, "fragment", translate("Fragment"), translate("TCP fragments, which can deceive the censorship system in some cases, such as bypassing SNI blacklists.")) o.default = 0 - + o = s_xray:option(ListValue, "fragment_packets", translate("Fragment Packets"), translate("\"1-3\" is for segmentation at TCP layer, applying to the beginning 1 to 3 data writes by the client. \"tlshello\" is for TLS client hello packet fragmentation.")) o.default = "tlshello" o:value("tlshello", "tlshello") @@ -165,16 +165,16 @@ if has_xray then o:value("1-3", "1-3") o:value("1-5", "1-5") o:depends("fragment", true) - + o = s_xray:option(Value, "fragment_length", translate("Fragment Length"), translate("Fragmented packet length (byte)")) o.default = "100-200" o:depends("fragment", true) - + o = s_xray:option(Value, "fragment_interval", translate("Fragment Interval"), translate("Fragmentation interval (ms)")) o.default = "10-20" o:depends("fragment", true) - - o = s_xray:option(Flag, "sniffing", translate("Sniffing"), translate("When using the shunt, must be enabled, otherwise the shunt will invalid.")) + + o = s_xray:option(Flag, "sniffing", translate("Sniffing"), translate("When using the shunt, this option will be forced to be enabled.")) o.default = 1 o.rmempty = false diff --git a/luci-app-passwall/luasrc/passwall/util_xray.lua b/luci-app-passwall/luasrc/passwall/util_xray.lua index c76ef0b63..0043db806 100644 --- a/luci-app-passwall/luasrc/passwall/util_xray.lua +++ b/luci-app-passwall/luasrc/passwall/util_xray.lua @@ -616,10 +616,10 @@ function gen_config(var) settings = {network = "tcp,udp", followRedirect = true}, streamSettings = {sockopt = {tproxy = "tproxy"}}, sniffing = { - enabled = xray_settings.sniffing == "1" and true or false, + enabled = xray_settings.sniffing == "1" or node.protocol == "_shunt",, destOverride = {"http", "tls", "quic"}, metadataOnly = false, - routeOnly = (xray_settings.sniffing == "1" and xray_settings.route_only == "1") and true or nil, + routeOnly = (xray_settings.sniffing == "1" and xray_settings.route_only == "1") or (xray_settings.sniffing == "0" and node.protocol == "_shunt"), domainsExcluded = (xray_settings.sniffing == "1" and xray_settings.route_only == "0") and get_domain_excluded() or nil } } diff --git a/luci-app-passwall/po/zh-cn/passwall.po b/luci-app-passwall/po/zh-cn/passwall.po index 4c09f0d13..b201e4526 100644 --- a/luci-app-passwall/po/zh-cn/passwall.po +++ b/luci-app-passwall/po/zh-cn/passwall.po @@ -691,11 +691,11 @@ msgstr "劫持ICMPv6 (IPv6 PING)" msgid "Sniffing" msgstr "流量嗅探" -msgid "When using the shunt, must be enabled, otherwise the shunt will invalid." -msgstr "使用分流时,必须启用,否则分流将无效。" +msgid "When using the shunt, this option will be forced to be enabled." +msgstr "使用分流时,将强制启用此选项。" msgid "Sniffing Route Only" -msgstr "流量嗅探只供路由使用" +msgstr "流量嗅探仅供路由使用" msgid "TCP Proxy Way" msgstr "TCP 代理方式" diff --git a/patch-luci-app-passwall.patch b/patch-luci-app-passwall.patch index 290a886c6..2c43eb9bd 100644 --- a/patch-luci-app-passwall.patch +++ b/patch-luci-app-passwall.patch @@ -145,7 +145,7 @@ index 55bb691..e13625a 100644 s = m:section(NamedSection, arg[1]) s.addremove = false 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 2e2800c..f1a3daf 100644 +index 4dd6967..2068b06 100644 --- a/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua @@ -11,7 +11,6 @@ local port_validate = function(self, value, t)