diff --git a/web/assets/js/model/inbound.js b/web/assets/js/model/inbound.js index 06de3c0f..ae87604e 100644 --- a/web/assets/js/model/inbound.js +++ b/web/assets/js/model/inbound.js @@ -507,6 +507,7 @@ class xHTTPStreamSettings extends XrayCommonClass { }, mode = MODE_OPTION.AUTO, noGRPCHeader = false, + keepAlivePeriod = 45, ) { super(); this.path = path; @@ -520,6 +521,7 @@ class xHTTPStreamSettings extends XrayCommonClass { this.xmux = xmux; this.mode = mode; this.noGRPCHeader = noGRPCHeader; + this.keepAlivePeriod = keepAlivePeriod; } addHeader(name, value) { @@ -542,7 +544,8 @@ class xHTTPStreamSettings extends XrayCommonClass { json.xPaddingBytes, json.xmux, json.mode, - json.noGRPCHeader + json.noGRPCHeader, + json.keepAlivePeriod, ); } @@ -563,7 +566,8 @@ class xHTTPStreamSettings extends XrayCommonClass { cMaxLifetimeMs: this.xmux.cMaxLifetimeMs }, mode: this.mode, - noGRPCHeader: this.noGRPCHeader + noGRPCHeader: this.noGRPCHeader, + keepAlivePeriod: this.keepAlivePeriod, }; } } diff --git a/web/html/xui/form/stream/stream_ws.html b/web/html/xui/form/stream/stream_ws.html index 16a423ca..65c87ae1 100644 --- a/web/html/xui/form/stream/stream_ws.html +++ b/web/html/xui/form/stream/stream_ws.html @@ -13,7 +13,7 @@ <a-input-number v-model.number="inbound.stream.ws.heartbeatPeriod" :min="0"></a-input-number> </a-form-item> <a-form-item label='{{ i18n "pages.inbounds.stream.tcp.requestHeader" }}'> - <a-button icon="plus" size="small" @click="inbound.stream.ws.addHeader('host', '')"></a-button> + <a-button icon="plus" size="small" @click="inbound.stream.ws.addHeader('', '')"></a-button> </a-form-item> <a-form-item :wrapper-col="{span:24}"> <a-input-group compact v-for="(header, index) in inbound.stream.ws.headers"> diff --git a/web/html/xui/form/stream/stream_xhttp.html b/web/html/xui/form/stream/stream_xhttp.html index 621189a0..faec875d 100644 --- a/web/html/xui/form/stream/stream_xhttp.html +++ b/web/html/xui/form/stream/stream_xhttp.html @@ -17,8 +17,7 @@ </a-input> <a-input style="width: 50%" v-model.trim="header.value" placeholder='{{ i18n "pages.inbounds.stream.general.value" }}'> - <a-button slot="addonAfter" size="small" - @click="inbound.stream.xhttp.removeHeader(index)">-</a-button> + <a-button slot="addonAfter" size="small" @click="inbound.stream.xhttp.removeHeader(index)">-</a-button> </a-input> </a-input-group> </a-form-item> @@ -28,6 +27,9 @@ <a-select-option v-for="key in MODE_OPTION" :value="key">[[ key ]]</a-select-option> </a-select> </a-form-item> + <a-form-item label='keep-Alive Period'> + <a-input-number v-model.number="inbound.stream.xhttp.keepAlivePeriod"></a-input-number> + </a-form-item> <a-form-item label="Max Concurrent Upload"> <a-input v-model.trim="inbound.stream.xhttp.scMaxConcurrentPosts"></a-input> </a-form-item>