diff --git a/sub/subJsonService.go b/sub/subJsonService.go
index 508740e2..1a9d8a81 100644
--- a/sub/subJsonService.go
+++ b/sub/subJsonService.go
@@ -342,11 +342,7 @@ func (s *SubJsonService) genOutbound(inbound *model.Inbound, streamSettings map[
hyStream := streamSettings["hysteriaSettings"].(map[string]any)
outHyStream := map[string]any{
"version": inboundSettings["version"],
- }
- if client.Auth != "" {
- outHyStream["auth"] = client.Auth
- } else {
- outHyStream["auth"] = hyStream["auth"]
+ "auth": client.Auth,
}
if udpIdleTimeout, ok := hyStream["udpIdleTimeout"].(float64); ok {
outHyStream["udpIdleTimeout"] = int(udpIdleTimeout)
diff --git a/web/assets/js/model/inbound.js b/web/assets/js/model/inbound.js
index d79775d0..9e305a79 100644
--- a/web/assets/js/model/inbound.js
+++ b/web/assets/js/model/inbound.js
@@ -323,18 +323,16 @@ class KcpStreamSettings extends XrayCommonClass {
tti = 20,
uplinkCapacity = 5,
downlinkCapacity = 20,
- congestion = false,
- readBufferSize = 1,
- writeBufferSize = 1,
+ cwndMultiplier = 1,
+ maxSendingWindow = 2 * 1024 * 1024,
) {
super();
this.mtu = mtu;
this.tti = tti;
this.upCap = uplinkCapacity;
this.downCap = downlinkCapacity;
- this.congestion = congestion;
- this.readBuffer = readBufferSize;
- this.writeBuffer = writeBufferSize;
+ this.cwndMultiplier = cwndMultiplier;
+ this.maxSendingWindow = maxSendingWindow;
}
static fromJson(json = {}) {
@@ -343,9 +341,8 @@ class KcpStreamSettings extends XrayCommonClass {
json.tti,
json.uplinkCapacity,
json.downlinkCapacity,
- json.congestion,
- json.readBufferSize,
- json.writeBufferSize,
+ json.cwndMultiplier,
+ json.maxSendingWindow,
);
}
@@ -355,9 +352,8 @@ class KcpStreamSettings extends XrayCommonClass {
tti: this.tti,
uplinkCapacity: this.upCap,
downlinkCapacity: this.downCap,
- congestion: this.congestion,
- readBufferSize: this.readBuffer,
- writeBufferSize: this.writeBuffer,
+ cwndMultiplier: this.cwndMultiplier,
+ maxSendingWindow: this.maxSendingWindow,
};
}
}
@@ -1071,9 +1067,9 @@ class RealityStreamSettings extends XrayCommonClass {
json.dest,
json.serverNames,
json.privateKey,
- json.minClient,
- json.maxClient,
- json.maxTimediff,
+ json.minClientVer ?? json.minClient,
+ json.maxClientVer ?? json.maxClient,
+ json.maxTimeDiff ?? json.maxTimediff,
json.shortIds,
json.mldsa65Seed,
settings,
@@ -1089,9 +1085,9 @@ class RealityStreamSettings extends XrayCommonClass {
dest: this.dest,
serverNames: this.serverNames.split(","),
privateKey: this.privateKey,
- minClient: this.minClient,
- maxClient: this.maxClient,
- maxTimediff: this.maxTimediff,
+ minClientVer: this.minClient,
+ maxClientVer: this.maxClient,
+ maxTimeDiff: this.maxTimediff,
shortIds: this.shortIds.split(","),
mldsa65Seed: this.mldsa65Seed,
settings: this.settings,
diff --git a/web/assets/js/model/outbound.js b/web/assets/js/model/outbound.js
index 445baecc..6fd9f1cd 100644
--- a/web/assets/js/model/outbound.js
+++ b/web/assets/js/model/outbound.js
@@ -219,18 +219,16 @@ class KcpStreamSettings extends CommonClass {
tti = 20,
uplinkCapacity = 5,
downlinkCapacity = 20,
- congestion = false,
- readBufferSize = 1,
- writeBufferSize = 1,
+ cwndMultiplier = 1,
+ maxSendingWindow = 2 * 1024 * 1024,
) {
super();
this.mtu = mtu;
this.tti = tti;
this.upCap = uplinkCapacity;
this.downCap = downlinkCapacity;
- this.congestion = congestion;
- this.readBuffer = readBufferSize;
- this.writeBuffer = writeBufferSize;
+ this.cwndMultiplier = cwndMultiplier;
+ this.maxSendingWindow = maxSendingWindow;
}
static fromJson(json = {}) {
@@ -239,9 +237,8 @@ class KcpStreamSettings extends CommonClass {
json.tti,
json.uplinkCapacity,
json.downlinkCapacity,
- json.congestion,
- json.readBufferSize,
- json.writeBufferSize,
+ json.cwndMultiplier,
+ json.maxSendingWindow,
);
}
@@ -251,9 +248,8 @@ class KcpStreamSettings extends CommonClass {
tti: this.tti,
uplinkCapacity: this.upCap,
downlinkCapacity: this.downCap,
- congestion: this.congestion,
- readBufferSize: this.readBuffer,
- writeBufferSize: this.writeBuffer,
+ cwndMultiplier: this.cwndMultiplier,
+ maxSendingWindow: this.maxSendingWindow,
};
}
}
diff --git a/web/html/xui/form/outbound.html b/web/html/xui/form/outbound.html
index 2cf412f9..17379325 100644
--- a/web/html/xui/form/outbound.html
+++ b/web/html/xui/form/outbound.html
@@ -395,14 +395,11 @@
-
-
+
+
-
-
-
-
-
+
+
diff --git a/web/html/xui/form/stream/stream_kcp.html b/web/html/xui/form/stream/stream_kcp.html
index 0cdc329d..59ceb7b1 100644
--- a/web/html/xui/form/stream/stream_kcp.html
+++ b/web/html/xui/form/stream/stream_kcp.html
@@ -17,16 +17,13 @@
-
-
+
+
-
-
-
-
-
+
+
{{end}}
diff --git a/web/translation/translate.en_US.toml b/web/translation/translate.en_US.toml
index 3e13dac9..55a1780b 100644
--- a/web/translation/translate.en_US.toml
+++ b/web/translation/translate.en_US.toml
@@ -401,9 +401,9 @@
"tti" = "TTI (ms)"
"uplinkMBps" = "Uplink (MB/s)"
"downlinkMBps" = "Downlink (MB/s)"
+"cwndMultiplier" = "Congestion Window Multiplier"
+"maxSendingWindow" = "Max Sending Window (bytes)"
"congestion" = "Congestion"
-"readBuffer" = "Read Buffer (MB)"
-"writeBuffer" = "Write Buffer (MB)"
[pages.inbounds.stream.common]
"proxyProtocol" = "PROXY Protocol"
diff --git a/web/translation/translate.fa_IR.toml b/web/translation/translate.fa_IR.toml
index 5ee181ec..7458df12 100644
--- a/web/translation/translate.fa_IR.toml
+++ b/web/translation/translate.fa_IR.toml
@@ -401,9 +401,9 @@
"tti" = "TTI (میلیثانیه)"
"uplinkMBps" = "آپلینک (MB/s)"
"downlinkMBps" = "دانلینک (MB/s)"
+"cwndMultiplier" = "ضریب پنجره ازدحام"
+"maxSendingWindow" = "حداکثر پنجره ارسال (بایت)"
"congestion" = "Congestion"
-"readBuffer" = "بافر خواندن (MB)"
-"writeBuffer" = "بافر نوشتن (MB)"
[pages.inbounds.stream.common]
"proxyProtocol" = "PROXY Protocol"
diff --git a/web/translation/translate.ru_RU.toml b/web/translation/translate.ru_RU.toml
index ccde47d9..001f2470 100644
--- a/web/translation/translate.ru_RU.toml
+++ b/web/translation/translate.ru_RU.toml
@@ -401,9 +401,9 @@
"tti" = "TTI (мс)"
"uplinkMBps" = "Uplink (МБ/с)"
"downlinkMBps" = "Downlink (МБ/с)"
+"cwndMultiplier" = "Множитель окна перегрузки"
+"maxSendingWindow" = "Макс. окно отправки (байт)"
"congestion" = "Congestion"
-"readBuffer" = "Буфер чтения (МБ)"
-"writeBuffer" = "Буфер записи (МБ)"
[pages.inbounds.stream.common]
"proxyProtocol" = "PROXY Protocol"
diff --git a/web/translation/translate.vi_VN.toml b/web/translation/translate.vi_VN.toml
index 4049f152..e57983f4 100644
--- a/web/translation/translate.vi_VN.toml
+++ b/web/translation/translate.vi_VN.toml
@@ -401,9 +401,9 @@
"tti" = "TTI (ms)"
"uplinkMBps" = "Uplink (MB/s)"
"downlinkMBps" = "Downlink (MB/s)"
+"cwndMultiplier" = "Hệ số cửa sổ tắc nghẽn"
+"maxSendingWindow" = "Cửa sổ gửi tối đa (byte)"
"congestion" = "Congestion"
-"readBuffer" = "Read Buffer (MB)"
-"writeBuffer" = "Write Buffer (MB)"
[pages.inbounds.stream.common]
"proxyProtocol" = "PROXY Protocol"
diff --git a/web/translation/translate.zh_Hans.toml b/web/translation/translate.zh_Hans.toml
index a3d180ce..91c83fc4 100644
--- a/web/translation/translate.zh_Hans.toml
+++ b/web/translation/translate.zh_Hans.toml
@@ -402,9 +402,9 @@
"tti" = "TTI (毫秒)"
"uplinkMBps" = "上行 (MB/s)"
"downlinkMBps" = "下行 (MB/s)"
+"cwndMultiplier" = "拥塞窗口倍数"
+"maxSendingWindow" = "最大发送窗口 (字节)"
"congestion" = "拥塞控制"
-"readBuffer" = "读取缓冲 (MB)"
-"writeBuffer" = "写入缓冲 (MB)"
[pages.inbounds.stream.common]
"proxyProtocol" = "PROXY Protocol"