|
@@ -225,7 +225,6 @@ o:depends({type = "v2ray", v2ray_protocol = "socks"})
|
|
|
o = s:option(Value, "username", translate("Username"))
|
|
o = s:option(Value, "username", translate("Username"))
|
|
|
o.rmempty = true
|
|
o.rmempty = true
|
|
|
o:depends("type", "naiveproxy")
|
|
o:depends("type", "naiveproxy")
|
|
|
---o:depends("type", "tuic")
|
|
|
|
|
o:depends({type = "socks5", auth_enable = true})
|
|
o:depends({type = "socks5", auth_enable = true})
|
|
|
o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true})
|
|
o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true})
|
|
|
o:depends({type = "v2ray", v2ray_protocol = "socks", auth_enable = true})
|
|
o:depends({type = "v2ray", v2ray_protocol = "socks", auth_enable = true})
|
|
@@ -237,7 +236,6 @@ o:depends("type", "ssr")
|
|
|
o:depends("type", "ss")
|
|
o:depends("type", "ss")
|
|
|
o:depends("type", "trojan")
|
|
o:depends("type", "trojan")
|
|
|
o:depends("type", "naiveproxy")
|
|
o:depends("type", "naiveproxy")
|
|
|
-o:depends("type", "tuic")
|
|
|
|
|
o:depends({type = "socks5", auth_enable = true})
|
|
o:depends({type = "socks5", auth_enable = true})
|
|
|
o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true})
|
|
o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true})
|
|
|
o:depends({type = "v2ray", v2ray_protocol = "socks", socks_ver = "5", auth_enable = true})
|
|
o:depends({type = "v2ray", v2ray_protocol = "socks", socks_ver = "5", auth_enable = true})
|
|
@@ -351,15 +349,29 @@ o.default = "0"
|
|
|
|
|
|
|
|
-- [[ TUIC ]]
|
|
-- [[ TUIC ]]
|
|
|
-- TuicNameId
|
|
-- TuicNameId
|
|
|
-o = s:option(Value, "tuic_uuid", translate("TUIC user UUID"))
|
|
|
|
|
|
|
+o = s:option(Value, "tuic_uuid", translate("TUIC User UUID"))
|
|
|
o.rmempty = true
|
|
o.rmempty = true
|
|
|
o.default = uuid
|
|
o.default = uuid
|
|
|
o:depends("type", "tuic")
|
|
o:depends("type", "tuic")
|
|
|
|
|
|
|
|
|
|
+--Tuic IP
|
|
|
|
|
+o = s:option(Value, "tuic_ip", translate("TUIC Server IP Address"))
|
|
|
|
|
+o.rmempty = true
|
|
|
|
|
+o.datatype = "ip4addr"
|
|
|
|
|
+o.default = ""
|
|
|
|
|
+o:depends("type", "tuic")
|
|
|
|
|
+
|
|
|
|
|
+-- Tuic Password
|
|
|
|
|
+o = s:option(Value, "tuic_passwd", translate("TUIC User Password"))
|
|
|
|
|
+o.rmempty = true
|
|
|
|
|
+o.default = ""
|
|
|
|
|
+o:depends("type", "tuic")
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
o = s:option(ListValue, "udp_relay_mode", translate("UDP relay mode"))
|
|
o = s:option(ListValue, "udp_relay_mode", translate("UDP relay mode"))
|
|
|
o:depends("type", "tuic")
|
|
o:depends("type", "tuic")
|
|
|
-o:value("native", translate("native"))
|
|
|
|
|
-o:value("quic", translate("QUIC"))
|
|
|
|
|
|
|
+o:value("native", translate("native UDP characteristics")
|
|
|
|
|
+o:value("quic", translate("lossless UDP relay using QUIC streams")
|
|
|
o.default = "native"
|
|
o.default = "native"
|
|
|
o.rmempty = true
|
|
o.rmempty = true
|
|
|
|
|
|
|
@@ -371,34 +383,64 @@ o:value("new_reno", translate("New Reno"))
|
|
|
o.default = "cubic"
|
|
o.default = "cubic"
|
|
|
o.rmempty = true
|
|
o.rmempty = true
|
|
|
|
|
|
|
|
-o = s:option(Value, "heartbeat", translate("Heartbeat interval"))
|
|
|
|
|
|
|
+o = s:option(Value, "heartbeat", translate("Heartbeat interval(second)"))
|
|
|
o:depends("type", "tuic")
|
|
o:depends("type", "tuic")
|
|
|
---o.datatype = "uinteger"
|
|
|
|
|
-o.default = "3s"
|
|
|
|
|
|
|
+o.datatype = "uinteger"
|
|
|
|
|
+o.default = "3"
|
|
|
o.rmempty = true
|
|
o.rmempty = true
|
|
|
|
|
|
|
|
-o = s:option(Flag, "disable_sni", translate("Disable SNI"))
|
|
|
|
|
|
|
+o = s:option(Value, "timeout", translate("Timeout for establishing a connection to server(second)"))
|
|
|
o:depends("type", "tuic")
|
|
o:depends("type", "tuic")
|
|
|
-o.default = 0
|
|
|
|
|
|
|
+o.datatype = "uinteger"
|
|
|
|
|
+o.default = "8"
|
|
|
o.rmempty = true
|
|
o.rmempty = true
|
|
|
|
|
|
|
|
-o = s:option(Flag, "zero_rtt_handshake", translate("Enable 0-RTT QUIC handshake"))
|
|
|
|
|
|
|
+o = s:option(Value, "gc_interval", translate("Garbage collection interval(second)"))
|
|
|
o:depends("type", "tuic")
|
|
o:depends("type", "tuic")
|
|
|
-o.default = 0
|
|
|
|
|
-o.rmempty = false
|
|
|
|
|
|
|
+o.datatype = "uinteger"
|
|
|
|
|
+o.default = "3"
|
|
|
|
|
+o.rmempty = true
|
|
|
|
|
|
|
|
-o = s:option(Value, "send_window", translate("TUIC send window"))
|
|
|
|
|
|
|
+o = s:option(Value, "gc_lifetime", translate("Garbage collection lifetime(second)"))
|
|
|
|
|
+o:depends("type", "tuic")
|
|
|
o.datatype = "uinteger"
|
|
o.datatype = "uinteger"
|
|
|
|
|
+o.default = "15"
|
|
|
|
|
+o.rmempty = true
|
|
|
|
|
+
|
|
|
|
|
+o = s:option(Value, "send_window", translate("TUIC send window"))
|
|
|
o:depends("type", "tuic")
|
|
o:depends("type", "tuic")
|
|
|
|
|
+o.datatype = "uinteger"
|
|
|
o.default = 16777216
|
|
o.default = 16777216
|
|
|
o.rmempty = true
|
|
o.rmempty = true
|
|
|
|
|
|
|
|
o = s:option(Value, "receive_window", translate("TUIC receive window"))
|
|
o = s:option(Value, "receive_window", translate("TUIC receive window"))
|
|
|
-o.datatype = "uinteger"
|
|
|
|
|
o:depends("type", "tuic")
|
|
o:depends("type", "tuic")
|
|
|
|
|
+o.datatype = "uinteger"
|
|
|
o.default = 8388608
|
|
o.default = 8388608
|
|
|
o.rmempty = true
|
|
o.rmempty = true
|
|
|
|
|
|
|
|
|
|
+o = s:option(Flag, "disable_sni", translate("Disable SNI"))
|
|
|
|
|
+o:depends("type", "tuic")
|
|
|
|
|
+o.default = 0
|
|
|
|
|
+o.rmempty = true
|
|
|
|
|
+
|
|
|
|
|
+o = s:option(Flag, "zero_rtt_handshake", translate("Enable 0-RTT QUIC handshake"))
|
|
|
|
|
+o:depends("type", "tuic")
|
|
|
|
|
+o.default = 0
|
|
|
|
|
+o.rmempty = true
|
|
|
|
|
+
|
|
|
|
|
+--Tuic settings for the local inbound socks5 server
|
|
|
|
|
+o = s:option(Flag, "tuic_dual_stack", translate("Set if the listening socket should be dual-stack"))
|
|
|
|
|
+o:depends("type", "tuic")
|
|
|
|
|
+o.default = 0
|
|
|
|
|
+o.rmempty = true
|
|
|
|
|
+
|
|
|
|
|
+o = s:option(Value, "tuic_max_package_size", translate("Maximum packet size the socks5 server can receive from external"))
|
|
|
|
|
+o:depends("type", "tuic")
|
|
|
|
|
+o.datatype = "uinteger"
|
|
|
|
|
+o.default = 1500
|
|
|
|
|
+o.rmempty = true
|
|
|
|
|
+
|
|
|
-- VmessId
|
|
-- VmessId
|
|
|
o = s:option(Value, "vmess_id", translate("Vmess/VLESS ID (UUID)"))
|
|
o = s:option(Value, "vmess_id", translate("Vmess/VLESS ID (UUID)"))
|
|
|
o.rmempty = true
|
|
o.rmempty = true
|
|
@@ -848,4 +890,4 @@ if is_finded("kcptun-client") then
|
|
|
o:depends("type", "ss")
|
|
o:depends("type", "ss")
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
-return m
|
|
|
|
|
|
|
+return m
|