Browse Source

Merge pull request #1211 from AmberisMyShiba/master

update the configuration format of tuic latest release 1.0.0
coolsnowwolf 2 years ago
parent
commit
0750366d3a

+ 21 - 8
luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua

@@ -225,6 +225,7 @@ o:depends({type = "v2ray", v2ray_protocol = "socks"})
 o = s:option(Value, "username", translate("Username"))
 o.rmempty = true
 o:depends("type", "naiveproxy")
+--o:depends("type", "tuic")
 o:depends({type = "socks5", auth_enable = true})
 o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true})
 o:depends({type = "v2ray", v2ray_protocol = "socks", auth_enable = true})
@@ -349,6 +350,12 @@ o.rmempty = true
 o.default = "0"
 
 -- [[ TUIC ]]
+-- TuicNameId
+o = s:option(Value, "tuic_uuid", translate("TUIC user UUID"))
+o.rmempty = true
+o.default = uuid
+o:depends("type", "tuic")
+
 o = s:option(ListValue, "udp_relay_mode", translate("UDP relay mode"))
 o:depends("type", "tuic")
 o:value("native", translate("native"))
@@ -356,7 +363,7 @@ o:value("quic", translate("QUIC"))
 o.default = "native"
 o.rmempty = true
 
-o = s:option(ListValue, "congestion_controller", translate("Congestion control algorithm"))
+o = s:option(ListValue, "congestion_control", translate("Congestion control algorithm"))
 o:depends("type", "tuic")
 o:value("bbr", translate("BBR"))
 o:value("cubic", translate("CUBIC"))
@@ -364,10 +371,10 @@ o:value("new_reno", translate("New Reno"))
 o.default = "cubic"
 o.rmempty = true
 
-o = s:option(Value, "heartbeat_interval", translate("Heartbeat interval"))
+o = s:option(Value, "heartbeat", translate("Heartbeat interval"))
 o:depends("type", "tuic")
-o.datatype = "uinteger"
-o.default = "10000"
+--o.datatype = "uinteger"
+o.default = "3s"
 o.rmempty = true
 
 o = s:option(Flag, "disable_sni", translate("Disable SNI"))
@@ -375,15 +382,21 @@ o:depends("type", "tuic")
 o.default = 0
 o.rmempty = true
 
-o = s:option(Flag, "reduce_rtt", translate("Enable 0-RTT QUIC handshake"))
+o = s:option(Flag, "zero_rtt_handshake", translate("Enable 0-RTT QUIC handshake"))
 o:depends("type", "tuic")
 o.default = 0
-o.rmempty = true
+o.rmempty = false
 
-o = s:option(Value, "max_udp_relay_packet_size", translate("Max UDP relay packet size"))
+o = s:option(Value, "send_window", translate("TUIC send window"))
+o.datatype = "uinteger"
 o:depends("type", "tuic")
+o.default = 16777216
+o.rmempty = true
+
+o = s:option(Value, "receive_window", translate("TUIC receive window"))
 o.datatype = "uinteger"
-o.default = "1500"
+o:depends("type", "tuic")
+o.default = 8388608
 o.rmempty = true
 
 -- VmessId

+ 25 - 0
luci-app-ssr-plus/po/zh-cn/ssr-plus.po

@@ -852,3 +852,28 @@ msgstr "应用"
 
 msgid "Enable Netflix Mode"
 msgstr "启用 Netflix 分流模式"
+
+msgid "TUIC user UUID"
+msgstr "TUIC用户uuid"
+
+msgid "UDP relay mode"
+msgstr "tuic UDP中继模式"
+
+msgid "Congestion control algorithm"
+msgstr "拥塞控制算法"
+
+msgid "Heartbeat interval"
+msgstr "连接保活间隔"
+
+msgid "Disable SNI"
+msgstr "关闭SNI服务器名称指示"
+
+msgid "Enable 0-RTT QUIC handshake"
+msgstr "客户端启用 0-RTT QUIC 连接握手"
+
+msgid "TUIC send window"
+msgstr "发送窗口(无需确认即可发送的最大字节数)"
+
+msgid "TUIC receive window"
+msgstr "接收窗口(无需确认即可接收的最大字节数)"
+

+ 9 - 10
luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua

@@ -307,22 +307,21 @@ local hysteria = {
 }
 local tuic = {
 	relay = {
-		server = server.server,
-		port = tonumber(server.server_port),
-		token = server.password,
-
+		server = server.server .. ":" .. server.server_port,
+		uuid = server.tuic_uuid,
+		password = server.password,
 		certificates = server.certificate and { server.certpath } or nil,
 		udp_relay_mode = server.udp_relay_mode,
-		congestion_controller = server.congestion_controller,
-		heartbeat_interval = tonumber(server.heartbeat_interval),
+		congestion_control = server.congestion_control,
+		heartbeat = server.heartbeat_interval,
 		alpn = server.tls_alpn,
 		disable_sni = (server.disable_sni == "1"),
-		reduce_rtt = (server.reduce_rtt == "1"),
-		max_udp_relay_packet_size = tonumber(server.max_udp_relay_packet_size)
+		zero_rtt_handshake = (server.zero_rtt_handshake == "1"),
+		send_window = tonumber(server.send_window),
+		receive_window = tonumber(server.receive_window)
 	},
 	["local"] = {
-		port = tonumber(local_port),
-		ip = "0.0.0.0"
+		server = "0.0.0.0:" .. tonumber(local_port)		
 	}
 }
 local config = {}