SplitHTTP - Mode

Co-Authored-By: MHSanaei <ho3ein.sanaei@gmail.com>
This commit is contained in:
Alireza Ahmadi
2024-11-16 15:41:42 +01:00
parent 31cec0280a
commit 2f61bbcfdd
6 changed files with 56 additions and 8 deletions

View File

@@ -69,12 +69,19 @@ const WireguardDomainStrategy = [
"ForceIPv6v4"
];
const MODE_OPTION = {
AUTO: "auto",
PACKET_UP: "packet-up",
STREAM_UP: "stream-up",
};
Object.freeze(Protocols);
Object.freeze(SSMethods);
Object.freeze(TLS_FLOW_CONTROL);
Object.freeze(ALPN_OPTION);
Object.freeze(OutboundDomainStrategies);
Object.freeze(WireguardDomainStrategy);
Object.freeze(MODE_OPTION);
class CommonClass {
@@ -272,16 +279,18 @@ class HttpUpgradeStreamSettings extends CommonClass {
}
class SplitHTTPStreamSettings extends CommonClass {
constructor(path='/', host='') {
constructor(path='/', host='',mode = '') {
super();
this.path = path;
this.host = host;
this.mode = mode;
}
static fromJson(json={}) {
return new SplitHTTPStreamSettings(
json.path,
json.host,
json.mode,
);
}
@@ -289,6 +298,7 @@ class SplitHTTPStreamSettings extends CommonClass {
return {
path: this.path,
host: this.host,
mode: this.mode,
};
}
}
@@ -643,7 +653,7 @@ class Outbound extends CommonClass {
} else if (network === 'httpupgrade') {
stream.httpupgrade = new HttpUpgradeStreamSettings(json.path,json.host);
} else if (network === 'splithttp') {
stream.splithttp = new SplitHTTPStreamSettings(json.path,json.host);
stream.splithttp = new SplitHTTPStreamSettings(json.path,json.host,json.mode);
}
if(json.tls && json.tls == 'tls'){
@@ -687,7 +697,7 @@ class Outbound extends CommonClass {
} else if (type === 'httpupgrade') {
stream.httpupgrade = new HttpUpgradeStreamSettings(path,host);
} else if (type === 'splithttp') {
stream.splithttp = new SplitHTTPStreamSettings(path,host);
stream.splithttp = new SplitHTTPStreamSettings(path,host,mode);
}
if(security == 'tls'){