From d541d0bbe64d642d0d8b7585fe9ea8c6942ffbb8 Mon Sep 17 00:00:00 2001 From: parhelia512 <0011d3@gmail.com> Date: Tue, 18 Nov 2025 18:57:12 +0800 Subject: [PATCH] fix: fix clash parser for httpupgrade transport --- src/configs/sub/GroupUpdater.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/configs/sub/GroupUpdater.cpp b/src/configs/sub/GroupUpdater.cpp index f4ba438..923ab20 100644 --- a/src/configs/sub/GroupUpdater.cpp +++ b/src/configs/sub/GroupUpdater.cpp @@ -521,6 +521,9 @@ namespace Subscription { bean->transport->path = Node2QString(ws["path"]); bean->transport->max_early_data = Node2Int(ws["max-early-data"]); bean->transport->early_data_header_name = Node2QString(ws["early-data-header-name"]); + if (Node2Bool(ws["v2ray-http-upgrade"])) { + bean->transport->type = "httpupgrade"; + } } auto grpc = NodeChild(proxy, {"grpc-opts", "grpc-opt"}); @@ -581,6 +584,9 @@ namespace Subscription { bean->transport->path = Node2QString(ws["path"]); bean->transport->max_early_data = Node2Int(ws["max-early-data"]); bean->transport->early_data_header_name = Node2QString(ws["early-data-header-name"]); + if (Node2Bool(ws["v2ray-http-upgrade"])) { + bean->transport->type = "httpupgrade"; + } } auto grpc = NodeChild(proxy, {"grpc-opts", "grpc-opt"}); @@ -634,6 +640,9 @@ namespace Subscription { bean->transport->path = Node2QString(ws["path"]); bean->transport->max_early_data = Node2Int(ws["max-early-data"]); bean->transport->early_data_header_name = Node2QString(ws["early-data-header-name"]); + if (Node2Bool(ws["v2ray-http-upgrade"])) { + bean->transport->type = "httpupgrade"; + } // for Xray if (Node2QString(ws["early-data-header-name"]) == "Sec-WebSocket-Protocol") { bean->transport->path += "?ed=" + Node2QString(ws["max-early-data"]);