diff --git a/sub/subJsonService.go b/sub/subJsonService.go index d1b5baaa..cbda594a 100644 --- a/sub/subJsonService.go +++ b/sub/subJsonService.go @@ -268,13 +268,13 @@ func (s *SubJsonService) realityData(rData map[string]interface{}) map[string]in rltyData["spiderX"] = "/" + random.Seq(15) shortIds, ok := rData["shortIds"].([]interface{}) if ok && len(shortIds) > 0 { - rltyData["shortId"] = shortIds + rltyData["shortId"] = shortIds[random.Num(len(shortIds))].(string) } else { rltyData["shortId"] = "" } serverNames, ok := rData["serverNames"].([]interface{}) if ok && len(serverNames) > 0 { - rltyData["serverName"] = serverNames + rltyData["serverName"] = serverNames[random.Num(len(serverNames))].(string) } else { rltyData["serverName"] = "" } diff --git a/sub/subService.go b/sub/subService.go index 2f5b2f98..33d2e065 100644 --- a/sub/subService.go +++ b/sub/subService.go @@ -213,12 +213,6 @@ func (s *SubService) genVmessLink(inbound *model.Inbound, email string) string { http, _ := stream["httpSettings"].(map[string]interface{}) obj["path"], _ = http["path"].(string) obj["host"] = searchHost(http) - case "quic": - quic, _ := stream["quicSettings"].(map[string]interface{}) - header := quic["header"].(map[string]interface{}) - obj["type"], _ = header["type"].(string) - obj["host"], _ = quic["security"].(string) - obj["path"], _ = quic["key"].(string) case "grpc": grpc, _ := stream["grpcSettings"].(map[string]interface{}) obj["path"] = grpc["serviceName"].(string) @@ -370,12 +364,6 @@ func (s *SubService) genVlessLink(inbound *model.Inbound, email string) string { http, _ := stream["httpSettings"].(map[string]interface{}) params["path"] = http["path"].(string) params["host"] = searchHost(http) - case "quic": - quic, _ := stream["quicSettings"].(map[string]interface{}) - params["quicSecurity"] = quic["security"].(string) - params["key"] = quic["key"].(string) - header := quic["header"].(map[string]interface{}) - params["headerType"] = header["type"].(string) case "grpc": grpc, _ := stream["grpcSettings"].(map[string]interface{}) params["serviceName"] = grpc["serviceName"].(string) @@ -604,12 +592,6 @@ func (s *SubService) genTrojanLink(inbound *model.Inbound, email string) string http, _ := stream["httpSettings"].(map[string]interface{}) params["path"] = http["path"].(string) params["host"] = searchHost(http) - case "quic": - quic, _ := stream["quicSettings"].(map[string]interface{}) - params["quicSecurity"] = quic["security"].(string) - params["key"] = quic["key"].(string) - header := quic["header"].(map[string]interface{}) - params["headerType"] = header["type"].(string) case "grpc": grpc, _ := stream["grpcSettings"].(map[string]interface{}) params["serviceName"] = grpc["serviceName"].(string) @@ -839,12 +821,6 @@ func (s *SubService) genShadowsocksLink(inbound *model.Inbound, email string) st http, _ := stream["httpSettings"].(map[string]interface{}) params["path"] = http["path"].(string) params["host"] = searchHost(http) - case "quic": - quic, _ := stream["quicSettings"].(map[string]interface{}) - params["quicSecurity"] = quic["security"].(string) - params["key"] = quic["key"].(string) - header := quic["header"].(map[string]interface{}) - params["headerType"] = header["type"].(string) case "grpc": grpc, _ := stream["grpcSettings"].(map[string]interface{}) params["serviceName"] = grpc["serviceName"].(string) diff --git a/web/assets/js/model/outbound.js b/web/assets/js/model/outbound.js index 1ff271f2..dc22a5b1 100644 --- a/web/assets/js/model/outbound.js +++ b/web/assets/js/model/outbound.js @@ -471,7 +471,6 @@ class StreamSettings extends CommonClass { this.kcp = kcpSettings; this.ws = wsSettings; this.http = httpSettings; - this.quic = quicSettings; this.grpc = grpcSettings; this.httpupgrade = httpupgradeSettings; this.splithttp = splithttpSettings; @@ -523,7 +522,6 @@ class StreamSettings extends CommonClass { kcpSettings: network === 'kcp' ? this.kcp.toJson() : undefined, wsSettings: network === 'ws' ? this.ws.toJson() : undefined, httpSettings: network === 'http' ? this.http.toJson() : undefined, - quicSettings: network === 'quic' ? this.quic.toJson() : undefined, grpcSettings: network === 'grpc' ? this.grpc.toJson() : undefined, httpupgradeSettings: network === 'httpupgrade' ? this.httpupgrade.toJson() : undefined, splithttpSettings: network === 'splithttp' ? this.splithttp.toJson() : undefined, @@ -591,7 +589,7 @@ class Outbound extends CommonClass { canEnableTls() { if (![Protocols.VMess, Protocols.VLESS, Protocols.Trojan, Protocols.Shadowsocks].includes(this.protocol)) return false; - return ["tcp", "ws", "http", "quic", "grpc", "httpupgrade", "splithttp"].includes(this.stream.network); + return ["tcp", "ws", "http", "grpc", "httpupgrade", "splithttp"].includes(this.stream.network); } //this is used for xtls-rprx-vision @@ -707,11 +705,6 @@ class Outbound extends CommonClass { stream.http = new HttpStreamSettings( json.path, json.host); - } else if (network === 'quic') { - stream.quic = new QuicStreamSettings( - json.host ? json.host : 'none', - json.path, - json.type ? json.type : 'none'); } else if (network === 'grpc') { stream.grpc = new GrpcStreamSettings(json.path, json.authority, json.type == 'multi'); } else if (network === 'httpupgrade') { @@ -753,11 +746,6 @@ class Outbound extends CommonClass { stream.ws = new WsStreamSettings(path, host); } else if (type === 'http' || type == 'h2') { stream.http = new HttpStreamSettings(path, host); - } else if (type === 'quic') { - stream.quic = new QuicStreamSettings( - url.searchParams.get('quicSecurity') ?? 'none', - url.searchParams.get('key') ?? '', - headerType ?? 'none'); } else if (type === 'grpc') { stream.grpc = new GrpcStreamSettings( url.searchParams.get('serviceName') ?? '', diff --git a/web/assets/js/model/xray.js b/web/assets/js/model/xray.js index a225c993..8b7fca28 100644 --- a/web/assets/js/model/xray.js +++ b/web/assets/js/model/xray.js @@ -449,37 +449,6 @@ class HttpStreamSettings extends XrayCommonClass { } } -class QuicStreamSettings extends XrayCommonClass { - constructor( - security = 'none', - key = RandomUtil.randomSeq(10), - type = 'none' - ) { - super(); - this.security = security; - this.key = key; - this.type = type; - } - - static fromJson(json = {}) { - return new QuicStreamSettings( - json.security, - json.key, - json.header ? json.header.type : 'none', - ); - } - - toJson() { - return { - security: this.security, - key: this.key, - header: { - type: this.type, - } - } - } -} - class GrpcStreamSettings extends XrayCommonClass { constructor( serviceName = "", @@ -1092,7 +1061,6 @@ class StreamSettings extends XrayCommonClass { kcpSettings = new KcpStreamSettings(), wsSettings = new WsStreamSettings(), httpSettings = new HttpStreamSettings(), - quicSettings = new QuicStreamSettings(), grpcSettings = new GrpcStreamSettings(), httpupgradeSettings = new HTTPUpgradeStreamSettings(), splithttpSettings = new SplitHTTPStreamSettings(), @@ -1109,7 +1077,6 @@ class StreamSettings extends XrayCommonClass { this.kcp = kcpSettings; this.ws = wsSettings; this.http = httpSettings; - this.quic = quicSettings; this.grpc = grpcSettings; this.httpupgrade = httpupgradeSettings; this.splithttp = splithttpSettings; @@ -1173,7 +1140,6 @@ class StreamSettings extends XrayCommonClass { KcpStreamSettings.fromJson(json.kcpSettings), WsStreamSettings.fromJson(json.wsSettings), HttpStreamSettings.fromJson(json.httpSettings), - QuicStreamSettings.fromJson(json.quicSettings), GrpcStreamSettings.fromJson(json.grpcSettings), HTTPUpgradeStreamSettings.fromJson(json.httpupgradeSettings), SplitHTTPStreamSettings.fromJson(json.splithttpSettings), @@ -1194,7 +1160,6 @@ class StreamSettings extends XrayCommonClass { kcpSettings: network === 'kcp' ? this.kcp.toJson() : undefined, wsSettings: network === 'ws' ? this.ws.toJson() : undefined, httpSettings: network === 'http' ? this.http.toJson() : undefined, - quicSettings: network === 'quic' ? this.quic.toJson() : undefined, grpcSettings: network === 'grpc' ? this.grpc.toJson() : undefined, httpupgradeSettings: network === 'httpupgrade' ? this.httpupgrade.toJson() : undefined, splithttpSettings: network === 'splithttp' ? this.splithttp.toJson() : undefined, @@ -1311,10 +1276,6 @@ class Inbound extends XrayCommonClass { return this.network === "kcp"; } - get isQuic() { - return this.network === "quic" - } - get isGrpc() { return this.network === "grpc"; } @@ -1393,18 +1354,6 @@ class Inbound extends XrayCommonClass { return null; } - get quicSecurity() { - return this.stream.quic.security; - } - - get quicKey() { - return this.stream.quic.key; - } - - get quicType() { - return this.stream.quic.type; - } - get kcpType() { return this.stream.kcp.type; } @@ -1424,7 +1373,7 @@ class Inbound extends XrayCommonClass { canEnableTls() { if (![Protocols.VMESS, Protocols.VLESS, Protocols.TROJAN, Protocols.SHADOWSOCKS].includes(this.protocol)) return false; - return ["tcp", "ws", "http", "quic", "grpc", "httpupgrade", "splithttp"].includes(this.network); + return ["tcp", "ws", "http", "grpc", "httpupgrade", "splithttp"].includes(this.network); } //this is used for xtls-rprx-vision @@ -1497,10 +1446,6 @@ class Inbound extends XrayCommonClass { obj.net = 'h2'; obj.path = this.stream.http.path; obj.host = this.stream.http.host.join(','); - } else if (network === 'quic') { - obj.type = this.stream.quic.type; - obj.host = this.stream.quic.security; - obj.path = this.stream.quic.key; } else if (network === 'grpc') { obj.path = this.stream.grpc.serviceName; obj.authority = this.stream.grpc.authority; @@ -1570,12 +1515,6 @@ class Inbound extends XrayCommonClass { params.set("path", http.path); params.set("host", http.host); break; - case "quic": - const quic = this.stream.quic; - params.set("quicSecurity", quic.security); - params.set("key", quic.key); - params.set("headerType", quic.type); - break; case "grpc": const grpc = this.stream.grpc; params.set("serviceName", grpc.serviceName); @@ -1691,12 +1630,6 @@ class Inbound extends XrayCommonClass { params.set("path", http.path); params.set("host", http.host); break; - case "quic": - const quic = this.stream.quic; - params.set("quicSecurity", quic.security); - params.set("key", quic.key); - params.set("headerType", quic.type); - break; case "grpc": const grpc = this.stream.grpc; params.set("serviceName", grpc.serviceName); @@ -1779,12 +1712,6 @@ class Inbound extends XrayCommonClass { params.set("path", http.path); params.set("host", http.host); break; - case "quic": - const quic = this.stream.quic; - params.set("quicSecurity", quic.security); - params.set("key", quic.key); - params.set("headerType", quic.type); - break; case "grpc": const grpc = this.stream.grpc; params.set("serviceName", grpc.serviceName); diff --git a/web/html/xui/form/outbound.html b/web/html/xui/form/outbound.html index 7dbd0313..081c6fd7 100644 --- a/web/html/xui/form/outbound.html +++ b/web/html/xui/form/outbound.html @@ -239,7 +239,6 @@ mKCP WebSocket H2 - QUIC gRPC HTTPUpgrade SplitHTTP @@ -317,31 +316,7 @@ - - - - + - - - -