From 61babe0f106e69a346736b3bea79c29fd5239993 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Wed, 8 Jun 2022 18:19:16 +0800 Subject: [PATCH] luci-app-ssr-plus: fix v2ray gPRC multi support Signed-off-by: Tianling Shen --- .../luasrc/model/cbi/shadowsocksr/client-config.lua | 8 ++++++++ luci-app-ssr-plus/po/zh-cn/ssr-plus.po | 3 +++ .../root/usr/share/shadowsocksr/gen_config.lua | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua index 65f82e06c..401f6d490 100644 --- a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua @@ -438,6 +438,14 @@ o = s:option(Value, "serviceName", translate("gRPC Service Name")) o:depends("transport", "grpc") o.rmempty = true +-- gPRC模式 +o = s:option(ListValue, "grpc_mode", translate("gRPC Mode")) +o:depends("transport", "grpc") +o:value("gun", translate("Gun")) +o:value("multi", translate("Multi")) +o:value("raw", translate("Raw")) +o.rmempty = true + -- gRPC初始窗口 o = s:option(Value, "initial_windows_size", translate("Initial Windows Size")) o.datatype = "uinteger" diff --git a/luci-app-ssr-plus/po/zh-cn/ssr-plus.po b/luci-app-ssr-plus/po/zh-cn/ssr-plus.po index 4e979db87..1d1b7a553 100644 --- a/luci-app-ssr-plus/po/zh-cn/ssr-plus.po +++ b/luci-app-ssr-plus/po/zh-cn/ssr-plus.po @@ -739,6 +739,9 @@ msgstr "HTTP/2 路径" msgid "gRPC Service Name" msgstr "gRPC 服务名称" +msgid "gRPC Mode" +msgstr "gRPC 模式" + msgid "Initial Windows Size" msgstr "初始窗口大小" diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua b/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua index dd0280cd3..afe71d8a1 100755 --- a/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua @@ -176,11 +176,11 @@ local Xray = { } or nil, wsSettings = (server.transport == "ws") and (server.ws_path or server.ws_host or server.tls_host) and { -- ws - path = server.ws_path, headers = (server.ws_host or server.tls_host) and { -- headers Host = server.ws_host or server.tls_host } or nil, + path = server.ws_path, maxEarlyData = tonumber(server.ws_ed) or nil, earlyDataHeaderName = server.ws_ed_header or nil } or nil, @@ -200,7 +200,7 @@ local Xray = { grpcSettings = (server.transport == "grpc") and { -- grpc serviceName = server.serviceName or "", - multiMode = (server.mux == "1") and true or false, + mode = (server.grpc_mode ~= "gun") and server.grpc_mode or nil, idle_timeout = tonumber(server.idle_timeout) or nil, health_check_timeout = tonumber(server.health_check_timeout) or nil, permit_without_stream = (server.permit_without_stream == "1") and true or nil,