Fix #528 socks5 only mode start failed

This commit is contained in:
ChsBuffer
2021-02-28 20:51:43 +08:00
parent e0ca3a5ee4
commit 790abce3c8
2 changed files with 6 additions and 13 deletions

View File

@@ -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);

View File

@@ -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;
}
}
}