From 84eba671f0a93d5e1fa9154bc974d15f2b024ec8 Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Thu, 6 Apr 2023 11:40:28 +0800 Subject: [PATCH] Optimize add batch servers --- v2rayN/v2rayN/Handler/ConfigHandler.cs | 12 ++++++++++-- v2rayN/v2rayN/Tool/Utils.cs | 6 ++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs index e33430bb..93981b3b 100644 --- a/v2rayN/v2rayN/Handler/ConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs @@ -945,7 +945,7 @@ namespace v2rayN.Handler foreach (string str in arrData) { //maybe sub - if (Utils.IsNullOrEmpty(subid) && (str.StartsWith(Global.httpsProtocol) || str.StartsWith(Global.httpProtocol))) + if (!isSub && (str.StartsWith(Global.httpsProtocol) || str.StartsWith(Global.httpProtocol))) { if (AddSubItem(ref config, str) == 0) { @@ -1187,7 +1187,15 @@ namespace v2rayN.Handler lstOriSub = LazyConfig.Instance.ProfileItems(subid); } - int counter = AddBatchServers(ref config, clipboardData, subid, isSub, lstOriSub); + var counter = 0; + if (Utils.IsBase64String(clipboardData)) + { + counter = AddBatchServers(ref config, Utils.Base64Decode(clipboardData), subid, isSub, lstOriSub); + } + if (counter < 1) + { + counter = AddBatchServers(ref config, clipboardData, subid, isSub, lstOriSub); + } if (counter < 1) { counter = AddBatchServers(ref config, Utils.Base64Decode(clipboardData), subid, isSub, lstOriSub); diff --git a/v2rayN/v2rayN/Tool/Utils.cs b/v2rayN/v2rayN/Tool/Utils.cs index 3518455c..f4befda0 100644 --- a/v2rayN/v2rayN/Tool/Utils.cs +++ b/v2rayN/v2rayN/Tool/Utils.cs @@ -453,6 +453,12 @@ namespace v2rayN } } + public static bool IsBase64String(string plainText) + { + var buffer = new Span(new byte[plainText.Length]); + return Convert.TryFromBase64String(plainText, buffer, out int _); + } + #endregion