From 790abce3c8ed54e8f915604920cf271faed352f3 Mon Sep 17 00:00:00 2001 From: ChsBuffer <33744752+chsbuffer@users.noreply.github.com> Date: Sun, 28 Feb 2021 20:51:43 +0800 Subject: [PATCH] Fix #528 socks5 only mode start failed --- Netch/Controllers/MainController.cs | 2 +- Netch/Utils/ModeHelper.cs | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/Netch/Controllers/MainController.cs b/Netch/Controllers/MainController.cs index 1110c27a..a8dafebe 100644 --- a/Netch/Controllers/MainController.cs +++ b/Netch/Controllers/MainController.cs @@ -149,7 +149,7 @@ namespace Netch.Controllers ModeController = ModeHelper.GetModeControllerByType(mode.Type, out var port, out var portName, out var portType); if (ModeController == null) - throw new MessageException("未知模式类型"); + return; if (port != null) PortCheck((ushort) port, portName, portType); diff --git a/Netch/Utils/ModeHelper.cs b/Netch/Utils/ModeHelper.cs index 0a191e5f..735e24af 100644 --- a/Netch/Utils/ModeHelper.cs +++ b/Netch/Utils/ModeHelper.cs @@ -143,39 +143,32 @@ namespace Netch.Utils public static IModeController GetModeControllerByType(int type, out ushort? port, out string portName, out PortType portType) { - IModeController modeController; port = null; portName = string.Empty; portType = PortType.Both; switch (type) { case 0: - modeController = new NFController(); port = Global.Settings.RedirectorTCPPort; portName = "Redirector TCP"; portType = PortType.TCP; - break; + return new NFController(); case 1: case 2: - modeController = new TUNTAPController(); - break; + return new TUNTAPController(); case 3: case 5: - modeController = new HTTPController(); port = Global.Settings.HTTPLocalPort; portName = "HTTP"; portType = PortType.TCP; StatusPortInfoText.HttpPort = (ushort) port; - break; + return new HTTPController(); case 4: - modeController = null; - break; + return null; default: Logging.Error("未知模式类型"); - throw new MessageException(); + throw new MessageException("未知模式类型"); } - - return modeController; } } } \ No newline at end of file