diff --git a/fmt/Bean2CoreObj_box.cpp b/fmt/Bean2CoreObj_box.cpp index d64712a..6c2480c 100644 --- a/fmt/Bean2CoreObj_box.cpp +++ b/fmt/Bean2CoreObj_box.cpp @@ -53,18 +53,19 @@ namespace NekoGui_fmt { tls["alpn"] = QList2QJsonArray(alpn.split(",")); } auto fp = utlsFingerprint.isEmpty() ? NekoGui::dataStore->utlsFingerprint : utlsFingerprint; - if (!fp.isEmpty()) { - tls["utls"] = QJsonObject{ - {"enabled", true}, - {"fingerprint", fp}, - }; - } if (!reality_pbk.trimmed().isEmpty()) { tls["reality"] = QJsonObject{ {"enabled", true}, {"public_key", reality_pbk}, {"short_id", reality_sid.split(",")[0]}, }; + if (fp.isEmpty()) fp = "chrome"; + } + if (!fp.isEmpty()) { + tls["utls"] = QJsonObject{ + {"enabled", true}, + {"fingerprint", fp}, + }; } outbound->insert("tls", tls); } diff --git a/fmt/Bean2CoreObj_ray.cpp b/fmt/Bean2CoreObj_ray.cpp index fa6c444..ac8d4ba 100644 --- a/fmt/Bean2CoreObj_ray.cpp +++ b/fmt/Bean2CoreObj_ray.cpp @@ -45,7 +45,7 @@ namespace NekoGui_fmt { if (security == "tls") { auto fp = utlsFingerprint.isEmpty() ? NekoGui::dataStore->utlsFingerprint : utlsFingerprint; QJsonObject tls; - if (!fp.trimmed().isEmpty()) tls["fingerprint"] = fp; + if (!fp.isEmpty()) tls["fingerprint"] = fp; if (!sni.trimmed().isEmpty()) tls["serverName"] = sni; if (reality_pbk.trimmed().isEmpty()) { if (allow_insecure || NekoGui::dataStore->skip_cert) tls["allowInsecure"] = true; @@ -65,6 +65,7 @@ namespace NekoGui_fmt { tls["publicKey"] = reality_pbk; tls["shortId"] = reality_sid; tls["spiderX"] = reality_spx; + if (fp.isEmpty()) tls["fingerprint"] = "chrome"; streamSettings["realitySettings"] = tls; streamSettings["security"] = "reality"; }