Procházet zdrojové kódy

New - splithttp (xmux)

mhsanaei před 3 dny
rodič
revize
e78427245a

+ 14 - 0
web/assets/js/model/xray.js

@@ -529,6 +529,12 @@ class SplitHTTPStreamSettings extends XrayCommonClass {
         scMinPostsIntervalMs = "10-50",
         noSSEHeader = false,
         xPaddingBytes = "100-1000",
+        xmux = { 
+            maxConnections: 0, 
+            maxConcurrency: 0, 
+            cMaxReuseTimes: 0, 
+            cMaxLifetimeMs: 0 
+        }
     ) {
         super();
         this.path = path;
@@ -539,6 +545,7 @@ class SplitHTTPStreamSettings extends XrayCommonClass {
         this.scMinPostsIntervalMs = scMinPostsIntervalMs;
         this.noSSEHeader = noSSEHeader;
         this.xPaddingBytes = xPaddingBytes;
+        this.xmux = xmux;   
     }
 
     addHeader(name, value) {
@@ -559,6 +566,7 @@ class SplitHTTPStreamSettings extends XrayCommonClass {
             json.scMinPostsIntervalMs,
             json.noSSEHeader,
             json.xPaddingBytes,
+            json.xmux,
         );
     }
 
@@ -572,6 +580,12 @@ class SplitHTTPStreamSettings extends XrayCommonClass {
             scMinPostsIntervalMs: this.scMinPostsIntervalMs,
             noSSEHeader: this.noSSEHeader,
             xPaddingBytes: this.xPaddingBytes,
+            xmux: {
+                maxConnections: this.xmux.maxConnections,
+                maxConcurrency: this.xmux.maxConcurrency,
+                cMaxReuseTimes: this.xmux.cMaxReuseTimes,
+                cMaxLifetimeMs: this.xmux.cMaxLifetimeMs
+            }
         };
     }
 }

+ 12 - 0
web/html/xui/form/stream/stream_splithttp.html

@@ -34,5 +34,17 @@
     <a-form-item label="No SSE Header">
         <a-switch v-model="inbound.stream.splithttp.noSSEHeader"></a-switch>
     </a-form-item>
+    <a-form-item label="Max Connections">
+        <a-input-number v-model.trim="inbound.stream.splithttp.xmux.maxConnections"></a-input-number>
+    </a-form-item>
+    <a-form-item label="Max Concurrency">
+        <a-input-number v-model.trim="inbound.stream.splithttp.xmux.maxConcurrency"></a-input-number>
+    </a-form-item>
+    <a-form-item label="Max Reuse Times">
+        <a-input-number v-model.trim="inbound.stream.splithttp.xmux.cMaxReuseTimes"></a-input-number>
+    </a-form-item>
+    <a-form-item label="Max Lifetime (ms)">
+        <a-input-number v-model.trim="inbound.stream.splithttp.xmux.cMaxLifetimeMs"></a-input-number>
+    </a-form-item>
 </a-form>
 {{end}}