diff --git a/Netch/Controllers/EncryptedProxy/VMessController.cs b/Netch/Controllers/EncryptedProxy/VMessController.cs index 5bd91802..12834995 100644 --- a/Netch/Controllers/EncryptedProxy/VMessController.cs +++ b/Netch/Controllers/EncryptedProxy/VMessController.cs @@ -12,7 +12,7 @@ namespace Netch.Controllers { public VMessController() { - Name = "v2ray"; + Name = "V2Ray"; MainFile = "v2ray.exe"; StartedKeywords("started"); StoppedKeywords("config file not readable", "failed to"); diff --git a/Netch/Forms/MainForm.Control.cs b/Netch/Forms/MainForm.Control.cs index 62344bd6..c0be236f 100644 --- a/Netch/Forms/MainForm.Control.cs +++ b/Netch/Forms/MainForm.Control.cs @@ -33,7 +33,7 @@ namespace Netch.Forms if (ModeComboBox.SelectedIndex == -1) { - MessageBoxX.Show(i18N.Translate("Please select an mode first")); + MessageBoxX.Show(i18N.Translate("Please select a mode first")); return; } @@ -51,11 +51,9 @@ namespace Netch.Forms Task.Run(() => { UpdateStatus(State.Started, - i18N.Translate(StateExtension.GetStatusString(State.Started)) + PortText(server.Type, mode.Type)); - + i18N.Translate(StateExtension.GetStatusString(State.Started)) + LocalPortText(server.Type, mode.Type)); Bandwidth.NetTraffic(server, mode, _mainController); }); - // 如果勾选启动后最小化 if (Global.Settings.MinimizeWhenStarted) { @@ -110,47 +108,39 @@ namespace Netch.Forms { // 停止 UpdateStatus(State.Stopping); - Task.Run(() => - { - _mainController.Stop(); - UpdateStatus(State.Stopped); - - TestServer(); - }); + _mainController.Stop(); + UpdateStatus(State.Stopped); + Task.Run(TestServer); } } - private string PortText(string serverType, int modeType) + private static string LocalPortText(string serverType, int modeType) { var text = new StringBuilder(" ("); - text.Append(Global.Settings.LocalAddress == "0.0.0.0" - ? i18N.Translate("Allow other Devices to connect") + " " - : ""); + if (Global.Settings.LocalAddress == "0.0.0.0") + text.Append(i18N.Translate("Allow other Devices to connect") + " "); if (serverType == "Socks5") { // 不可控Socks5 if (modeType == 3 || modeType == 5) { // 可控HTTP - text.Append( - $"HTTP {i18N.Translate("Local Port", ": ")}{Global.Settings.HTTPLocalPort}"); + text.Append($"HTTP {i18N.Translate("Local Port", ": ")}{Global.Settings.HTTPLocalPort}"); } else { // 不可控HTTP - return ""; + return string.Empty; } } else { // 可控Socks5 - text.Append( - $"Socks5 {i18N.Translate("Local Port", ": ")}{Global.Settings.Socks5LocalPort}"); + text.Append($"Socks5 {i18N.Translate("Local Port", ": ")}{Global.Settings.Socks5LocalPort}"); if (modeType == 3 || modeType == 5) { - //有HTTP - text.Append( - $" | HTTP {i18N.Translate("Local Port", ": ")}{Global.Settings.HTTPLocalPort}"); + // 有HTTP + text.Append($" | HTTP {i18N.Translate("Local Port", ": ")}{Global.Settings.HTTPLocalPort}"); } } diff --git a/Netch/Forms/MainForm.MenuStrip.cs b/Netch/Forms/MainForm.MenuStrip.cs index 212b64e8..82c4a5c4 100644 --- a/Netch/Forms/MainForm.MenuStrip.cs +++ b/Netch/Forms/MainForm.MenuStrip.cs @@ -230,39 +230,6 @@ namespace Netch.Forms #region 选项 - private void RestartServiceToolStripMenuItem_Click(object sender, EventArgs e) - { - Enabled = false; - StatusText(i18N.Translate("Restarting service")); - - Task.Run(() => - { - try - { - var service = new ServiceController("netfilter2"); - if (service.Status == ServiceControllerStatus.Stopped) - { - service.Start(); - service.WaitForStatus(ServiceControllerStatus.Running); - } - else if (service.Status == ServiceControllerStatus.Running) - { - service.Stop(); - service.WaitForStatus(ServiceControllerStatus.Stopped); - service.Start(); - service.WaitForStatus(ServiceControllerStatus.Running); - } - } - catch (Exception) - { - NFAPI.nf_registerDriver("netfilter2"); - } - - MessageBoxX.Show(i18N.Translate("Service has been restarted"), owner: this); - Enabled = true; - }); - } - private void UninstallServiceToolStripMenuItem_Click(object sender, EventArgs e) { Enabled = false; diff --git a/Netch/Forms/MainForm.Profile.cs b/Netch/Forms/MainForm.Profile.cs index 4c046a44..10b76170 100644 --- a/Netch/Forms/MainForm.Profile.cs +++ b/Netch/Forms/MainForm.Profile.cs @@ -148,7 +148,7 @@ namespace Netch.Forms } else if (ModeComboBox.SelectedIndex == -1) { - MessageBoxX.Show(i18N.Translate("Please select an mode first")); + MessageBoxX.Show(i18N.Translate("Please select a mode first")); } else if (ProfileNameText.Text == "") { @@ -159,54 +159,53 @@ namespace Netch.Forms SaveProfile(index); ProfileButtons[index].Text = ProfileNameText.Text; } + return; } - else if (ModifierKeys == Keys.Shift) + + if (Global.Settings.Profiles[index].IsDummy) { - if (MessageBoxX.Show(i18N.Translate("Remove this Profile?"), confirm: true) == DialogResult.OK) - { - RemoveProfile(index); - ProfileButtons[index].Text = i18N.Translate("None"); - MessageBoxX.Show(i18N.Translate("Profile Removed!")); - } + MessageBoxX.Show(i18N.Translate("No saved profile here. Save a profile first by Ctrl+Click on the button")); + return; } - else + + if (ModifierKeys == Keys.Shift) { - if (Global.Settings.Profiles[index].IsDummy) - { - MessageBoxX.Show(i18N.Translate("No saved profile here. Save a profile first by Ctrl+Click on the button")); - return; - } + if (MessageBoxX.Show(i18N.Translate("Remove this Profile?"), confirm: true) != DialogResult.OK) return; + RemoveProfile(index); + ProfileButtons[index].Text = i18N.Translate("None"); + MessageBoxX.Show(i18N.Translate("Profile Removed!")); + return; + } - try - { - ProfileNameText.Text = LoadProfile(index); + try + { + ProfileNameText.Text = LoadProfile(index); - // start the profile - ControlFun(); - if (State == State.Stopping || State == State.Stopped) - { - Task.Run(() => - { - while (State != State.Stopped) - { - Thread.Sleep(250); - } - - ControlButton.PerformClick(); - }); - } - } - catch (Exception ee) + // start the profile + ControlFun(); + if (State == State.Stopping || State == State.Stopped) { Task.Run(() => { - Logging.Info(ee.ToString()); - ProfileButtons[index].Text = i18N.Translate("Error"); - Thread.Sleep(1200); - ProfileButtons[index].Text = i18N.Translate("None"); + while (State != State.Stopped) + { + Thread.Sleep(250); + } + + ControlFun(); }); } } + catch (Exception ee) + { + Task.Run(() => + { + Logging.Info(ee.ToString()); + ProfileButtons[index].Text = i18N.Translate("Error"); + Thread.Sleep(1200); + ProfileButtons[index].Text = i18N.Translate("None"); + }); + } } } } \ No newline at end of file diff --git a/Netch/Forms/MainForm.cs b/Netch/Forms/MainForm.cs index e240ac40..abd0a3a3 100644 --- a/Netch/Forms/MainForm.cs +++ b/Netch/Forms/MainForm.cs @@ -311,7 +311,7 @@ namespace Netch.Forms } else { - MessageBoxX.Show(i18N.Translate("Please select an mode first")); + MessageBoxX.Show(i18N.Translate("Please select a mode first")); } } @@ -336,7 +336,7 @@ namespace Netch.Forms } else { - MessageBoxX.Show(i18N.Translate("Please select an mode first")); + MessageBoxX.Show(i18N.Translate("Please select a mode first")); } } diff --git a/Netch/Forms/SubscribeForm.cs b/Netch/Forms/SubscribeForm.cs index aa328320..3d020181 100644 --- a/Netch/Forms/SubscribeForm.cs +++ b/Netch/Forms/SubscribeForm.cs @@ -161,7 +161,7 @@ namespace Netch.Forms Configuration.Save(); Global.Settings.UseProxyToUpdateSubscription = UseSelectedServerCheckBox.Checked; - MessageBoxX.Show(i18N.Translate("Successfully saved")); + MessageBoxX.Show(i18N.Translate("Saved")); } }); if (saveFlag) @@ -200,7 +200,7 @@ namespace Netch.Forms { Configuration.Save(); Global.Settings.UseProxyToUpdateSubscription = UseSelectedServerCheckBox.Checked; - MessageBoxX.Show(i18N.Translate("Successfully saved")); + MessageBoxX.Show(i18N.Translate("Saved")); Close(); } /// diff --git a/Netch/Netch.cs b/Netch/Netch.cs index a67fae89..556f2e6f 100644 --- a/Netch/Netch.cs +++ b/Netch/Netch.cs @@ -71,20 +71,6 @@ namespace Netch Environment.Exit(1); } - var OS = Environment.Is64BitOperatingSystem ? "x64" : "x86"; - var PROC = Environment.Is64BitProcess ? "x64" : "x86"; - - // 如果系统位数与程序位数不一致 - if (OS != PROC) - { - - // 弹出提示 - MessageBoxX.Show($"{i18N.Translate("Netch is not compatible with your system.")}\n{i18N.Translate("Current arch of Netch:")} {PROC}\n{i18N.Translate("Current arch of system:")} {OS}"); - - // 退出进程 - Environment.Exit(1); - } - // 绑定错误捕获 Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); Application.ThreadException += Application_OnException; diff --git a/Netch/Resources/zh-CN b/Netch/Resources/zh-CN index 8f9c07db..c713a1c7 100644 --- a/Netch/Resources/zh-CN +++ b/Netch/Resources/zh-CN @@ -5,9 +5,6 @@ "If this is your first time using this software,\n please check http://netch.org to install supports first,\n or the program may report errors.": "如果你是第一次使用本软件,\n请务必前往http://netch.org安装程序所需依赖,\n否则程序将无法正常运行!", "Netch is already running": "Netch 已经在运行中", - "Netch is not compatible with your system.": "Netch 和你的系统不兼容", - "Current arch of Netch:": "当前 Netch 架构:", - "Current arch of system:": "当前系统架构:", "Start": "启动", "Stop": "停止", @@ -18,7 +15,6 @@ "Stopping": "正在停止中", "Stopped": "已停止", "Starting ": "正在启动 ", - "v2ray": "V2Ray", "Starting Tap": "正在启动 TUN/TAP", "Starting NatTester": "正在启动 NAT 测试", "Starting LocalDns service": "正在启动本地 DNS 服务", @@ -41,7 +37,6 @@ "Add [ShadowsocksR] Server": "添加 [ShadowsocksR] 服务器", "Add [VMess] Server": "添加 [VMess] 服务器", "Add [Trojan] Server": "添加 [Trojan] 服务器", - "VMess is currently not supported. For more information, please see our Github releases\n\nPress OK will redirect": "当前不支持 VMess 服务器。需要更多信息请查看我们的 Github 发布页\n\n点击 OK 将会跳转", "Netch is now minimized to the notification bar, double click this icon to restore.": "Netch 已最小化至通知栏,双击此图标恢复窗口。", "New version available": "发现新版本", "Mode": "模式", @@ -79,9 +74,6 @@ "Update servers error from {0}": "从 {0} 更新服务器失败", "Options": "选项", - "Restart Service": "重启服务", - "Restarting service": "正在重启服务中", - "Service has been restarted": "服务已重启", "Uninstall Service": "卸载服务", "Uninstalling Service": "正在卸载服务中", "Service has been uninstalled": "服务已卸载", @@ -107,9 +99,11 @@ "Please press Stop button first": "请先点击停止按钮", "Please select a server first": "请先选择一个服务器", - "Please select an mode first": "请先选择一个模式", + "Please select a mode first": "请先选择一个模式", "Please enter a profile name first": "请先为该配置设置一个名称", "No saved profile here. Save a profile first by Ctrl+Click on the button": "当前按钮下没有保存配置,请先使用 CTRL + 左键 点击该按钮保存一个配置", + "Remove this Profile?": "确认删除此配置?", + "Profile Removed!": "配置已删除!", "Used": "已使用", "Status": "状态", @@ -143,7 +137,6 @@ "Remark can not be empty": "备注不可为空", "Link can not be empty": "链接不可为空", "Link must start with http:// or https://": "链接必须以 http:// 或 https:// 开头", - "Successfully saved": "保存成功", "Please fill in alterID": "请填写额外ID", "Settings": "设置", @@ -170,7 +163,6 @@ "Detection interval value illegal. Try again.": "检测间隔值非法。请重试。", "TUN/TAP driver is not detected. Is it installed now?": "未检测到 TUN/TAP 驱动,是否现在安装?", "Failed to set the system proxy, it may be caused by the lack of dependent programs. Do you want to jump to Netch's official website to download dependent programs?": "设置系统代理失败,可能是缺少依赖导致,是否跳转 Netch 官网下载依赖程序?", - "Experimental function": "实验性功能", "Delay test after start": "启动后延迟测试", "Enable": "启用", "Detection interval(sec)": "检测间隔(秒)", @@ -178,7 +170,6 @@ "STUN Server Port": "STUN 服务器端口", "Custom ACL": "自定义 ACL 规则", "Language": "语言", - "Saved.": "保存成功", "Profile": "配置名", "Profiles": "配置",