mirror of
https://github.com/MatsuriDayo/nekoray.git
synced 2025-12-17 20:44:38 +03:00
修复一些历史问题 (#592)
* fix desktop * SIP002-URI-Scheme --------- Co-authored-by: arm64v8a <48624112+arm64v8a@users.noreply.github.com>
This commit is contained in:
@@ -72,18 +72,27 @@ namespace NekoRay::fmt {
|
||||
return url.toString(QUrl::FullyEncoded);
|
||||
}
|
||||
|
||||
const char* fixShadowsocksUserNameEncodeMagic = "fixShadowsocksUserNameEncodeMagic-holder-for-QUrl";
|
||||
|
||||
QString ShadowSocksBean::ToShareLink() {
|
||||
QUrl url;
|
||||
url.setScheme("ss");
|
||||
auto username = method + ":" + password;
|
||||
url.setUserName(username.toUtf8().toBase64(QByteArray::Base64Option::Base64UrlEncoding));
|
||||
if (method.startsWith("2022-")) {
|
||||
url.setUserName(fixShadowsocksUserNameEncodeMagic);
|
||||
} else {
|
||||
auto method_password = method + ":" + password;
|
||||
url.setUserName(method_password.toUtf8().toBase64(QByteArray::Base64Option::Base64UrlEncoding));
|
||||
}
|
||||
url.setHost(serverAddress);
|
||||
url.setPort(serverPort);
|
||||
if (!name.isEmpty()) url.setFragment(name);
|
||||
QUrlQuery q;
|
||||
if (!plugin.isEmpty()) q.addQueryItem("plugin", plugin);
|
||||
if (!q.isEmpty()) url.setQuery(q);
|
||||
return url.toString(QUrl::FullyEncoded);
|
||||
//
|
||||
auto link = url.toString(QUrl::FullyEncoded);
|
||||
link = link.replace(fixShadowsocksUserNameEncodeMagic, method + ":" + QUrl::toPercentEncoding(password));
|
||||
return link;
|
||||
}
|
||||
|
||||
QString VMessBean::ToShareLink() {
|
||||
|
||||
Reference in New Issue
Block a user