From ca0870889a573a3390ae15d801b0d419b5f3abc1 Mon Sep 17 00:00:00 2001 From: AmazingDM Date: Mon, 28 Dec 2020 15:21:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0NTT=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E9=83=A8=E5=88=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Netch/Controllers/HTTPController.cs | 40 +++++++++++++++------------ Netch/Controllers/TUNTAPController.cs | 6 ++-- binaries | 2 +- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/Netch/Controllers/HTTPController.cs b/Netch/Controllers/HTTPController.cs index bce820ae..72ac8499 100644 --- a/Netch/Controllers/HTTPController.cs +++ b/Netch/Controllers/HTTPController.cs @@ -102,32 +102,36 @@ namespace Netch.Controllers { var tasks = new[] { - Task.Factory.StartNew(pPrivoxyController.Stop), - Task.Factory.StartNew(() => + Task.Run(pPrivoxyController.Stop), + Task.Run(() => { - PACServerHandle.Stop(); - if (prevEnabled) + using var service = new ProxyService(); + try { - if (prevHTTP != "") + PACServerHandle.Stop(); + if (prevEnabled) { - using var service = new ProxyService + if (prevHTTP != "") { - Server = prevHTTP, - Bypass = prevBypass - }; - service.Global(); + service.Server = prevHTTP; + service.Bypass = prevBypass; + service.Global(); + } + if (prevPAC != "") + { + service.AutoConfigUrl = prevPAC; + service.Pac(); + } } - if (prevPAC != "") + else { - using var service = new ProxyService - { - AutoConfigUrl = prevPAC - }; - service.Pac(); + service.Direct(); } } - else - new ProxyService().Direct(); + catch (Exception e) + { + Logging.Error($"{Name} 控制器出错:\n" + e); + } }) }; Task.WaitAll(tasks); diff --git a/Netch/Controllers/TUNTAPController.cs b/Netch/Controllers/TUNTAPController.cs index ba723d62..135b812f 100644 --- a/Netch/Controllers/TUNTAPController.cs +++ b/Netch/Controllers/TUNTAPController.cs @@ -119,9 +119,9 @@ namespace Netch.Controllers { var tasks = new[] { - Task.Factory.StartNew(StopInstance), - Task.Factory.StartNew(ClearRouteTable), - Task.Factory.StartNew(DNSController.Stop) + Task.Run(StopInstance), + Task.Run(ClearRouteTable), + Task.Run(DNSController.Stop) }; Task.WaitAll(tasks); } diff --git a/binaries b/binaries index 36742591..859ff7b1 160000 --- a/binaries +++ b/binaries @@ -1 +1 @@ -Subproject commit 36742591aef7bc228dd2f159096d71ce6167cf73 +Subproject commit 859ff7b19c80cabf278980aeb13b401cb7bc981b