mirror of
https://github.com/alireza0/x-ui.git
synced 2026-03-13 21:13:09 +00:00
hop interval min-max
Co-authored-by: MHSanaei <ho3ein.sanaei@gmail.com>
This commit is contained in:
@@ -426,7 +426,8 @@ class HysteriaStreamSettings extends CommonClass {
|
||||
up = '0',
|
||||
down = '0',
|
||||
udphopPort = '',
|
||||
udphopInterval = 30,
|
||||
udphopIntervalMin = 30,
|
||||
udphopIntervalMax = 30,
|
||||
initStreamReceiveWindow = 8388608,
|
||||
maxStreamReceiveWindow = 8388608,
|
||||
initConnectionReceiveWindow = 20971520,
|
||||
@@ -442,7 +443,8 @@ class HysteriaStreamSettings extends CommonClass {
|
||||
this.up = up;
|
||||
this.down = down;
|
||||
this.udphopPort = udphopPort;
|
||||
this.udphopInterval = udphopInterval;
|
||||
this.udphopIntervalMin = udphopIntervalMin;
|
||||
this.udphopIntervalMax = udphopIntervalMax;
|
||||
this.initStreamReceiveWindow = initStreamReceiveWindow;
|
||||
this.maxStreamReceiveWindow = maxStreamReceiveWindow;
|
||||
this.initConnectionReceiveWindow = initConnectionReceiveWindow;
|
||||
@@ -454,10 +456,17 @@ class HysteriaStreamSettings extends CommonClass {
|
||||
|
||||
static fromJson(json = {}) {
|
||||
let udphopPort = '';
|
||||
let udphopInterval = 30;
|
||||
let udphopIntervalMin = 30;
|
||||
let udphopIntervalMax = 30;
|
||||
if (json.udphop) {
|
||||
udphopPort = json.udphop.port || '';
|
||||
udphopInterval = json.udphop.interval || 30;
|
||||
if (json.udphop.interval !== undefined) {
|
||||
udphopIntervalMin = json.udphop.interval;
|
||||
udphopIntervalMax = json.udphop.interval;
|
||||
} else {
|
||||
udphopIntervalMin = json.udphop.intervalMin || 30;
|
||||
udphopIntervalMax = json.udphop.intervalMax || 30;
|
||||
}
|
||||
}
|
||||
return new HysteriaStreamSettings(
|
||||
json.version,
|
||||
@@ -466,7 +475,8 @@ class HysteriaStreamSettings extends CommonClass {
|
||||
json.up,
|
||||
json.down,
|
||||
udphopPort,
|
||||
udphopInterval,
|
||||
udphopIntervalMin,
|
||||
udphopIntervalMax,
|
||||
json.initStreamReceiveWindow,
|
||||
json.maxStreamReceiveWindow,
|
||||
json.initConnectionReceiveWindow,
|
||||
@@ -495,7 +505,8 @@ class HysteriaStreamSettings extends CommonClass {
|
||||
if (this.udphopPort) {
|
||||
result.udphop = {
|
||||
port: this.udphopPort,
|
||||
interval: this.udphopInterval
|
||||
intervalMin: this.udphopIntervalMin,
|
||||
intervalMax: this.udphopIntervalMax
|
||||
};
|
||||
}
|
||||
return result;
|
||||
@@ -1026,8 +1037,14 @@ class Outbound extends CommonClass {
|
||||
stream.hysteria.up = urlParams.get('up') ?? '0';
|
||||
stream.hysteria.down = urlParams.get('down') ?? '0';
|
||||
stream.hysteria.udphopPort = urlParams.get('mport') ?? urlParams.get('udphopPort') ?? '';
|
||||
stream.hysteria.udphopInterval = parseInt(urlParams.get('udphopInterval') ?? '30');
|
||||
|
||||
if (urlParams.has('udphopInterval')) {
|
||||
const interval = parseInt(urlParams.get('udphopInterval'));
|
||||
stream.hysteria.udphopIntervalMin = interval;
|
||||
stream.hysteria.udphopIntervalMax = interval;
|
||||
} else {
|
||||
stream.hysteria.udphopIntervalMin = parseInt(urlParams.get('udphopIntervalMin') ?? '30');
|
||||
stream.hysteria.udphopIntervalMax = parseInt(urlParams.get('udphopIntervalMax') ?? '30');
|
||||
}
|
||||
if (urlParams.has('initStreamReceiveWindow')) {
|
||||
stream.hysteria.initStreamReceiveWindow = parseInt(urlParams.get('initStreamReceiveWindow'));
|
||||
}
|
||||
|
||||
@@ -450,10 +450,16 @@
|
||||
<a-input v-model.trim="outbound.stream.hysteria.udphopPort"
|
||||
placeholder="e.g., 1145-1919 or 11,13,15-17"></a-input>
|
||||
</a-form-item>
|
||||
<a-form-item label='UDP Hop Interval (s)'
|
||||
<a-form-item label='Hop Interval Min (s)'
|
||||
v-if="outbound.stream.hysteria.udphopPort">
|
||||
<a-input-number
|
||||
v-model.number="outbound.stream.hysteria.udphopInterval"
|
||||
v-model.number="outbound.stream.hysteria.udphopIntervalMin"
|
||||
:min="5"></a-input-number>
|
||||
</a-form-item>
|
||||
<a-form-item label='Hop Interval Max (s)'
|
||||
v-if="outbound.stream.hysteria.udphopPort">
|
||||
<a-input-number
|
||||
v-model.number="outbound.stream.hysteria.udphopIntervalMax"
|
||||
:min="5"></a-input-number>
|
||||
</a-form-item>
|
||||
<a-form-item label='Init Stream Receive'>
|
||||
|
||||
Reference in New Issue
Block a user