From 2f6236353b35917fe94c8d8a6b567bf81e1401b2 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Sun, 15 Mar 2020 08:22:47 +0800 Subject: [PATCH 01/13] IDE0028 --- v2rayN/v2rayN/Forms/OptionSettingForm.cs | 20 +++++++++++-------- v2rayN/v2rayN/Handler/V2rayHandler.cs | 8 +++++--- .../HttpProxyHandler/PACServerHandle.cs | 6 ++++-- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.cs index c1152594..bb7ea8e5 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.cs +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.cs @@ -389,15 +389,19 @@ namespace v2rayN.Forms txtUserblock.Text = Utils.GetEmbedText(Global.CustomRoutingFileName + Global.blockTag); cmbroutingMode.SelectedIndex = 3; - List lstUrl = new List(); - lstUrl.Add(Global.CustomRoutingListUrl + Global.agentTag); - lstUrl.Add(Global.CustomRoutingListUrl + Global.directTag); - lstUrl.Add(Global.CustomRoutingListUrl + Global.blockTag); + List lstUrl = new List + { + Global.CustomRoutingListUrl + Global.agentTag, + Global.CustomRoutingListUrl + Global.directTag, + Global.CustomRoutingListUrl + Global.blockTag + }; - List lstTxt = new List(); - lstTxt.Add(txtUseragent); - lstTxt.Add(txtUserdirect); - lstTxt.Add(txtUserblock); + List lstTxt = new List + { + txtUseragent, + txtUserdirect, + txtUserblock + }; for (int k = 0; k < lstUrl.Count; k++) { diff --git a/v2rayN/v2rayN/Handler/V2rayHandler.cs b/v2rayN/v2rayN/Handler/V2rayHandler.cs index 5eeb411a..2267bbce 100644 --- a/v2rayN/v2rayN/Handler/V2rayHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayHandler.cs @@ -28,9 +28,11 @@ namespace v2rayN.Handler public V2rayHandler() { - lstV2ray = new List(); - lstV2ray.Add("wv2ray"); - lstV2ray.Add("v2ray"); + lstV2ray = new List + { + "wv2ray", + "v2ray" + }; } /// diff --git a/v2rayN/v2rayN/HttpProxyHandler/PACServerHandle.cs b/v2rayN/v2rayN/HttpProxyHandler/PACServerHandle.cs index 16f4cfef..23bf8087 100644 --- a/v2rayN/v2rayN/HttpProxyHandler/PACServerHandle.cs +++ b/v2rayN/v2rayN/HttpProxyHandler/PACServerHandle.cs @@ -172,8 +172,10 @@ namespace v2rayN.HttpProxyHandler } try { - List lstProxy = new List(); - lstProxy.Add(string.Format("PROXY {0}:{1};", address, port)); + List lstProxy = new List + { + string.Format("PROXY {0}:{1};", address, port) + }; string proxy = string.Join("", lstProxy.ToArray()); string strPacfile = Utils.GetPath(Global.pacFILE); From ec3c471df6479fe3d0779caab9807c07245bdf11 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Sun, 15 Mar 2020 08:23:17 +0800 Subject: [PATCH 02/13] IDE0059 --- v2rayN/v2rayN/Handler/ConfigHandler.cs | 3 +-- v2rayN/v2rayN/Handler/V2rayConfigHandler.cs | 10 ---------- v2rayN/v2rayN/Handler/V2rayHandler.cs | 4 ++-- v2rayN/v2rayN/Mode/Config.cs | 5 ++--- v2rayN/v2rayN/Tool/Job.cs | 1 - v2rayN/v2rayN/Tool/Utils.cs | 5 ++--- 6 files changed, 7 insertions(+), 21 deletions(-) diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs index d816617a..eb396e72 100644 --- a/v2rayN/v2rayN/Handler/ConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs @@ -540,8 +540,7 @@ namespace v2rayN.Handler /// public static int AddCustomServer(ref Config config, string fileName) { - string newFileName = string.Empty; - newFileName = string.Format("{0}.json", Utils.GetGUID()); + string newFileName = string.Format("{0}.json", Utils.GetGUID()); //newFileName = Path.Combine(Utils.GetTempPath(), newFileName); try diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs index b4b629fc..2f04b955 100644 --- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs @@ -27,8 +27,6 @@ namespace v2rayN.Handler /// public static int GenerateClientConfig(Config config, string fileName, bool blExport, out string msg) { - msg = string.Empty; - try { //检查GUI设置 @@ -713,8 +711,6 @@ namespace v2rayN.Handler /// public static int GenerateClientCustomConfig(Config config, string fileName, out string msg) { - msg = string.Empty; - try { //检查GUI设置 @@ -768,8 +764,6 @@ namespace v2rayN.Handler /// public static int GenerateServerConfig(Config config, string fileName, out string msg) { - msg = string.Empty; - try { //检查GUI设置 @@ -1358,7 +1352,6 @@ namespace v2rayN.Handler /// public static int Export2ClientConfig(Config config, string fileName, out string msg) { - msg = string.Empty; return GenerateClientConfig(config, fileName, true, out msg); } @@ -1371,7 +1364,6 @@ namespace v2rayN.Handler /// public static int Export2ServerConfig(Config config, string fileName, out string msg) { - msg = string.Empty; return GenerateServerConfig(config, fileName, out msg); } @@ -1421,8 +1413,6 @@ namespace v2rayN.Handler public static int GenerateClientSpeedtestConfig(Config config, List selecteds, string fileName, out string msg) { - msg = string.Empty; - try { if (config == null diff --git a/v2rayN/v2rayN/Handler/V2rayHandler.cs b/v2rayN/v2rayN/Handler/V2rayHandler.cs index 2267bbce..0c1900ee 100644 --- a/v2rayN/v2rayN/Handler/V2rayHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayHandler.cs @@ -42,8 +42,8 @@ namespace v2rayN.Handler { if (Global.reloadV2ray) { - string msg = string.Empty; string fileName = Utils.GetPath(v2rayConfigRes); + string msg; if (V2rayConfigHandler.GenerateClientConfig(config, fileName, false, out msg) != 0) { ShowMsg(false, msg); @@ -63,8 +63,8 @@ namespace v2rayN.Handler { if (Global.reloadV2ray) { - string msg = string.Empty; string fileName = Utils.GetPath(v2rayConfigRes); + string msg; if (V2rayConfigHandler.GenerateClientSpeedtestConfig(config, _selecteds, fileName, out msg) != 0) { ShowMsg(false, msg); diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Mode/Config.cs index e0ef85ff..f41e36b1 100644 --- a/v2rayN/v2rayN/Mode/Config.cs +++ b/v2rayN/v2rayN/Mode/Config.cs @@ -384,10 +384,9 @@ namespace v2rayN.Mode public string getSummary() { - string summary = string.Empty; - summary = string.Format("{0}-", ((EConfigType)configType).ToString()); + string summary = string.Format("{0}-", ((EConfigType)configType).ToString()); string[] arrAddr = address.Split('.'); - string addr = string.Empty; + string addr; if (arrAddr.Length > 2) { addr = $"{arrAddr[0]}***{arrAddr[arrAddr.Length - 1]}"; diff --git a/v2rayN/v2rayN/Tool/Job.cs b/v2rayN/v2rayN/Tool/Job.cs index 66bfb128..e2569b75 100644 --- a/v2rayN/v2rayN/Tool/Job.cs +++ b/v2rayN/v2rayN/Tool/Job.cs @@ -43,7 +43,6 @@ namespace v2rayN if (extendedInfoPtr != IntPtr.Zero) { Marshal.FreeHGlobal(extendedInfoPtr); - extendedInfoPtr = IntPtr.Zero; } } } diff --git a/v2rayN/v2rayN/Tool/Utils.cs b/v2rayN/v2rayN/Tool/Utils.cs index f6f0bb3c..06e3bd4e 100644 --- a/v2rayN/v2rayN/Tool/Utils.cs +++ b/v2rayN/v2rayN/Tool/Utils.cs @@ -121,7 +121,7 @@ namespace v2rayN /// public static int ToJsonFile(Object obj, string filePath) { - int result = -1; + int result; try { using (StreamWriter file = File.CreateText(filePath)) @@ -883,7 +883,6 @@ namespace v2rayN public static string ScanScreen() { - string ret = string.Empty; try { foreach (Screen screen in Screen.AllScreens) @@ -921,7 +920,7 @@ namespace v2rayN Result result = reader.decode(bitmap); if (result != null) { - ret = result.Text; + string ret = result.Text; return ret; } } From 2add30cc771c253d45ae1c0616179aceba4446b5 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Sun, 15 Mar 2020 08:23:52 +0800 Subject: [PATCH 03/13] IDE0018 --- v2rayN/v2rayN/Handler/V2rayHandler.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/v2rayN/v2rayN/Handler/V2rayHandler.cs b/v2rayN/v2rayN/Handler/V2rayHandler.cs index 0c1900ee..7769d2c8 100644 --- a/v2rayN/v2rayN/Handler/V2rayHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayHandler.cs @@ -43,8 +43,7 @@ namespace v2rayN.Handler if (Global.reloadV2ray) { string fileName = Utils.GetPath(v2rayConfigRes); - string msg; - if (V2rayConfigHandler.GenerateClientConfig(config, fileName, false, out msg) != 0) + if (V2rayConfigHandler.GenerateClientConfig(config, fileName, false, out string msg) != 0) { ShowMsg(false, msg); } @@ -64,8 +63,7 @@ namespace v2rayN.Handler if (Global.reloadV2ray) { string fileName = Utils.GetPath(v2rayConfigRes); - string msg; - if (V2rayConfigHandler.GenerateClientSpeedtestConfig(config, _selecteds, fileName, out msg) != 0) + if (V2rayConfigHandler.GenerateClientSpeedtestConfig(config, _selecteds, fileName, out string msg) != 0) { ShowMsg(false, msg); } From e60369c817dae3b3523be1178d94cc030dd642b0 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 16 Mar 2020 01:21:58 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v2rayN/v2rayN/Handler/DownloadHandle.cs | 2 +- v2rayN/v2rayN/Resx/ResUI.Designer.cs | 9 +++++++++ v2rayN/v2rayN/Resx/ResUI.resx | 3 +++ v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx | 3 +++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/v2rayN/v2rayN/Handler/DownloadHandle.cs b/v2rayN/v2rayN/Handler/DownloadHandle.cs index 2c76da01..a1ecde86 100644 --- a/v2rayN/v2rayN/Handler/DownloadHandle.cs +++ b/v2rayN/v2rayN/Handler/DownloadHandle.cs @@ -177,7 +177,7 @@ namespace v2rayN.Handler try { Utils.SetSecurityProtocol(); - UpdateCompleted?.Invoke(this, new ResultEventArgs(false, "Downloading...")); + UpdateCompleted?.Invoke(this, new ResultEventArgs(false, UIRes.I18N("Downloading"))); progressPercentage = -1; totalBytesToReceive = 0; diff --git a/v2rayN/v2rayN/Resx/ResUI.Designer.cs b/v2rayN/v2rayN/Resx/ResUI.Designer.cs index ae78335f..868409c4 100644 --- a/v2rayN/v2rayN/Resx/ResUI.Designer.cs +++ b/v2rayN/v2rayN/Resx/ResUI.Designer.cs @@ -105,6 +105,15 @@ namespace v2rayN.Resx { } } + /// + /// 查找类似 Downloading... 的本地化字符串。 + /// + internal static string Downloading { + get { + return ResourceManager.GetString("Downloading", resourceCulture); + } + } + /// /// 查找类似 DOWN 的本地化字符串。 /// diff --git a/v2rayN/v2rayN/Resx/ResUI.resx b/v2rayN/v2rayN/Resx/ResUI.resx index 8718f93d..5bd44d76 100644 --- a/v2rayN/v2rayN/Resx/ResUI.resx +++ b/v2rayN/v2rayN/Resx/ResUI.resx @@ -132,6 +132,9 @@ Note that custom configuration relies entirely on your own configuration and does not work with all settings. The system agent is available when the socks port is equal to the port in the settings in the custom configuration inbound. + + Downloading... + DOWN diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx index 7e8cab61..1db9fc75 100644 --- a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx +++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx @@ -132,6 +132,9 @@ 注意,自定义配置完全依赖您自己的配置,不能使用所有设置功能。在自定义配置inbound中有socks port等于设置中的port时,系统代理才可用 + + 下载开始... + 下载 From 794b88e5ab6413411e55c5e41c277a6ec97bae9e Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 16 Mar 2020 01:33:07 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=A1=86=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 致命错误取Error,普通错误取警告。 --- v2rayN/v2rayN/Forms/AddServer2Form.cs | 2 +- v2rayN/v2rayN/Forms/AddServer3Form.cs | 4 ++-- v2rayN/v2rayN/Forms/AddServer4Form.cs | 4 ++-- v2rayN/v2rayN/Forms/AddServerForm.cs | 6 +++--- v2rayN/v2rayN/Forms/MainForm.cs | 4 ++-- v2rayN/v2rayN/Forms/OptionSettingForm.cs | 2 +- v2rayN/v2rayN/Forms/SubSettingForm.cs | 2 +- v2rayN/v2rayN/Handler/MainFormHandler.cs | 4 ++-- v2rayN/v2rayN/Program.cs | 4 ++-- v2rayN/v2rayN/Tool/UI.cs | 10 +++++++++- 10 files changed, 25 insertions(+), 17 deletions(-) diff --git a/v2rayN/v2rayN/Forms/AddServer2Form.cs b/v2rayN/v2rayN/Forms/AddServer2Form.cs index a88afb44..98ba9904 100644 --- a/v2rayN/v2rayN/Forms/AddServer2Form.cs +++ b/v2rayN/v2rayN/Forms/AddServer2Form.cs @@ -63,7 +63,7 @@ namespace v2rayN.Forms } else { - UI.Show(UIRes.I18N("OperationFailed")); + UI.ShowWarning(UIRes.I18N("OperationFailed")); } } diff --git a/v2rayN/v2rayN/Forms/AddServer3Form.cs b/v2rayN/v2rayN/Forms/AddServer3Form.cs index 78192e45..06d43374 100644 --- a/v2rayN/v2rayN/Forms/AddServer3Form.cs +++ b/v2rayN/v2rayN/Forms/AddServer3Form.cs @@ -96,7 +96,7 @@ namespace v2rayN.Forms } else { - UI.Show(UIRes.I18N("OperationFailed")); + UI.ShowWarning(UIRes.I18N("OperationFailed")); } } private void btnClose_Click(object sender, EventArgs e) @@ -124,7 +124,7 @@ namespace v2rayN.Forms VmessItem vmessItem = V2rayConfigHandler.ImportFromClipboardConfig(Utils.GetClipboardData(), out string msg); if (vmessItem == null) { - UI.Show(msg); + UI.ShowWarning(msg); return; } diff --git a/v2rayN/v2rayN/Forms/AddServer4Form.cs b/v2rayN/v2rayN/Forms/AddServer4Form.cs index 6adad2c1..90fc63ac 100644 --- a/v2rayN/v2rayN/Forms/AddServer4Form.cs +++ b/v2rayN/v2rayN/Forms/AddServer4Form.cs @@ -85,7 +85,7 @@ namespace v2rayN.Forms } else { - UI.Show(UIRes.I18N("OperationFailed")); + UI.ShowWarning(UIRes.I18N("OperationFailed")); } } private void btnClose_Click(object sender, EventArgs e) @@ -113,7 +113,7 @@ namespace v2rayN.Forms VmessItem vmessItem = V2rayConfigHandler.ImportFromClipboardConfig(Utils.GetClipboardData(), out string msg); if (vmessItem == null) { - UI.Show(msg); + UI.ShowWarning(msg); return; } diff --git a/v2rayN/v2rayN/Forms/AddServerForm.cs b/v2rayN/v2rayN/Forms/AddServerForm.cs index 6d09db03..e2747b6c 100644 --- a/v2rayN/v2rayN/Forms/AddServerForm.cs +++ b/v2rayN/v2rayN/Forms/AddServerForm.cs @@ -166,7 +166,7 @@ namespace v2rayN.Forms } else { - UI.Show(UIRes.I18N("OperationFailed")); + UI.ShowWarning(UIRes.I18N("OperationFailed")); } } @@ -233,7 +233,7 @@ namespace v2rayN.Forms } if (vmessItem == null) { - UI.Show(msg); + UI.ShowWarning(msg); return; } @@ -261,7 +261,7 @@ namespace v2rayN.Forms VmessItem vmessItem = V2rayConfigHandler.ImportFromClipboardConfig(Utils.GetClipboardData(), out string msg); if (vmessItem == null) { - UI.Show(msg); + UI.ShowWarning(msg); return; } diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index 20c846d0..259b771f 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -804,7 +804,7 @@ namespace v2rayN.Forms } else { - UI.Show(UIRes.I18N("FailedImportedCustomServer")); + UI.ShowWarning(UIRes.I18N("FailedImportedCustomServer")); } } @@ -1391,7 +1391,7 @@ namespace v2rayN.Forms string result = Convert.ToString(e.UserState); if (Utils.IsNullOrEmpty(result)) { - UI.Show(UIRes.I18N("NoValidQRcodeFound")); + UI.ShowWarning(UIRes.I18N("NoValidQRcodeFound")); } else { diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.cs index bb7ea8e5..294ebe73 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.cs +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.cs @@ -181,7 +181,7 @@ namespace v2rayN.Forms } else { - UI.Show(UIRes.I18N("OperationFailed")); + UI.ShowWarning(UIRes.I18N("OperationFailed")); } } diff --git a/v2rayN/v2rayN/Forms/SubSettingForm.cs b/v2rayN/v2rayN/Forms/SubSettingForm.cs index 0cc90ae2..c8e7725b 100644 --- a/v2rayN/v2rayN/Forms/SubSettingForm.cs +++ b/v2rayN/v2rayN/Forms/SubSettingForm.cs @@ -79,7 +79,7 @@ namespace v2rayN.Forms } else { - UI.Show(UIRes.I18N("OperationFailed")); + UI.ShowWarning(UIRes.I18N("OperationFailed")); } } diff --git a/v2rayN/v2rayN/Handler/MainFormHandler.cs b/v2rayN/v2rayN/Handler/MainFormHandler.cs index e39623d3..f9d66496 100644 --- a/v2rayN/v2rayN/Handler/MainFormHandler.cs +++ b/v2rayN/v2rayN/Handler/MainFormHandler.cs @@ -101,7 +101,7 @@ namespace v2rayN.Handler } else { - UI.Show(string.Format(UIRes.I18N("SaveClientConfigurationIn"), fileName)); + UI.ShowWarning(string.Format(UIRes.I18N("SaveClientConfigurationIn"), fileName)); } } @@ -141,7 +141,7 @@ namespace v2rayN.Handler } else { - UI.Show(string.Format(UIRes.I18N("SaveServerConfigurationIn"), fileName)); + UI.ShowWarning(string.Format(UIRes.I18N("SaveServerConfigurationIn"), fileName)); } } diff --git a/v2rayN/v2rayN/Program.cs b/v2rayN/v2rayN/Program.cs index bd6e36d3..13b666db 100644 --- a/v2rayN/v2rayN/Program.cs +++ b/v2rayN/v2rayN/Program.cs @@ -38,7 +38,7 @@ namespace v2rayN { if (!UnzipLibs()) { - UI.Show($"Error preparing the environment(准备运行环境出错)"); + UI.ShowError($"Error preparing the environment(准备运行环境出错)"); return; } @@ -54,7 +54,7 @@ namespace v2rayN } else { - UI.Show($"v2rayN is already running(v2rayN已经运行)"); + UI.ShowWarning($"v2rayN is already running(v2rayN已经运行)"); } } diff --git a/v2rayN/v2rayN/Tool/UI.cs b/v2rayN/v2rayN/Tool/UI.cs index b6160d34..f2cabf75 100644 --- a/v2rayN/v2rayN/Tool/UI.cs +++ b/v2rayN/v2rayN/Tool/UI.cs @@ -8,10 +8,18 @@ namespace v2rayN { MessageBox.Show(msg, "v2rayN", MessageBoxButtons.OK, MessageBoxIcon.Information); } + public static void ShowWarning(string msg) + { + MessageBox.Show(msg, "v2rayN", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + public static void ShowError(string msg) + { + MessageBox.Show(msg, "v2rayN", MessageBoxButtons.OK, MessageBoxIcon.Error); + } public static DialogResult ShowYesNo(string msg) { - return MessageBox.Show(msg, "YesNo", MessageBoxButtons.YesNo); + return MessageBox.Show(msg, "v2rayN", MessageBoxButtons.YesNo, MessageBoxIcon.Question); } //public static string GetResourseString(string key) From d94fcbd8a35d42065fcf54f128c17bd972e794ae Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 16 Mar 2020 03:40:36 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E5=B7=B2=E8=BF=90=E8=A1=8C=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E6=94=B9=E7=94=A8=E4=BA=92=E6=96=A5=E9=94=81=20?= =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E5=8F=AF=E9=9D=A0=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v2rayN/v2rayN/Global.cs | 4 ++++ v2rayN/v2rayN/Program.cs | 29 ++++++++++------------------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs index 68bef5ae..3f1cd7a7 100644 --- a/v2rayN/v2rayN/Global.cs +++ b/v2rayN/v2rayN/Global.cs @@ -221,6 +221,10 @@ namespace v2rayN { get; set; } + public static System.Threading.Mutex mutexObj + { + get; set; + } #endregion diff --git a/v2rayN/v2rayN/Program.cs b/v2rayN/v2rayN/Program.cs index 13b666db..133e2108 100644 --- a/v2rayN/v2rayN/Program.cs +++ b/v2rayN/v2rayN/Program.cs @@ -1,6 +1,5 @@ using System; using System.Diagnostics; -using System.Reflection; using System.Threading; using System.Windows.Forms; using v2rayN.Forms; @@ -32,9 +31,7 @@ namespace v2rayN //AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; - Thread.Sleep(300); // 尽量避免切换语言后提示“已经运行” - Process instance = RunningInstance(); - if (instance == null) + if (!IsDuplicateInstance()) { if (!UnzipLibs()) { @@ -81,23 +78,17 @@ namespace v2rayN //} /// - /// 获取正在运行的实例,没有运行的实例返回null; + /// 检查是否已在运行 /// - public static Process RunningInstance() + public static bool IsDuplicateInstance() { - Process current = Process.GetCurrentProcess(); - Process[] processes = Process.GetProcessesByName(current.ProcessName); - foreach (Process process in processes) - { - if (process.Id != current.Id) - { - if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == process.MainModule.FileName) - { - return process; - } - } - } - return null; + //string name = "v2rayN"; + + string name = Utils.GetExePath(); // Allow different locations to run + name = name.Replace("\\", "/"); // https://stackoverflow.com/questions/20714120/could-not-find-a-part-of-the-path-error-while-creating-mutex + + Global.mutexObj = new Mutex(false, name, out bool bCreatedNew); + return !bCreatedNew; } static void Application_ThreadException(object sender, ThreadExceptionEventArgs e) From 1865621a6ae63a594ba54878619893ca6ad665ce Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Sun, 15 Mar 2020 18:22:11 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E6=B5=8B=E9=80=9F=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E9=87=8D=E5=90=AF=E7=8E=B0=E6=9C=89=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 代码整理和简化 --- v2rayN/v2rayN/Forms/MainForm.cs | 4 +- v2rayN/v2rayN/Handler/DownloadHandle.cs | 2 +- v2rayN/v2rayN/Handler/SpeedtestHandler.cs | 77 ++++------ v2rayN/v2rayN/Handler/V2rayConfigHandler.cs | 15 +- v2rayN/v2rayN/Handler/V2rayHandler.cs | 155 +++++++++++++++----- 5 files changed, 157 insertions(+), 96 deletions(-) diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index 259b771f..af1c8fdd 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -1197,7 +1197,7 @@ namespace v2rayN.Forms } else { - downloadHandle.DownloadFileAsync(config, url, null, -1); + downloadHandle.DownloadFileAsync(url, null, -1); } })); } @@ -1263,7 +1263,7 @@ namespace v2rayN.Forms } else { - downloadHandle.DownloadFileAsync(config, url, null, -1); + downloadHandle.DownloadFileAsync(url, null, -1); } })); } diff --git a/v2rayN/v2rayN/Handler/DownloadHandle.cs b/v2rayN/v2rayN/Handler/DownloadHandle.cs index a1ecde86..bf99a25f 100644 --- a/v2rayN/v2rayN/Handler/DownloadHandle.cs +++ b/v2rayN/v2rayN/Handler/DownloadHandle.cs @@ -172,7 +172,7 @@ namespace v2rayN.Handler #region Download - public void DownloadFileAsync(Config config, string url, WebProxy webProxy, int downloadTimeout) + public void DownloadFileAsync(string url, WebProxy webProxy, int downloadTimeout) { try { diff --git a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs index cbfc165a..88dedf27 100644 --- a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs +++ b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs @@ -100,14 +100,14 @@ namespace v2rayN.Handler private void RunRealPing() { + int pid = -1; try { string msg = string.Empty; - Global.reloadV2ray = true; - _v2rayHandler.LoadV2ray(_config, _selecteds); + pid = _v2rayHandler.LoadV2rayConfigString(_config, _selecteds); - Thread.Sleep(5000); + //Thread.Sleep(5000); int httpPort = _config.GetLocalPort("speedtest"); Task[] tasks = new Task[_selecteds.Count]; int i = -1; @@ -119,7 +119,8 @@ namespace v2rayN.Handler } i++; - tasks[i] = Task.Run(() => { + tasks[i] = Task.Run(() => + { try { WebProxy webProxy = new WebProxy(Global.Loopback, httpPort + itemIndex); @@ -137,28 +138,28 @@ namespace v2rayN.Handler } Task.WaitAll(tasks); - Global.reloadV2ray = true; - _v2rayHandler.LoadV2ray(_config); Thread.Sleep(100); } catch (Exception ex) { Utils.SaveLog(ex.Message, ex); } + finally + { + if (pid > 0) _v2rayHandler.V2rayStopPid(pid); + } } - private void RunSpeedTest() { + int pid = -1; + if (_config.vmess.Count <= 0) { return; } - Global.reloadV2ray = true; - _v2rayHandler.LoadV2ray(_config, _selecteds); - - Thread.Sleep(5000); + pid = _v2rayHandler.LoadV2rayConfigString(_config, _selecteds); string url = _config.speedTestUrl; testCounter = 0; @@ -167,53 +168,35 @@ namespace v2rayN.Handler downloadHandle2 = new DownloadHandle(); downloadHandle2.UpdateCompleted += (sender2, args) => { - if (args.Success) - { - _updateFunc(ItemIndex, args.Msg); - if (ServerSpeedTestSub(testCounter, url) != 0) - { - return; - } - } - else - { - _updateFunc(ItemIndex, args.Msg); - } + _updateFunc(ItemIndex, args.Msg); + if (args.Success) StartNext(); }; downloadHandle2.Error += (sender2, args) => { _updateFunc(ItemIndex, args.GetException().Message); - if (ServerSpeedTestSub(testCounter, url) != 0) - { - return; - } + StartNext(); }; } - if (ServerSpeedTestSub(testCounter, url) != 0) + StartNext(); + + void StartNext() { - return; + if (testCounter >= _selecteds.Count) + { + if (pid > 0) _v2rayHandler.V2rayStopPid(pid); + return; + } + + int httpPort = _config.GetLocalPort("speedtest"); + int index = _selecteds[testCounter]; + + testCounter++; + WebProxy webProxy = new WebProxy(Global.Loopback, httpPort + index); + downloadHandle2.DownloadFileAsync(url, webProxy, 20); } } - private int ServerSpeedTestSub(int index, string url) - { - if (index >= _selecteds.Count) - { - Global.reloadV2ray = true; - _v2rayHandler.LoadV2ray(_config); - return -1; - } - - int httpPort = _config.GetLocalPort("speedtest"); - index = _selecteds[index]; - - testCounter++; - WebProxy webProxy = new WebProxy(Global.Loopback, httpPort + index); - downloadHandle2.DownloadFileAsync(_config, url, webProxy, 20); - - return 0; - } private int GetTcpingTime(string url, int port) { diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs index 2f04b955..9ea93933 100644 --- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs @@ -1411,7 +1411,7 @@ namespace v2rayN.Handler #region Gen speedtest config - public static int GenerateClientSpeedtestConfig(Config config, List selecteds, string fileName, out string msg) + public static string GenerateClientSpeedtestConfigString(Config config, List selecteds, out string msg) { try { @@ -1422,7 +1422,7 @@ namespace v2rayN.Handler ) { msg = UIRes.I18N("CheckServerSettings"); - return -1; + return ""; } msg = UIRes.I18N("InitialConfiguration"); @@ -1433,20 +1433,21 @@ namespace v2rayN.Handler if (Utils.IsNullOrEmpty(result)) { msg = UIRes.I18N("FailedGetDefaultConfiguration"); - return -1; + return ""; } V2rayConfig v2rayConfig = Utils.FromJson(result); if (v2rayConfig == null) { msg = UIRes.I18N("FailedGenDefaultConfiguration"); - return -1; + return ""; } log(configCopy, ref v2rayConfig, false); //routing(config, ref v2rayConfig); dns(configCopy, ref v2rayConfig); + v2rayConfig.inbounds.RemoveAt(0); // Remove "proxy" service for speedtest, avoiding port conflicts. int httpPort = configCopy.GetLocalPort("speedtest"); foreach (int index in selecteds) @@ -1482,16 +1483,14 @@ namespace v2rayN.Handler v2rayConfig.routing.rules.Add(rule); } - Utils.ToJsonFile(v2rayConfig, fileName); - msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), configCopy.getSummary()); + return Utils.ToJson(v2rayConfig); } catch { msg = UIRes.I18N("FailedGenDefaultConfiguration"); - return -1; + return ""; } - return 0; } #endregion diff --git a/v2rayN/v2rayN/Handler/V2rayHandler.cs b/v2rayN/v2rayN/Handler/V2rayHandler.cs index 7769d2c8..0ccdb651 100644 --- a/v2rayN/v2rayN/Handler/V2rayHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayHandler.cs @@ -56,23 +56,25 @@ namespace v2rayN.Handler } /// - /// 载入V2ray + /// 新建进程,载入V2ray配置文件字符串 + /// 返回新进程pid。 /// - public void LoadV2ray(Config config, List _selecteds) + public int LoadV2rayConfigString(Config config, List _selecteds) { - if (Global.reloadV2ray) + int pid = -1; + string configStr = V2rayConfigHandler.GenerateClientSpeedtestConfigString(config, _selecteds, out string msg); + if (configStr == "") { - string fileName = Utils.GetPath(v2rayConfigRes); - if (V2rayConfigHandler.GenerateClientSpeedtestConfig(config, _selecteds, fileName, out string msg) != 0) - { - ShowMsg(false, msg); - } - else - { - ShowMsg(true, msg); - V2rayRestart(); - } + ShowMsg(false, msg); } + else + { + ShowMsg(true, msg); + pid = V2rayStartNew(configStr); + //V2rayRestart(); + // start with -config + } + return pid; } /// @@ -140,6 +142,43 @@ namespace v2rayN.Handler Utils.SaveLog(ex.Message, ex); } } + /// + /// V2ray停止 + /// + public void V2rayStopPid(int pid) + { + try + { + Process _p = Process.GetProcessById(pid); + KillProcess(_p); + } + catch (Exception ex) + { + Utils.SaveLog(ex.Message, ex); + } + } + + private string V2rayFindexe() { + //查找v2ray文件是否存在 + string fileName = string.Empty; + lstV2ray.Reverse(); + foreach (string name in lstV2ray) + { + string vName = string.Format("{0}.exe", name); + vName = Utils.GetPath(vName); + if (File.Exists(vName)) + { + fileName = vName; + break; + } + } + if (Utils.IsNullOrEmpty(fileName)) + { + string msg = string.Format(UIRes.I18N("NotFoundCore"), @"https://github.com/v2ray/v2ray-core/releases"); + ShowMsg(true, msg); + } + return fileName; + } /// /// V2ray启动 @@ -150,32 +189,21 @@ namespace v2rayN.Handler try { - //查找v2ray文件是否存在 - string fileName = string.Empty; - foreach (string name in lstV2ray) - { - string vName = string.Format("{0}.exe", name); - vName = Utils.GetPath(vName); - if (File.Exists(vName)) - { - fileName = vName; - break; - } - } - if (Utils.IsNullOrEmpty(fileName)) - { - string msg = string.Format(UIRes.I18N("NotFoundCore"), @"https://github.com/v2ray/v2ray-core/releases"); - ShowMsg(true, msg); - return; - } + string fileName = V2rayFindexe(); + if (fileName == "") return; - Process p = new Process(); - p.StartInfo.FileName = fileName; - p.StartInfo.WorkingDirectory = Utils.StartupPath(); - p.StartInfo.UseShellExecute = false; - p.StartInfo.RedirectStandardOutput = true; - p.StartInfo.CreateNoWindow = true; - p.StartInfo.StandardOutputEncoding = Encoding.UTF8; + Process p = new Process + { + StartInfo = new ProcessStartInfo + { + FileName = fileName, + WorkingDirectory = Utils.StartupPath(), + UseShellExecute = false, + RedirectStandardOutput = true, + CreateNoWindow = true, + StandardOutputEncoding = Encoding.UTF8 + } + }; p.OutputDataReceived += new DataReceivedEventHandler((sender, e) => { if (!String.IsNullOrEmpty(e.Data)) @@ -198,6 +226,57 @@ namespace v2rayN.Handler ShowMsg(true, msg); } } + /// + /// V2ray启动,新建进程,传入配置字符串 + /// + private int V2rayStartNew(string configStr) + { + ShowMsg(false, string.Format(UIRes.I18N("StartService"), DateTime.Now.ToString())); + + try + { + string fileName = V2rayFindexe(); + if (fileName == "") return -1; + + Process p = new Process + { + StartInfo = new ProcessStartInfo + { + FileName = fileName, + Arguments = "-config stdin:", + WorkingDirectory = Utils.StartupPath(), + UseShellExecute = false, + RedirectStandardInput = true, + RedirectStandardOutput = true, + CreateNoWindow = true, + StandardOutputEncoding = Encoding.UTF8 + } + }; + p.OutputDataReceived += new DataReceivedEventHandler((sender, e) => + { + if (!String.IsNullOrEmpty(e.Data)) + { + string msg = e.Data + Environment.NewLine; + ShowMsg(false, msg); + } + }); + p.Start(); + p.BeginOutputReadLine(); + + p.StandardInput.Write(configStr); + p.StandardInput.Close(); + + Global.processJob.AddProcess(p.Handle); + return p.Id; + } + catch (Exception ex) + { + Utils.SaveLog(ex.Message, ex); + string msg = ex.Message; + ShowMsg(true, msg); + return -1; + } + } /// /// 消息委托 From 443605d1dc1698ee1304428cd28e9cbc010baa94 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 16 Mar 2020 04:23:34 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E8=8B=B1=E6=96=87=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E5=8C=85=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v2rayN/v2rayN/Forms/OptionSettingForm.resx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.resx index 7a289ee6..00829fc2 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.resx +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.resx @@ -226,7 +226,7 @@ 23 - Boot automatically + Automatically start at system startup True @@ -244,7 +244,7 @@ 29 - Enable Statistics(Realtime net speed and traffic data amount. Need restart v2rayN client) + Enable Statistics (Realtime netspeed and traffic records. Require restart the v2rayN client) True From a7e215dd5bd86b8e4bd7a71202d0bfb22a3e2771 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 16 Mar 2020 04:34:33 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=BF=9B=E5=BA=A6=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v2rayN/v2rayN/Forms/MainForm.cs | 4 ++-- v2rayN/v2rayN/Resx/ResUI.Designer.cs | 18 +++++++++--------- v2rayN/v2rayN/Resx/ResUI.resx | 4 ++-- v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx | 6 +++--- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index af1c8fdd..223bba24 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -1237,7 +1237,7 @@ namespace v2rayN.Forms }; } - AppendText(false, UIRes.I18N("MsgStartUpdatingV2rayCore")); + AppendText(false, string.Format(UIRes.I18N("MsgStartUpdating"), "v2rayN")); downloadHandle.CheckUpdateAsync("v2rayN"); } @@ -1310,7 +1310,7 @@ namespace v2rayN.Forms }; } - AppendText(false, UIRes.I18N("MsgStartUpdatingV2rayCore")); + AppendText(false, string.Format(UIRes.I18N("MsgStartUpdating"), "v2rayCore")); downloadHandle.CheckUpdateAsync("Core"); } diff --git a/v2rayN/v2rayN/Resx/ResUI.Designer.cs b/v2rayN/v2rayN/Resx/ResUI.Designer.cs index 868409c4..47a1fdd8 100644 --- a/v2rayN/v2rayN/Resx/ResUI.Designer.cs +++ b/v2rayN/v2rayN/Resx/ResUI.Designer.cs @@ -501,6 +501,15 @@ namespace v2rayN.Resx { } } + /// + /// 查找类似 Start updating {0}... 的本地化字符串。 + /// + internal static string MsgStartUpdating { + get { + return ResourceManager.GetString("MsgStartUpdating", resourceCulture); + } + } + /// /// 查找类似 Start updating PAC... 的本地化字符串。 /// @@ -510,15 +519,6 @@ namespace v2rayN.Resx { } } - /// - /// 查找类似 Start updating V2ray... 的本地化字符串。 - /// - internal static string MsgStartUpdatingV2rayCore { - get { - return ResourceManager.GetString("MsgStartUpdatingV2rayCore", resourceCulture); - } - } - /// /// 查找类似 Subscription content decoding failed (non-BASE64 code) 的本地化字符串。 /// diff --git a/v2rayN/v2rayN/Resx/ResUI.resx b/v2rayN/v2rayN/Resx/ResUI.resx index 5bd44d76..bfa63937 100644 --- a/v2rayN/v2rayN/Resx/ResUI.resx +++ b/v2rayN/v2rayN/Resx/ResUI.resx @@ -267,8 +267,8 @@ Start updating PAC... - - Start updating V2ray... + + Start updating {0}... Subscription content decoding failed (non-BASE64 code) diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx index 1db9fc75..1adba146 100644 --- a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx +++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx @@ -265,10 +265,10 @@ 开始获取订阅内容 - 开始更新PAC... + 开始更新 PAC... - - 开始更新V2ray... + + 开始更新 {0}... 订阅内容解码失败(非BASE64码) From 9f3b128044d51982427f299979c391814de17073 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 16 Mar 2020 06:30:59 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=87=8D=E5=86=99=20v2?= =?UTF-8?q?rayUpgrade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 不再强制传入参数。用户还可利用此工具“重装”软件。 直接使用已有文件 先启动再提示成功 升级成功后自动退出 --- v2rayN/v2rayUpgrade/MainForm.Designer.cs | 5 +- v2rayN/v2rayUpgrade/MainForm.cs | 63 +++++++------------ v2rayN/v2rayUpgrade/Program.cs | 6 -- .../v2rayUpgrade/Properties/AssemblyInfo.cs | 6 +- 4 files changed, 28 insertions(+), 52 deletions(-) diff --git a/v2rayN/v2rayUpgrade/MainForm.Designer.cs b/v2rayN/v2rayUpgrade/MainForm.Designer.cs index f212a9a9..b9f9ad18 100644 --- a/v2rayN/v2rayUpgrade/MainForm.Designer.cs +++ b/v2rayN/v2rayUpgrade/MainForm.Designer.cs @@ -41,7 +41,7 @@ this.btnClose.Location = new System.Drawing.Point(367, 118); this.btnClose.Name = "btnClose"; this.btnClose.Size = new System.Drawing.Size(184, 89); - this.btnClose.TabIndex = 6; + this.btnClose.TabIndex = 1; this.btnClose.Text = "&Exit(退出)"; this.btnClose.UseVisualStyleBackColor = true; this.btnClose.Click += new System.EventHandler(this.btnClose_Click); @@ -52,7 +52,7 @@ this.btnOK.Location = new System.Drawing.Point(81, 118); this.btnOK.Name = "btnOK"; this.btnOK.Size = new System.Drawing.Size(184, 89); - this.btnOK.TabIndex = 7; + this.btnOK.TabIndex = 0; this.btnOK.Text = "&Upgrade(升级)"; this.btnOK.UseVisualStyleBackColor = true; this.btnOK.Click += new System.EventHandler(this.btnOK_Click); @@ -89,7 +89,6 @@ this.Name = "MainForm"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "v2rayUpgrade"; - this.Load += new System.EventHandler(this.MainForm_Load); this.ResumeLayout(false); this.PerformLayout(); diff --git a/v2rayN/v2rayUpgrade/MainForm.cs b/v2rayN/v2rayUpgrade/MainForm.cs index 1bc22b7f..41990f42 100644 --- a/v2rayN/v2rayUpgrade/MainForm.cs +++ b/v2rayN/v2rayUpgrade/MainForm.cs @@ -8,28 +8,24 @@ namespace v2rayUpgrade { public partial class MainForm : Form { - private string[] _args; - private string _tempFileName = "v2rayUpgradeTemp.zip"; - + private readonly string defaultFilename = "v2ray-windows.zip"; + private string fileName; public MainForm(string[] args) { InitializeComponent(); - _args = args; + if (args.Length > 0) + { + fileName = args[0]; + } } - - private void MainForm_Load(object sender, EventArgs e) + private void showWarn(string message) { - + MessageBox.Show(message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } private void btnOK_Click(object sender, EventArgs e) { - if (_args.Length <= 0) - { - return; - } - try { Process[] existing = Process.GetProcessesByName("v2rayN"); @@ -45,19 +41,24 @@ namespace v2rayUpgrade } catch (Exception ex) { - MessageBox.Show("Failed to close v2rayN(关闭v2rayN失败)." + ex.StackTrace); + showWarn("Failed to close v2rayN(关闭v2rayN失败)." + ex.StackTrace); return; } - string fileName = GetPath(_tempFileName); try { - File.Delete(fileName); - File.Copy(_args[0], fileName); + if (!File.Exists(fileName)) { - MessageBox.Show("Upgrade Failed, File Not Exist(升级失败,文件不存在)."); - return; + if (File.Exists(defaultFilename)) + { + fileName = defaultFilename; + } + else + { + showWarn("Upgrade Failed, File Not Exist(升级失败,文件不存在)."); + return; + } } string startKey = "v2rayN/"; @@ -86,23 +87,13 @@ namespace v2rayUpgrade } catch (Exception ex) { - MessageBox.Show("Upgrade Failed(升级失败)." + ex.StackTrace); + showWarn("Upgrade Failed(升级失败)." + ex.StackTrace); return; } - finally - { - File.Delete(fileName); - } - MessageBox.Show("Upgrade successed(升级成功)"); + Process.Start("v2rayN.exe"); + MessageBox.Show("Upgrade successed(升级成功)", "", MessageBoxButtons.OK, MessageBoxIcon.Information); - try - { - Process.Start("v2rayN.exe"); - } - catch - { - } Close(); } @@ -118,15 +109,7 @@ namespace v2rayUpgrade public static string StartupPath() { - try - { - string exePath = GetExePath(); - return exePath.Substring(0, exePath.LastIndexOf("\\", StringComparison.Ordinal)); - } - catch - { - return Application.StartupPath; - } + return Application.StartupPath; } public static string GetPath(string fileName) { diff --git a/v2rayN/v2rayUpgrade/Program.cs b/v2rayN/v2rayUpgrade/Program.cs index c7971134..f35e72a4 100644 --- a/v2rayN/v2rayUpgrade/Program.cs +++ b/v2rayN/v2rayUpgrade/Program.cs @@ -11,12 +11,6 @@ namespace v2rayUpgrade [STAThread] static void Main(string[] args) { - if (args.Length <= 0) - { - MessageBox.Show("Please use v2rayN to upgrade(请用v2rayN升级)"); - return; - } - Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm(args)); diff --git a/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs b/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs index 654bd7b5..0bef4a23 100644 --- a/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs +++ b/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs @@ -9,7 +9,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("v2rayUpgrade")] -[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 // 方法是按如下所示使用“*”: : // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("1.1.0.0")] +[assembly: AssemblyFileVersion("1.1.0.0")] From 6da0b6a628fca2d9f011854bc8cac6c4cdd8f064 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 16 Mar 2020 06:31:52 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E7=AE=80=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 组合 StartupPath 未见意义 --- v2rayN/v2rayN/Tool/Utils.cs | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/v2rayN/v2rayN/Tool/Utils.cs b/v2rayN/v2rayN/Tool/Utils.cs index 06e3bd4e..c1322046 100644 --- a/v2rayN/v2rayN/Tool/Utils.cs +++ b/v2rayN/v2rayN/Tool/Utils.cs @@ -485,24 +485,16 @@ namespace v2rayN /// /// /// - public static int SetAutoRun(bool run) + public static void SetAutoRun(bool run) { try { - if (run) - { - string exePath = GetExePath(); - RegWriteValue(autoRunRegPath, autoRunName, exePath); - } - else - { - RegWriteValue(autoRunRegPath, autoRunName, ""); - } + string exePath = GetExePath(); + RegWriteValue(autoRunRegPath, autoRunName, run ? exePath : ""); } catch { } - return 0; } /// @@ -551,15 +543,7 @@ namespace v2rayN public static string StartupPath() { - try - { - string exePath = GetExePath(); - return exePath.Substring(0, exePath.LastIndexOf("\\", StringComparison.Ordinal)); - } - catch - { - return Application.StartupPath; - } + return Application.StartupPath; } public static string RegReadValue(string path, string name, string def) From 62b521718ea87fcce579f1c74faf89136c21f971 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 16 Mar 2020 06:32:35 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E9=99=8D=E4=BD=8E=20Ping=20=E8=B6=85?= =?UTF-8?q?=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v2rayN/v2rayN/Tool/Utils.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v2rayN/v2rayN/Tool/Utils.cs b/v2rayN/v2rayN/Tool/Utils.cs index c1322046..c92674bf 100644 --- a/v2rayN/v2rayN/Tool/Utils.cs +++ b/v2rayN/v2rayN/Tool/Utils.cs @@ -609,7 +609,7 @@ namespace v2rayN long roundtripTime = -1; try { - int timeout = 120; + int timeout = 30; int echoNum = 2; Ping pingSender = new Ping(); for (int i = 0; i < echoNum; i++) From 01fef4d3577200ac1cdc625aeb436dc83813f6dc Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Mon, 16 Mar 2020 06:49:50 +0800 Subject: [PATCH 13/13] update AssemblyInfo.cs --- v2rayN/v2rayN/Properties/AssemblyInfo.cs | 4 ++-- v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/v2rayN/v2rayN/Properties/AssemblyInfo.cs b/v2rayN/v2rayN/Properties/AssemblyInfo.cs index 37de4210..87e444b3 100644 --- a/v2rayN/v2rayN/Properties/AssemblyInfo.cs +++ b/v2rayN/v2rayN/Properties/AssemblyInfo.cs @@ -7,9 +7,9 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("v2rayN")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyCompany("")] [assembly: AssemblyProduct("v2rayN")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2020")] +[assembly: AssemblyCopyright("Copyright © 2019-2020 (GPLv3)")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs b/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs index 0bef4a23..b0e6d5c3 100644 --- a/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs +++ b/v2rayN/v2rayUpgrade/Properties/AssemblyInfo.cs @@ -9,7 +9,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("v2rayUpgrade")] -[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyCopyright("Copyright © 2019-2020 (GPLv3)")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -31,5 +31,4 @@ using System.Runtime.InteropServices; // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 // 方法是按如下所示使用“*”: : // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.1.0.0")] [assembly: AssemblyFileVersion("1.1.0.0")]