From ceb57dcc1a46d34b44362bc27ae9ed60650d7033 Mon Sep 17 00:00:00 2001 From: ChsBuffer <33744752+chsbuffer@users.noreply.github.com> Date: Tue, 13 Oct 2020 09:48:21 +0800 Subject: [PATCH] refactor: move IModeController.TestNatRequired to Mode --- Netch/Controllers/HTTPController.cs | 2 -- Netch/Controllers/IModeController.cs | 2 -- Netch/Controllers/MainController.cs | 2 +- Netch/Controllers/NFController.cs | 2 -- Netch/Controllers/TUNTAPController.cs | 2 -- Netch/Models/Mode.cs | 8 ++++++++ 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Netch/Controllers/HTTPController.cs b/Netch/Controllers/HTTPController.cs index 0e070e4e..b14fbefc 100644 --- a/Netch/Controllers/HTTPController.cs +++ b/Netch/Controllers/HTTPController.cs @@ -11,8 +11,6 @@ namespace Netch.Controllers { public class HTTPController : IModeController { - public bool TestNatRequired { get; } = false; - public const string IEProxyExceptions = "localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*"; public PrivoxyController pPrivoxyController = new PrivoxyController(); diff --git a/Netch/Controllers/IModeController.cs b/Netch/Controllers/IModeController.cs index 16956776..a2fa0028 100644 --- a/Netch/Controllers/IModeController.cs +++ b/Netch/Controllers/IModeController.cs @@ -11,7 +11,5 @@ namespace Netch.Controllers /// 模式 /// 是否成功 public abstract bool Start(Server s, Mode mode); - - public abstract bool TestNatRequired { get; } } } \ No newline at end of file diff --git a/Netch/Controllers/MainController.cs b/Netch/Controllers/MainController.cs index 393a6193..1490857f 100644 --- a/Netch/Controllers/MainController.cs +++ b/Netch/Controllers/MainController.cs @@ -66,7 +66,7 @@ namespace Netch.Controllers throw new StartFailedException(); } - if (ModeController?.TestNatRequired ?? false) + if (mode.TestNatRequired) NatTest(); return true; diff --git a/Netch/Controllers/NFController.cs b/Netch/Controllers/NFController.cs index f200b79e..f25ce816 100644 --- a/Netch/Controllers/NFController.cs +++ b/Netch/Controllers/NFController.cs @@ -13,8 +13,6 @@ namespace Netch.Controllers { public class NFController : IModeController { - public bool TestNatRequired { get; } = true; - private static readonly ServiceController NFService = new ServiceController("netfilter2"); private static readonly string BinDriver = string.Empty; diff --git a/Netch/Controllers/TUNTAPController.cs b/Netch/Controllers/TUNTAPController.cs index 5857b202..6996b902 100644 --- a/Netch/Controllers/TUNTAPController.cs +++ b/Netch/Controllers/TUNTAPController.cs @@ -17,8 +17,6 @@ namespace Netch.Controllers { public class TUNTAPController : Guard, IModeController { - public bool TestNatRequired { get; } = true; - private Mode _savedMode = new Mode(); private Server _savedServer = new Server(); diff --git a/Netch/Models/Mode.cs b/Netch/Models/Mode.cs index b17c2c98..4d96b2ae 100644 --- a/Netch/Models/Mode.cs +++ b/Netch/Models/Mode.cs @@ -39,6 +39,14 @@ namespace Netch.Models _ => false }; + public bool TestNatRequired => Type switch + { + 0 => true, + 1 => true, + 2 => true, + _ => false + }; + /// /// 绕过中国(0. 不绕过 1. 绕过) ///