diff --git a/include/configs/common/TLS.h b/include/configs/common/TLS.h index 9a6536a..cffea7d 100644 --- a/include/configs/common/TLS.h +++ b/include/configs/common/TLS.h @@ -9,11 +9,13 @@ namespace Configs class uTLS : public baseConfig { public: + bool supported = true; bool enabled = false; QString fingerPrint; uTLS() { + _add(new configItem("supported", &supported, boolean)); _add(new configItem("enabled", &enabled, itemType::boolean)); _add(new configItem("fingerprint", &fingerPrint, string)); } diff --git a/include/configs/outbounds/hysteria.h b/include/configs/outbounds/hysteria.h index 047bd57..7e766a0 100644 --- a/include/configs/outbounds/hysteria.h +++ b/include/configs/outbounds/hysteria.h @@ -28,6 +28,7 @@ namespace Configs hysteria() : outbound() { + tls->utls->supported = false; _add(new configItem("protocol_version", &protocol_version, string)); _add(new configItem("server_ports", &server_ports, stringList)); _add(new configItem("hop_interval", &hop_interval, string)); diff --git a/include/configs/outbounds/tuic.h b/include/configs/outbounds/tuic.h index 69ffa5e..6ecd271 100644 --- a/include/configs/outbounds/tuic.h +++ b/include/configs/outbounds/tuic.h @@ -22,6 +22,7 @@ namespace Configs tuic() : outbound() { + tls->utls->supported = false; _add(new configItem("uuid", &uuid, string)); _add(new configItem("password", &password, string)); _add(new configItem("congestion_control", &congestion_control, string)); diff --git a/src/configs/common/TLS.cpp b/src/configs/common/TLS.cpp index 3bc572c..9b2a48c 100644 --- a/src/configs/common/TLS.cpp +++ b/src/configs/common/TLS.cpp @@ -41,6 +41,7 @@ namespace Configs { } BuildResult uTLS::Build() { + if (!supported) return {}; auto obj = ExportToJson(); if ((obj.isEmpty() || obj["enabled"].toBool() == false || fingerPrint.isEmpty()) && !dataStore->utlsFingerprint.isEmpty()) { obj["enabled"] = true;