From 354fc618b0cc78cc06184337cf6bb22cabc317dc Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Thu, 31 Mar 2022 20:19:15 +0800 Subject: [PATCH] fix encode issue --- v2rayN/v2rayN/Handler/ShareHandler.cs | 12 ++++++------ v2rayN/v2rayN/Tool/Utils.cs | 3 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/v2rayN/v2rayN/Handler/ShareHandler.cs b/v2rayN/v2rayN/Handler/ShareHandler.cs index 56746da7..9550729a 100644 --- a/v2rayN/v2rayN/Handler/ShareHandler.cs +++ b/v2rayN/v2rayN/Handler/ShareHandler.cs @@ -508,7 +508,7 @@ namespace v2rayN.Handler i.address = u.IdnHost; i.port = u.Port; - i.remarks = Utils.UrlDecode(u.GetComponents(UriComponents.Fragment, UriFormat.Unescaped)); + i.remarks = u.GetComponents(UriComponents.Fragment, UriFormat.Unescaped); var q = HttpUtility.ParseQueryString(u.Query); var m = StdVmessUserInfo.Match(u.UserInfo); @@ -590,13 +590,13 @@ namespace v2rayN.Handler } VmessItem server = new VmessItem { - remarks = Utils.UrlDecode(parsedUrl.GetComponents(UriComponents.Fragment, UriFormat.Unescaped)), + remarks = parsedUrl.GetComponents(UriComponents.Fragment, UriFormat.Unescaped), address = parsedUrl.IdnHost, port = parsedUrl.Port, }; // parse base64 UserInfo - string rawUserInfo = parsedUrl.GetComponents(UriComponents.UserInfo, UriFormat.Unescaped); + string rawUserInfo = parsedUrl.GetComponents(UriComponents.UserInfo, UriFormat.UriEscaped); string userInfo = Utils.Base64Decode(rawUserInfo); string[] userInfoParts = userInfo.Split(new char[] { ':' }, 2); if (userInfoParts.Length != 2) @@ -712,7 +712,7 @@ namespace v2rayN.Handler } VmessItem server = new VmessItem { - remarks = Utils.UrlDecode(parsedUrl.GetComponents(UriComponents.Fragment, UriFormat.Unescaped)), + remarks = parsedUrl.GetComponents(UriComponents.Fragment, UriFormat.Unescaped), address = parsedUrl.IdnHost, port = parsedUrl.Port, }; @@ -741,7 +741,7 @@ namespace v2rayN.Handler item.address = url.IdnHost; item.port = url.Port; - item.remarks = Utils.UrlDecode(url.GetComponents(UriComponents.Fragment, UriFormat.Unescaped)); + item.remarks = url.GetComponents(UriComponents.Fragment, UriFormat.Unescaped); item.id = url.UserInfo; var query = HttpUtility.ParseQueryString(url.Query); @@ -761,7 +761,7 @@ namespace v2rayN.Handler item.address = url.IdnHost; item.port = url.Port; - item.remarks = Utils.UrlDecode(url.GetComponents(UriComponents.Fragment, UriFormat.Unescaped)); + item.remarks = url.GetComponents(UriComponents.Fragment, UriFormat.Unescaped); item.id = url.UserInfo; var query = HttpUtility.ParseQueryString(url.Query); diff --git a/v2rayN/v2rayN/Tool/Utils.cs b/v2rayN/v2rayN/Tool/Utils.cs index 49384694..52a183ee 100644 --- a/v2rayN/v2rayN/Tool/Utils.cs +++ b/v2rayN/v2rayN/Tool/Utils.cs @@ -370,7 +370,8 @@ namespace v2rayN public static string UrlEncode(string url) { - return HttpUtility.UrlEncode(url); + return Uri.EscapeDataString(url); + //return HttpUtility.UrlEncode(url); } public static string UrlDecode(string url) {