From a70b557e0cc3e1d80ff36a206f1cc22d6ca32fb7 Mon Sep 17 00:00:00 2001 From: ChsBuffer <33744752+chsbuffer@users.noreply.github.com> Date: Mon, 5 Jul 2021 03:18:15 +0800 Subject: [PATCH] Update NetRoute.GetBestRouteTemplate() --- Netch/Controllers/TUNController.cs | 4 ++-- Netch/Models/NetRoute.cs | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Netch/Controllers/TUNController.cs b/Netch/Controllers/TUNController.cs index 70497ec3..d95c4339 100644 --- a/Netch/Controllers/TUNController.cs +++ b/Netch/Controllers/TUNController.cs @@ -39,11 +39,11 @@ namespace Netch.Controllers if (_serverRemoteAddress != null && IPAddress.IsLoopback(_serverRemoteAddress)) _serverRemoteAddress = null; - _outbound = NetRoute.GetBestRouteTemplate(out var address); + _outbound = NetRoute.GetBestRouteTemplate(); CheckDriver(); Dial(NameList.TYPE_ADAPMTU, "1500"); - Dial(NameList.TYPE_BYPBIND, address.ToString()); + Dial(NameList.TYPE_BYPBIND, _outbound.Gateway); Dial(NameList.TYPE_BYPLIST, "disabled"); #region Server diff --git a/Netch/Models/NetRoute.cs b/Netch/Models/NetRoute.cs index 01b5073d..ee945187 100644 --- a/Netch/Models/NetRoute.cs +++ b/Netch/Models/NetRoute.cs @@ -16,12 +16,11 @@ namespace Netch.Models }; } - public static NetRoute GetBestRouteTemplate(out IPAddress address) + public static NetRoute GetBestRouteTemplate() { if (IpHlpApi.GetBestRoute(BitConverter.ToUInt32(IPAddress.Parse("114.114.114.114").GetAddressBytes(), 0), 0, out var route) != 0) throw new MessageException("GetBestRoute 搜索失败"); - address = new IPAddress(route.dwForwardNextHop.S_addr); var gateway = new IPAddress(route.dwForwardNextHop.S_un_b); return TemplateBuilder(gateway.ToString(), (int)route.dwForwardIfIndex); }