From 0ddbf90dfceeab80f04fc67902f18aa1d6e6ae98 Mon Sep 17 00:00:00 2001 From: parhelia512 <0011d3@gmail.com> Date: Sun, 27 Jul 2025 12:51:18 +0800 Subject: [PATCH] fix #576 --- src/configs/proxy/Bean2Link.cpp | 4 ++-- src/configs/proxy/Link2Bean.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/configs/proxy/Bean2Link.cpp b/src/configs/proxy/Bean2Link.cpp index 6680452..ca21452 100644 --- a/src/configs/proxy/Bean2Link.cpp +++ b/src/configs/proxy/Bean2Link.cpp @@ -188,7 +188,7 @@ namespace Configs { q.addQueryItem("downmbps", Int2String(downloadMbps)); if (!obfsPassword.isEmpty()) { q.addQueryItem("obfs", "xplus"); - q.addQueryItem("obfsParam", obfsPassword); + q.addQueryItem("obfsParam", QUrl::toPercentEncoding(obfsPassword)); } if (authPayloadType == hysteria_auth_string) q.addQueryItem("auth", authPayload); if (hyProtocol == hysteria_protocol_facktcp) q.addQueryItem("protocol", "faketcp"); @@ -229,7 +229,7 @@ namespace Configs { QUrlQuery q; if (!obfsPassword.isEmpty()) { q.addQueryItem("obfs", "salamander"); - q.addQueryItem("obfs-password", obfsPassword); + q.addQueryItem("obfs-password", QUrl::toPercentEncoding(obfsPassword)); } if (allowInsecure) q.addQueryItem("insecure", "1"); if (!sni.isEmpty()) q.addQueryItem("sni", sni); diff --git a/src/configs/proxy/Link2Bean.cpp b/src/configs/proxy/Link2Bean.cpp index 38fbdcf..92189eb 100644 --- a/src/configs/proxy/Link2Bean.cpp +++ b/src/configs/proxy/Link2Bean.cpp @@ -270,7 +270,7 @@ namespace Configs { name = url.fragment(QUrl::FullyDecoded); serverAddress = url.host(); serverPort = url.port(); - obfsPassword = query.queryItemValue("obfsParam"); + obfsPassword = QUrl::fromPercentEncoding(query.queryItemValue("obfsParam").toUtf8()); allowInsecure = QStringList{"1", "true"}.contains(query.queryItemValue("insecure")); uploadMbps = query.queryItemValue("upmbps").toInt(); downloadMbps = query.queryItemValue("downmbps").toInt(); @@ -314,7 +314,7 @@ namespace Configs { name = url.fragment(QUrl::FullyDecoded); serverAddress = url.host(); serverPort = url.port(); - obfsPassword = query.queryItemValue("obfs-password"); + obfsPassword = QUrl::fromPercentEncoding(query.queryItemValue("obfs-password").toUtf8()); allowInsecure = QStringList{"1", "true"}.contains(query.queryItemValue("insecure")); if (url.password().isEmpty()) {