From 3eadac3805684cdf83e69d6469d42fae562c8201 Mon Sep 17 00:00:00 2001 From: arm64v8a <48624112+arm64v8a@users.noreply.github.com> Date: Mon, 10 Jul 2023 13:45:31 +0900 Subject: [PATCH] auto-fill fingerprint for reality --- fmt/Bean2CoreObj_box.cpp | 13 +++++++------ fmt/Bean2CoreObj_ray.cpp | 3 ++- 2 files changed, 9 insertions(+), 7 deletions(-) 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"; }