|  | @@ -525,7 +525,7 @@ class HTTPUpgradeStreamSettings extends XrayCommonClass {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -class SplitHTTPStreamSettings extends XrayCommonClass {
 | 
	
		
			
				|  |  | +class xHTTPStreamSettings extends XrayCommonClass {
 | 
	
		
			
				|  |  |      constructor(
 | 
	
		
			
				|  |  |          path = '/',
 | 
	
		
			
				|  |  |          host = '',
 | 
	
	
		
			
				|  | @@ -567,7 +567,7 @@ class SplitHTTPStreamSettings extends XrayCommonClass {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      static fromJson(json = {}) {
 | 
	
		
			
				|  |  | -        return new SplitHTTPStreamSettings(
 | 
	
		
			
				|  |  | +        return new xHTTPStreamSettings(
 | 
	
		
			
				|  |  |              json.path,
 | 
	
		
			
				|  |  |              json.host,
 | 
	
		
			
				|  |  |              XrayCommonClass.toHeaders(json.headers),
 | 
	
	
		
			
				|  | @@ -961,7 +961,7 @@ class StreamSettings extends XrayCommonClass {
 | 
	
		
			
				|  |  |          httpSettings = new HttpStreamSettings(),
 | 
	
		
			
				|  |  |          grpcSettings = new GrpcStreamSettings(),
 | 
	
		
			
				|  |  |          httpupgradeSettings = new HTTPUpgradeStreamSettings(),
 | 
	
		
			
				|  |  | -        splithttpSettings = new SplitHTTPStreamSettings(),
 | 
	
		
			
				|  |  | +        xhttpSettings = new xHTTPStreamSettings(),
 | 
	
		
			
				|  |  |          sockopt = undefined,
 | 
	
		
			
				|  |  |      ) {
 | 
	
		
			
				|  |  |          super();
 | 
	
	
		
			
				|  | @@ -976,7 +976,7 @@ class StreamSettings extends XrayCommonClass {
 | 
	
		
			
				|  |  |          this.http = httpSettings;
 | 
	
		
			
				|  |  |          this.grpc = grpcSettings;
 | 
	
		
			
				|  |  |          this.httpupgrade = httpupgradeSettings;
 | 
	
		
			
				|  |  | -        this.splithttp = splithttpSettings;
 | 
	
		
			
				|  |  | +        this.xhttp = xhttpSettings;
 | 
	
		
			
				|  |  |          this.sockopt = sockopt;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1026,7 +1026,7 @@ class StreamSettings extends XrayCommonClass {
 | 
	
		
			
				|  |  |              HttpStreamSettings.fromJson(json.httpSettings),
 | 
	
		
			
				|  |  |              GrpcStreamSettings.fromJson(json.grpcSettings),
 | 
	
		
			
				|  |  |              HTTPUpgradeStreamSettings.fromJson(json.httpupgradeSettings),
 | 
	
		
			
				|  |  | -            SplitHTTPStreamSettings.fromJson(json.splithttpSettings),
 | 
	
		
			
				|  |  | +            xHTTPStreamSettings.fromJson(json.xhttpSettings),
 | 
	
		
			
				|  |  |              SockoptStreamSettings.fromJson(json.sockopt),
 | 
	
		
			
				|  |  |          );
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -1045,7 +1045,7 @@ class StreamSettings extends XrayCommonClass {
 | 
	
		
			
				|  |  |              httpSettings: network === 'http' ? this.http.toJson() : undefined,
 | 
	
		
			
				|  |  |              grpcSettings: network === 'grpc' ? this.grpc.toJson() : undefined,
 | 
	
		
			
				|  |  |              httpupgradeSettings: network === 'httpupgrade' ? this.httpupgrade.toJson() : undefined,
 | 
	
		
			
				|  |  | -            splithttpSettings: network === 'splithttp' ? this.splithttp.toJson() : undefined,
 | 
	
		
			
				|  |  | +            xhttpSettings: network === 'xhttp' ? this.xhttp.toJson() : undefined,
 | 
	
		
			
				|  |  |              sockopt: this.sockopt != undefined ? this.sockopt.toJson() : undefined,
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -1182,8 +1182,8 @@ class Inbound extends XrayCommonClass {
 | 
	
		
			
				|  |  |          return this.network === "httpupgrade";
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    get isSplithttp() {
 | 
	
		
			
				|  |  | -        return this.network === "splithttp";
 | 
	
		
			
				|  |  | +    get isXHTTP() {
 | 
	
		
			
				|  |  | +        return this.network === "xhttp";
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // Shadowsocks
 | 
	
	
		
			
				|  | @@ -1226,8 +1226,8 @@ class Inbound extends XrayCommonClass {
 | 
	
		
			
				|  |  |              return this.stream.http.host[0];
 | 
	
		
			
				|  |  |          } else if (this.isHttpupgrade) {
 | 
	
		
			
				|  |  |              return this.stream.httpupgrade.host?.length > 0 ? this.stream.httpupgrade.host : this.getHeader(this.stream.httpupgrade, 'host');
 | 
	
		
			
				|  |  | -        } else if (this.isSplithttp) {
 | 
	
		
			
				|  |  | -            return this.stream.splithttp.host?.length > 0 ? this.stream.splithttp.host : this.getHeader(this.stream.splithttp, 'host');
 | 
	
		
			
				|  |  | +        } else if (this.isXHTTP) {
 | 
	
		
			
				|  |  | +            return this.stream.xhttp.host?.length > 0 ? this.stream.xhttp.host : this.getHeader(this.stream.xhttp, 'host');
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return null;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -1241,8 +1241,8 @@ class Inbound extends XrayCommonClass {
 | 
	
		
			
				|  |  |              return this.stream.http.path;
 | 
	
		
			
				|  |  |          } else if (this.isHttpupgrade) {
 | 
	
		
			
				|  |  |              return this.stream.httpupgrade.path;
 | 
	
		
			
				|  |  | -        } else if (this.isSplithttp) {
 | 
	
		
			
				|  |  | -            return this.stream.splithttp.path;
 | 
	
		
			
				|  |  | +        } else if (this.isXHTTP) {
 | 
	
		
			
				|  |  | +            return this.stream.xhttp.path;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return null;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -1266,7 +1266,7 @@ class Inbound extends XrayCommonClass {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      canEnableTls() {
 | 
	
		
			
				|  |  |          if (![Protocols.VMESS, Protocols.VLESS, Protocols.TROJAN, Protocols.SHADOWSOCKS].includes(this.protocol)) return false;
 | 
	
		
			
				|  |  | -        return ["tcp", "ws", "http", "grpc", "httpupgrade", "splithttp"].includes(this.network);
 | 
	
		
			
				|  |  | +        return ["tcp", "ws", "http", "grpc", "httpupgrade", "xhttp"].includes(this.network);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //this is used for xtls-rprx-vision
 | 
	
	
		
			
				|  | @@ -1279,7 +1279,7 @@ class Inbound extends XrayCommonClass {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      canEnableReality() {
 | 
	
		
			
				|  |  |          if (![Protocols.VLESS, Protocols.TROJAN].includes(this.protocol)) return false;
 | 
	
		
			
				|  |  | -        return ["tcp", "http", "grpc", "splithttp"].includes(this.network);
 | 
	
		
			
				|  |  | +        return ["tcp", "http", "grpc", "xhttp"].includes(this.network);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      canEnableStream() {
 | 
	
	
		
			
				|  | @@ -1345,11 +1345,11 @@ class Inbound extends XrayCommonClass {
 | 
	
		
			
				|  |  |              const httpupgrade = this.stream.httpupgrade;
 | 
	
		
			
				|  |  |              obj.path = httpupgrade.path;
 | 
	
		
			
				|  |  |              obj.host = httpupgrade.host?.length > 0 ? httpupgrade.host : this.getHeader(httpupgrade, 'host');
 | 
	
		
			
				|  |  | -        } else if (network === 'splithttp') {
 | 
	
		
			
				|  |  | -            const splithttp = this.stream.splithttp;
 | 
	
		
			
				|  |  | -            obj.path = splithttp.path;
 | 
	
		
			
				|  |  | -            obj.host = splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host');
 | 
	
		
			
				|  |  | -            obj.mode = splithttp.mode;
 | 
	
		
			
				|  |  | +        } else if (network === 'xhttp') {
 | 
	
		
			
				|  |  | +            const xhttp = this.stream.xhttp;
 | 
	
		
			
				|  |  | +            obj.path = xhttp.path;
 | 
	
		
			
				|  |  | +            obj.host = xhttp.host?.length > 0 ? xhttp.host : this.getHeader(xhttp, 'host');
 | 
	
		
			
				|  |  | +            obj.mode = xhttp.mode;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if (security === 'tls') {
 | 
	
	
		
			
				|  | @@ -1418,11 +1418,11 @@ class Inbound extends XrayCommonClass {
 | 
	
		
			
				|  |  |                  params.set("path", httpupgrade.path);
 | 
	
		
			
				|  |  |                  params.set("host", httpupgrade.host?.length > 0 ? httpupgrade.host : this.getHeader(httpupgrade, 'host'));
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  | -            case "splithttp":
 | 
	
		
			
				|  |  | -                const splithttp = this.stream.splithttp;
 | 
	
		
			
				|  |  | -                params.set("path", splithttp.path);
 | 
	
		
			
				|  |  | -                params.set("host", splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host'));
 | 
	
		
			
				|  |  | -                params.set("mode", splithttp.mode);
 | 
	
		
			
				|  |  | +            case "xhttp":
 | 
	
		
			
				|  |  | +                const xhttp = this.stream.xhttp;
 | 
	
		
			
				|  |  | +                params.set("path", xhttp.path);
 | 
	
		
			
				|  |  | +                params.set("host", xhttp.host?.length > 0 ? xhttp.host : this.getHeader(xhttp, 'host'));
 | 
	
		
			
				|  |  | +                params.set("mode", xhttp.mode);
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1522,11 +1522,11 @@ class Inbound extends XrayCommonClass {
 | 
	
		
			
				|  |  |                  params.set("path", httpupgrade.path);
 | 
	
		
			
				|  |  |                  params.set("host", httpupgrade.host?.length > 0 ? httpupgrade.host : this.getHeader(httpupgrade, 'host'));
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  | -            case "splithttp":
 | 
	
		
			
				|  |  | -                const splithttp = this.stream.splithttp;
 | 
	
		
			
				|  |  | -                params.set("path", splithttp.path);
 | 
	
		
			
				|  |  | -                params.set("host", splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host'));
 | 
	
		
			
				|  |  | -                params.set("mode", splithttp.mode);
 | 
	
		
			
				|  |  | +            case "xhttp":
 | 
	
		
			
				|  |  | +                const xhttp = this.stream.xhttp;
 | 
	
		
			
				|  |  | +                params.set("path", xhttp.path);
 | 
	
		
			
				|  |  | +                params.set("host", xhttp.host?.length > 0 ? xhttp.host : this.getHeader(xhttp, 'host'));
 | 
	
		
			
				|  |  | +                params.set("mode", xhttp.mode);
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1605,11 +1605,11 @@ class Inbound extends XrayCommonClass {
 | 
	
		
			
				|  |  |                  params.set("path", httpupgrade.path);
 | 
	
		
			
				|  |  |                  params.set("host", httpupgrade.host?.length > 0 ? httpupgrade.host : this.getHeader(httpupgrade, 'host'));
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  | -            case "splithttp":
 | 
	
		
			
				|  |  | -                const splithttp = this.stream.splithttp;
 | 
	
		
			
				|  |  | -                params.set("path", splithttp.path);
 | 
	
		
			
				|  |  | -                params.set("host", splithttp.host?.length > 0 ? splithttp.host : this.getHeader(splithttp, 'host'));
 | 
	
		
			
				|  |  | -                params.set("mode", splithttp.mode);
 | 
	
		
			
				|  |  | +            case "xhttp":
 | 
	
		
			
				|  |  | +                const xhttp = this.stream.xhttp;
 | 
	
		
			
				|  |  | +                params.set("path", xhttp.path);
 | 
	
		
			
				|  |  | +                params.set("host", xhttp.host?.length > 0 ? xhttp.host : this.getHeader(xhttp, 'host'));
 | 
	
		
			
				|  |  | +                params.set("mode", xhttp.mode);
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 |