From 61838ac8bce2a4988ff90e681146c12b786d22ff Mon Sep 17 00:00:00 2001 From: Connection Refused Date: Wed, 19 Feb 2020 18:29:44 +0800 Subject: [PATCH] Remove built-in UDP DNS to TCP query --- Netch/Controllers/DNSController.cs | 37 ----------------- Netch/Controllers/TUNTAPController.cs | 8 +--- Netch/Netch.csproj | 2 - Netch/Resolver.cs | 59 --------------------------- 4 files changed, 1 insertion(+), 105 deletions(-) delete mode 100644 Netch/Controllers/DNSController.cs delete mode 100644 Netch/Resolver.cs diff --git a/Netch/Controllers/DNSController.cs b/Netch/Controllers/DNSController.cs deleted file mode 100644 index 8f9cbb3c..00000000 --- a/Netch/Controllers/DNSController.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.Net; - -namespace Netch.Controllers -{ - public class DNSController - { - public static DNS.Server.DnsServer Server = new DNS.Server.DnsServer(new Resolver()); - - public bool Start() - { - try - { - _ = Server.Listen(new IPEndPoint(IPAddress.IPv6Any, 53)); - } - catch (Exception e) - { - Utils.Logging.Info(e.ToString()); - return false; - } - - return true; - } - - public void Stop() - { - try - { - Server.Dispose(); - } - catch (Exception e) - { - Utils.Logging.Info(e.ToString()); - } - } - } -} diff --git a/Netch/Controllers/TUNTAPController.cs b/Netch/Controllers/TUNTAPController.cs index 98a475ad..bb65ca7f 100644 --- a/Netch/Controllers/TUNTAPController.cs +++ b/Netch/Controllers/TUNTAPController.cs @@ -30,11 +30,6 @@ namespace Netch.Controllers public Models.Server SavedServer = new Models.Server(); public Models.Mode SavedMode = new Models.Mode(); - /// - /// 本地 DNS 服务控制器 - /// - public DNSController pDNSController = new DNSController(); - /// /// 配置 TUNTAP 适配器 /// @@ -291,8 +286,7 @@ namespace Netch.Controllers } else { - pDNSController.Start(); - dns = "127.0.0.1"; + dns = "1.1.1.1,1.0.0.1"; } if (server.Type == "Socks5") diff --git a/Netch/Netch.csproj b/Netch/Netch.csproj index 56858fbb..a2beaf9c 100644 --- a/Netch/Netch.csproj +++ b/Netch/Netch.csproj @@ -65,8 +65,6 @@ - - diff --git a/Netch/Resolver.cs b/Netch/Resolver.cs deleted file mode 100644 index ef6b46de..00000000 --- a/Netch/Resolver.cs +++ /dev/null @@ -1,59 +0,0 @@ -using DNS.Protocol; -using System; -using System.Linq; -using System.Threading.Tasks; - -namespace Netch -{ - public class Resolver : DNS.Client.RequestResolver.IRequestResolver - { - public Task Resolve(IRequest request) - { - IResponse response = Response.FromRequest(request); - - foreach (var question in response.Questions) - { - if (question.Type == RecordType.A) - { - var client = new DnsClient.LookupClient(DnsClient.NameServer.GooglePublicDns); - client.UseTcpOnly = true; - client.UseCache = true; - - try - { - var result = client.Query(question.Name.ToString(), DnsClient.QueryType.A); - foreach (var item in result.Answers.ARecords()) - { - response.AnswerRecords.Add(new DNS.Protocol.ResourceRecords.IPAddressResourceRecord(question.Name, item.Address)); - } - } - catch (Exception) - { - // 跳过 - } - } - else if (question.Type == RecordType.AAAA) - { - var client = new DnsClient.LookupClient(DnsClient.NameServer.GooglePublicDns); - client.UseTcpOnly = true; - client.UseCache = true; - - try - { - var result = client.Query(question.Name.ToString(), DnsClient.QueryType.AAAA); - foreach (var item in result.Answers.AaaaRecords()) - { - response.AnswerRecords.Add(new DNS.Protocol.ResourceRecords.IPAddressResourceRecord(question.Name, item.Address)); - } - } - catch (Exception) - { - // 跳过 - } - } - } - - return Task.FromResult(response); - } - } -}