diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_v2ray.lua b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_v2ray.lua index 521c2354c..efd7e7445 100644 --- a/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_v2ray.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_v2ray.lua @@ -224,6 +224,7 @@ function gen_outbound(node, tag, proxy_table) method = node.method or nil, flow = node.flow or nil, ivCheck = (node.protocol == "shadowsocks") and node.iv_check == "1" or nil, + uot = (node.protocol == "shadowsocks") and node.uot == "1" or nil, password = node.password or "", users = (node.username and node.password) and { { 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 11472db33..fb07fbd2f 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 @@ -406,6 +406,9 @@ iv_check = s:option(Flag, "iv_check", translate("IV Check")) iv_check:depends({ type = "V2ray", protocol = "shadowsocks" }) iv_check:depends({ type = "Xray", protocol = "shadowsocks" }) +uot = s:option(Flag, "uot", translate("UDP over TCP"), translate("Need Xray server side with Shadowsocks-2022 protocol")) +uot:depends({ type = "Xray", protocol = "shadowsocks" }) + ssr_protocol = s:option(Value, "ssr_protocol", translate("Protocol")) for a, t in ipairs(ssr_protocol_list) do ssr_protocol:value(t) end ssr_protocol:depends("type", "SSR") diff --git a/luci-app-passwall/po/zh-cn/passwall.po b/luci-app-passwall/po/zh-cn/passwall.po index e7036c0fe..71cc53065 100644 --- a/luci-app-passwall/po/zh-cn/passwall.po +++ b/luci-app-passwall/po/zh-cn/passwall.po @@ -994,6 +994,12 @@ msgstr "密码" msgid "IV Check" msgstr "IV 检查" +msgid "UDP over TCP" +msgstr "TCP封装UDP" + +msgid "Need Xray server side with Shadowsocks-2022 protocol" +msgstr "需要Xray作服务器端的Shadowsocks-2022协议" + msgid "Connection Timeout" msgstr "连接超时时间"