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. 绕过)
///