diff --git a/Telegram/SourceFiles/boxes/connection_box.cpp b/Telegram/SourceFiles/boxes/connection_box.cpp index e5d4d9ce5d..1bdb77d824 100644 --- a/Telegram/SourceFiles/boxes/connection_box.cpp +++ b/Telegram/SourceFiles/boxes/connection_box.cpp @@ -153,9 +153,13 @@ void AddProxyFromClipboard( const auto type = isSocks ? ProxyData::Type::Socks5 : ProxyData::Type::Mtproto; - const auto fields = url_parse_params( + auto fields = url_parse_params( match->captured(1), qthelp::UrlParamNameTransform::ToLower); + if (type == ProxyData::Type::Mtproto) { + auto &secret = fields[u"secret"_q]; + secret.replace('+', '-').replace('/', '_'); + } const auto proxy = ProxyDataFromFields(type, fields); if (!proxy) { const auto status = proxy.status(); diff --git a/Telegram/SourceFiles/core/local_url_handlers.cpp b/Telegram/SourceFiles/core/local_url_handlers.cpp index 4222b11967..b3ea2eedb6 100644 --- a/Telegram/SourceFiles/core/local_url_handlers.cpp +++ b/Telegram/SourceFiles/core/local_url_handlers.cpp @@ -388,6 +388,8 @@ bool ApplyMtprotoProxy( auto params = url_parse_params( match->captured(1), qthelp::UrlParamNameTransform::ToLower); + auto &secret = params[u"secret"_q]; + secret.replace('+', '-').replace('/', '_'); ProxiesBoxController::ShowApplyConfirmation( controller, MTP::ProxyData::Type::Mtproto,