diff --git a/i18n/across_zh_CN.ts b/i18n/across_zh_CN.ts index 43b9e41..400b474 100644 --- a/i18n/across_zh_CN.ts +++ b/i18n/across_zh_CN.ts @@ -1236,7 +1236,7 @@ across::NodeFormModel - + custom configuration encoding to url is not supported 未支持自定义配置编码到链接格式 diff --git a/src/models/serializetools.cpp b/src/models/serializetools.cpp index 2aaaa3c..1a76a2c 100644 --- a/src/models/serializetools.cpp +++ b/src/models/serializetools.cpp @@ -303,7 +303,11 @@ SerializeTools::vmessBase64Decode(const std::string &url_str) { } if (root.contains("net")) { - stream->set_network(root["net"].get()); + if (root["net"].get() == "h2") { + stream->set_network("http"); + } else { + stream->set_network(root["net"].get()); + } do { if (stream->network() == "tcp") { @@ -317,7 +321,7 @@ SerializeTools::vmessBase64Decode(const std::string &url_str) { break; } - if (stream->network() == "h2") { + if (stream->network() == "http") { auto http2 = stream->mutable_httpsettings(); if (root.contains("host")) { @@ -440,10 +444,13 @@ SerializeTools::vmessBase64Encode(const URLMetaObject &meta) { root["scy"] = user.security(); if (stream.IsInitialized()) { - root["net"] = stream.network(); + if (stream.network() == "h2" || stream.network() == "http") + root["net"] = "h2"; + else + root["net"] = stream.network(); do { - if (stream.network() == "h2" && stream.has_httpsettings()) { + if (stream.network() == "http" && stream.has_httpsettings()) { const auto &http2 = stream.httpsettings(); std::string hosts; diff --git a/src/view_models/nodeformmodel.cpp b/src/view_models/nodeformmodel.cpp index 16634f7..e18ef91 100644 --- a/src/view_models/nodeformmodel.cpp +++ b/src/view_models/nodeformmodel.cpp @@ -270,8 +270,13 @@ bool NodeFormModel::setVMessOutboud(NodeInfo &node, const QVariantMap &values) { user->set_security(values.value("security").toString().toStdString()); auto stream = outbound->mutable_streamsettings(); - if (values.contains("network")) - stream->set_network(values.value("network").toString().toStdString()); + if (values.contains("network")) { + if (values.value("network").toString() == "h2") + stream->set_network("http"); + else + stream->set_network( + values.value("network").toString().toStdString()); + } if (values.contains("enableTLS") && values.value("enableTLS").toBool()) { stream->set_security("tls"); @@ -288,7 +293,7 @@ bool NodeFormModel::setVMessOutboud(NodeInfo &node, const QVariantMap &values) { } do { - if (stream->network() == "h2") { + if (stream->network() == "http") { auto http2 = stream->mutable_httpsettings(); if (values.contains("host")) { diff --git a/src/views/typescripts/home.js b/src/views/typescripts/home.js index 78d8662..10b75c5 100644 --- a/src/views/typescripts/home.js +++ b/src/views/typescripts/home.js @@ -22,7 +22,7 @@ function networkSelectToggle(currentIndex, components, control = null) { switch (currentIndex) { case 0: // none break; - case 1: + case 1: // h2 hostLabel.visible = true; hostLabel.text = "Host"; hostText.visible = true; @@ -105,6 +105,9 @@ function visibleChangeToggle(visible, components, model = null) { let streamSettings = raw["streamSettings"]; if (streamSettings.hasOwnProperty("network") && networkSelect !== null) { let network = streamSettings["network"]; + if (network === "http") { + network = "h2"; + } networkSelect.currentIndex = networkSelect.find(network); switch (network) { case "h2": diff --git a/src/views/typescripts/home.ts b/src/views/typescripts/home.ts index 9b978be..6846221 100644 --- a/src/views/typescripts/home.ts +++ b/src/views/typescripts/home.ts @@ -25,7 +25,7 @@ function networkSelectToggle(currentIndex: number, components: any, control: any switch (currentIndex) { case 0: // none break - case 1: + case 1: // h2 hostLabel.visible = true hostLabel.text = "Host" hostText.visible = true @@ -122,8 +122,11 @@ function visibleChangeToggle(visible: boolean, components: any, model: any = nul if (streamSettings.hasOwnProperty("network") && networkSelect !== null) { let network = streamSettings["network"] - networkSelect.currentIndex = networkSelect.find(network) + if (network === "http") { + network = "h2" + } + networkSelect.currentIndex = networkSelect.find(network) switch (network) { case "h2": if (streamSettings.hasOwnProperty("httpSettings")) {