mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-04-22 07:25:47 +00:00
mKCP transport: Add cwndMultiplier
Replace legacy KCP buffer options with cwndMultiplier and maxSendingWindow across models and UI. Updated KcpStreamSettings in web/assets/js/model/inbound.js and web/assets/js/model/outbound.js (constructor, fromJson and toJson) to remove congestion/readBuffer/writeBuffer and use cwndMultiplier/maxSendingWindow instead. Updated web/html/form/outbound.html to reflect the new KCP fields in the stream form and to include extensive template formatting/markup cleanup for consistency and readability.
This commit is contained in:
parent
6d0e7ec495
commit
86304226a9
4 changed files with 787 additions and 333 deletions
|
|
@ -323,18 +323,16 @@ class KcpStreamSettings extends XrayCommonClass {
|
|||
tti = 20,
|
||||
uplinkCapacity = 5,
|
||||
downlinkCapacity = 20,
|
||||
congestion = false,
|
||||
readBufferSize = 1,
|
||||
writeBufferSize = 1,
|
||||
cwndMultiplier = 0,
|
||||
maxSendingWindow = 0,
|
||||
) {
|
||||
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,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -169,18 +169,16 @@ class KcpStreamSettings extends CommonClass {
|
|||
tti = 20,
|
||||
uplinkCapacity = 5,
|
||||
downlinkCapacity = 20,
|
||||
congestion = false,
|
||||
readBufferSize = 1,
|
||||
writeBufferSize = 1,
|
||||
cwndMultiplier = 0,
|
||||
maxSendingWindow = 0,
|
||||
) {
|
||||
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 = {}) {
|
||||
|
|
@ -189,9 +187,8 @@ class KcpStreamSettings extends CommonClass {
|
|||
json.tti,
|
||||
json.uplinkCapacity,
|
||||
json.downlinkCapacity,
|
||||
json.congestion,
|
||||
json.readBufferSize,
|
||||
json.writeBufferSize,
|
||||
json.cwndMultiplier,
|
||||
json.maxSendingWindow,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -201,9 +198,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,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -30,18 +30,15 @@
|
|||
:min="0"
|
||||
></a-input-number>
|
||||
</a-form-item>
|
||||
<a-form-item label="Congestion">
|
||||
<a-switch v-model="inbound.stream.kcp.congestion"></a-switch>
|
||||
</a-form-item>
|
||||
<a-form-item label="Read Buffer (MB)">
|
||||
<a-form-item label="CWND Multiplier">
|
||||
<a-input-number
|
||||
v-model.number="inbound.stream.kcp.readBuffer"
|
||||
v-model.number="inbound.stream.kcp.cwndMultiplier"
|
||||
:min="0"
|
||||
></a-input-number>
|
||||
</a-form-item>
|
||||
<a-form-item label="Write Buffer (MB)">
|
||||
<a-form-item label="Max Sending Window">
|
||||
<a-input-number
|
||||
v-model.number="inbound.stream.kcp.writeBuffer"
|
||||
v-model.number="inbound.stream.kcp.maxSendingWindow"
|
||||
:min="0"
|
||||
></a-input-number>
|
||||
</a-form-item>
|
||||
|
|
|
|||
Loading…
Reference in a new issue