| 
														
															@@ -113,6 +113,12 @@ const USERS_SECURITY = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ZERO: "zero", 
														 | 
														
														 | 
														
															     ZERO: "zero", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const MODE_OPTION = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    AUTO: "auto", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    PACKET_UP: "packet-up", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    STREAM_UP: "stream-up", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 Object.freeze(Protocols); 
														 | 
														
														 | 
														
															 Object.freeze(Protocols); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 Object.freeze(SSMethods); 
														 | 
														
														 | 
														
															 Object.freeze(SSMethods); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 Object.freeze(TLS_FLOW_CONTROL); 
														 | 
														
														 | 
														
															 Object.freeze(TLS_FLOW_CONTROL); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -125,6 +131,7 @@ Object.freeze(USAGE_OPTION); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 Object.freeze(DOMAIN_STRATEGY_OPTION); 
														 | 
														
														 | 
														
															 Object.freeze(DOMAIN_STRATEGY_OPTION); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 Object.freeze(TCP_CONGESTION_OPTION); 
														 | 
														
														 | 
														
															 Object.freeze(TCP_CONGESTION_OPTION); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 Object.freeze(USERS_SECURITY); 
														 | 
														
														 | 
														
															 Object.freeze(USERS_SECURITY); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+Object.freeze(MODE_OPTION); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 class XrayCommonClass { 
														 | 
														
														 | 
														
															 class XrayCommonClass { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -528,7 +535,8 @@ class SplitHTTPStreamSettings extends XrayCommonClass { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             maxConnections: 0, 
														 | 
														
														 | 
														
															             maxConnections: 0, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             cMaxReuseTimes: "64-128", 
														 | 
														
														 | 
														
															             cMaxReuseTimes: "64-128", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             cMaxLifetimeMs: 0 
														 | 
														
														 | 
														
															             cMaxLifetimeMs: 0 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        mode = MODE_OPTION.AUTO, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) { 
														 | 
														
														 | 
														
															     ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         super(); 
														 | 
														
														 | 
														
															         super(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         this.path = path; 
														 | 
														
														 | 
														
															         this.path = path; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -540,6 +548,7 @@ class SplitHTTPStreamSettings extends XrayCommonClass { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         this.noSSEHeader = noSSEHeader; 
														 | 
														
														 | 
														
															         this.noSSEHeader = noSSEHeader; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         this.xPaddingBytes = xPaddingBytes; 
														 | 
														
														 | 
														
															         this.xPaddingBytes = xPaddingBytes; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         this.xmux = xmux; 
														 | 
														
														 | 
														
															         this.xmux = xmux; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        this.mode = mode; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     addHeader(name, value) { 
														 | 
														
														 | 
														
															     addHeader(name, value) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -561,6 +570,7 @@ class SplitHTTPStreamSettings extends XrayCommonClass { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             json.noSSEHeader, 
														 | 
														
														 | 
														
															             json.noSSEHeader, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             json.xPaddingBytes, 
														 | 
														
														 | 
														
															             json.xPaddingBytes, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             json.xmux, 
														 | 
														
														 | 
														
															             json.xmux, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            json.mode, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         ); 
														 | 
														
														 | 
														
															         ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -579,7 +589,8 @@ class SplitHTTPStreamSettings extends XrayCommonClass { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 maxConnections: this.xmux.maxConnections, 
														 | 
														
														 | 
														
															                 maxConnections: this.xmux.maxConnections, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 cMaxReuseTimes: this.xmux.cMaxReuseTimes, 
														 | 
														
														 | 
														
															                 cMaxReuseTimes: this.xmux.cMaxReuseTimes, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 cMaxLifetimeMs: this.xmux.cMaxLifetimeMs 
														 | 
														
														 | 
														
															                 cMaxLifetimeMs: this.xmux.cMaxLifetimeMs 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            mode: this.mode, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }; 
														 | 
														
														 | 
														
															         }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1329,6 +1340,7 @@ class Inbound extends XrayCommonClass { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             const splithttp = this.stream.splithttp; 
														 | 
														
														 | 
														
															             const splithttp = this.stream.splithttp; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             obj.path = splithttp.path; 
														 | 
														
														 | 
														
															             obj.path = splithttp.path; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             obj.host = splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host'); 
														 | 
														
														 | 
														
															             obj.host = splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            obj.mode = splithttp.mode; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (security === 'tls') { 
														 | 
														
														 | 
														
															         if (security === 'tls') { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1401,6 +1413,7 @@ class Inbound extends XrayCommonClass { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 const splithttp = this.stream.splithttp; 
														 | 
														
														 | 
														
															                 const splithttp = this.stream.splithttp; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 params.set("path", splithttp.path); 
														 | 
														
														 | 
														
															                 params.set("path", splithttp.path); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 params.set("host", splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host')); 
														 | 
														
														 | 
														
															                 params.set("host", splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host')); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                params.set("mode", splithttp.mode); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 break; 
														 | 
														
														 | 
														
															                 break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1504,6 +1517,7 @@ class Inbound extends XrayCommonClass { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 const splithttp = this.stream.splithttp; 
														 | 
														
														 | 
														
															                 const splithttp = this.stream.splithttp; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 params.set("path", splithttp.path); 
														 | 
														
														 | 
														
															                 params.set("path", splithttp.path); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 params.set("host", splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host')); 
														 | 
														
														 | 
														
															                 params.set("host", splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host')); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                params.set("mode", splithttp.mode); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 break; 
														 | 
														
														 | 
														
															                 break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1586,6 +1600,7 @@ class Inbound extends XrayCommonClass { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 const splithttp = this.stream.splithttp; 
														 | 
														
														 | 
														
															                 const splithttp = this.stream.splithttp; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 params.set("path", splithttp.path); 
														 | 
														
														 | 
														
															                 params.set("path", splithttp.path); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 params.set("host", splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host')); 
														 | 
														
														 | 
														
															                 params.set("host", splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host')); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                params.set("mode", splithttp.mode); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 break; 
														 | 
														
														 | 
														
															                 break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 |