mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-18 01:00:59 +00:00
Update QUIC params defaults and UI validations
#4142 Adjust QUIC parameter defaults and tighten form validation across inbound/outbound components. - Set default brutalUp/brutalDown to 65537 and only include them in JSON when congestion is 'brutal' or 'force-brutal'. - Change keepAlivePeriod defaults (inbound QUIC -> 5s, Hysteria stream -> 2s) and enforce minimums in the UI. - Expose and serialize additional QUIC fields in outbound QuicParams: init/max stream windows, init/max connection windows, maxIdleTimeout, disablePathMTUDiscovery, maxIncomingStreams. - Add UI min/placeholder constraints: stream/connection receive windows min=16384 and updated placeholders to show defaults, brutal fields min=65537, maxIncomingStreams min=8 (placeholders updated), keepAlive min adjusted. - Add Wireguard and Hysteria entries to Protocols. Touched files: web/assets/js/model/inbound.js, web/assets/js/model/outbound.js, web/html/form/outbound.html, web/html/form/stream/stream_finalmask.html.
This commit is contained in:
@@ -1207,15 +1207,15 @@ class QuicParams extends XrayCommonClass {
|
||||
constructor(
|
||||
congestion = 'bbr',
|
||||
debug = false,
|
||||
brutalUp = '',
|
||||
brutalDown = '',
|
||||
brutalUp = 65537,
|
||||
brutalDown = 65537,
|
||||
udpHop = undefined,
|
||||
initStreamReceiveWindow = 8388608,
|
||||
maxStreamReceiveWindow = 8388608,
|
||||
initConnectionReceiveWindow = 20971520,
|
||||
maxConnectionReceiveWindow = 20971520,
|
||||
maxIdleTimeout = 30,
|
||||
keepAlivePeriod = 0,
|
||||
keepAlivePeriod = 5,
|
||||
disablePathMTUDiscovery = false,
|
||||
maxIncomingStreams = 1024,
|
||||
) {
|
||||
@@ -1265,8 +1265,10 @@ class QuicParams extends XrayCommonClass {
|
||||
toJson() {
|
||||
const result = { congestion: this.congestion };
|
||||
if (this.debug) result.debug = this.debug;
|
||||
if (this.brutalUp) result.brutalUp = this.brutalUp;
|
||||
if (this.brutalDown) result.brutalDown = this.brutalDown;
|
||||
if (['brutal', 'force-brutal'].includes(this.congestion)) {
|
||||
if (this.brutalUp) result.brutalUp = this.brutalUp;
|
||||
if (this.brutalDown) result.brutalDown = this.brutalDown;
|
||||
}
|
||||
if (this.udpHop) result.udpHop = { ports: this.udpHop.ports, interval: this.udpHop.interval };
|
||||
if (this.initStreamReceiveWindow > 0) result.initStreamReceiveWindow = this.initStreamReceiveWindow;
|
||||
if (this.maxStreamReceiveWindow > 0) result.maxStreamReceiveWindow = this.maxStreamReceiveWindow;
|
||||
|
||||
Reference in New Issue
Block a user