From b486f551cfd65f090360aae23892f392a5c97bcf Mon Sep 17 00:00:00 2001 From: xljiulang <366193849@qq.com> Date: Mon, 21 Jun 2021 03:05:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=AF=E5=90=A6=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=9C=AC=E6=9C=BA=E4=BD=BF=E7=94=A8=E6=AD=A4dns?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Directory.Build.props | 2 +- FastGithub.Dns/DnsHostedService.cs | 29 +++++++++ FastGithub.Dns/DnsOptions.cs | 5 ++ FastGithub.Dns/FastGithub.Dns.csproj | 4 ++ FastGithub.Dns/NameServiceUtil.cs | 84 +++++++++++++++++++++++++++ FastGithub/FastGithub.csproj | 5 ++ FastGithub/app.ico | Bin 0 -> 197987 bytes FastGithub/app.manifest | 75 ++++++++++++++++++++++++ FastGithub/appsettings.json | 3 +- 9 files changed, 205 insertions(+), 2 deletions(-) create mode 100644 FastGithub.Dns/NameServiceUtil.cs create mode 100644 FastGithub/app.ico create mode 100644 FastGithub/app.manifest diff --git a/Directory.Build.props b/Directory.Build.props index b2b1270..1c190b7 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - 1.0.0-rc2 + 1.0.0 enable github定制版的dns服务,解析github最优的ip https://github.com/xljiulang/FastGithub diff --git a/FastGithub.Dns/DnsHostedService.cs b/FastGithub.Dns/DnsHostedService.cs index bbad889..3475544 100644 --- a/FastGithub.Dns/DnsHostedService.cs +++ b/FastGithub.Dns/DnsHostedService.cs @@ -2,6 +2,8 @@ using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; +using System; +using System.Net; using System.Threading; using System.Threading.Tasks; @@ -13,6 +15,7 @@ namespace FastGithub.Dns sealed class DnsHostedService : IHostedService { private readonly DnsServer dnsServer; + private readonly IOptions options; private readonly ILogger logger; /// @@ -27,6 +30,7 @@ namespace FastGithub.Dns ILogger logger) { this.dnsServer = new DnsServer(githubRequestResolver, options.Value.UpStream); + this.options = options; this.logger = logger; } @@ -39,6 +43,8 @@ namespace FastGithub.Dns { this.dnsServer.Listen(); this.logger.LogInformation("dns服务启用成功"); + this.SetNameServers(IPAddress.Loopback, this.options.Value.UpStream); + return Task.CompletedTask; } @@ -51,7 +57,30 @@ namespace FastGithub.Dns { this.dnsServer.Dispose(); this.logger.LogInformation("dns服务已终止"); + this.SetNameServers(); + return Task.CompletedTask; } + + /// + /// 设备dns + /// + /// + private void SetNameServers(params IPAddress[] nameServers) + { + var action = nameServers.Length == 0 ? "清除" : "设置"; + if (this.options.Value.SetToLocalMachine && OperatingSystem.IsWindows()) + { + try + { + NameServiceUtil.SetNameServers(nameServers); + this.logger.LogInformation($"{action}本机dns成功"); + } + catch (Exception ex) + { + this.logger.LogWarning($"{action}本机dns失败:{ex.Message}"); + } + } + } } } diff --git a/FastGithub.Dns/DnsOptions.cs b/FastGithub.Dns/DnsOptions.cs index 40d561e..1b6ee60 100644 --- a/FastGithub.Dns/DnsOptions.cs +++ b/FastGithub.Dns/DnsOptions.cs @@ -18,5 +18,10 @@ namespace FastGithub.Dns /// 获取或设置github相关域名的ip存活时长 /// public TimeSpan GithubTTL { get; set; } = TimeSpan.FromMinutes(10d); + + /// + /// 是否设置本机使用此dns + /// + public bool SetToLocalMachine { get; set; } = true; } } diff --git a/FastGithub.Dns/FastGithub.Dns.csproj b/FastGithub.Dns/FastGithub.Dns.csproj index 7165c3c..b0068ab 100644 --- a/FastGithub.Dns/FastGithub.Dns.csproj +++ b/FastGithub.Dns/FastGithub.Dns.csproj @@ -4,6 +4,10 @@ net5.0 + + + + diff --git a/FastGithub.Dns/NameServiceUtil.cs b/FastGithub.Dns/NameServiceUtil.cs new file mode 100644 index 0000000..d05966e --- /dev/null +++ b/FastGithub.Dns/NameServiceUtil.cs @@ -0,0 +1,84 @@ +using System; +using System.Diagnostics; +using System.Linq; +using System.Net; +using System.Net.NetworkInformation; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace FastGithub.Dns +{ + /// + /// 域名服务工具 + /// + [SupportedOSPlatform("windows")] + static class NameServiceUtil + { + /// + /// www.baidu.com的ip + /// + private static readonly IPAddress www_baidu_com = IPAddress.Parse("183.232.231.172"); + + [DllImport("iphlpapi")] + private static extern int GetBestInterface(uint dwDestAddr, ref uint pdwBestIfIndex); + + /// + /// 通过远程地址查找匹配的网络适接口 + /// + /// + /// + private static NetworkInterface? GetBestNetworkInterface(IPAddress remoteAddress) + { + var dwBestIfIndex = 0u; + var dwDestAddr = BitConverter.ToUInt32(remoteAddress.GetAddressBytes()); + var errorCode = GetBestInterface(dwDestAddr, ref dwBestIfIndex); + if (errorCode != 0) + { + throw new NetworkInformationException(errorCode); + } + + return NetworkInterface + .GetAllNetworkInterfaces() + .Where(item => item.GetIPProperties().GetIPv4Properties().Index == dwBestIfIndex) + .FirstOrDefault(); + } + + /// + /// 设置域名服务 + /// + /// + /// + /// + public static void SetNameServers(params IPAddress[] nameServers) + { + var networkIF = GetBestNetworkInterface(www_baidu_com); + if (networkIF == null) + { + throw new NotSupportedException("找不到网络适配器用来设置dns"); + } + + Netsh($@"interface ipv4 delete dns ""{networkIF.Name}"" all"); + foreach (var address in nameServers) + { + Netsh($@"interface ipv4 add dns ""{networkIF.Name}"" {address} validate=no"); + } + } + + /// + /// 执行Netsh + /// + /// + private static void Netsh(string arguments) + { + var netsh = new ProcessStartInfo + { + FileName = "netsh.exe", + Arguments = arguments, + CreateNoWindow = true, + UseShellExecute = false, + WindowStyle = ProcessWindowStyle.Hidden + }; + Process.Start(netsh)?.WaitForExit(); + } + } +} diff --git a/FastGithub/FastGithub.csproj b/FastGithub/FastGithub.csproj index 370e3a8..781c80a 100644 --- a/FastGithub/FastGithub.csproj +++ b/FastGithub/FastGithub.csproj @@ -4,12 +4,17 @@ Exe net5.0;net6.0 MIT + app.ico true + + app.manifest + + diff --git a/FastGithub/app.ico b/FastGithub/app.ico new file mode 100644 index 0000000000000000000000000000000000000000..8f5f6aecf1a35db195f4e5c82a906b036e51cec3 GIT binary patch literal 197987 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 z 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

sUXp;YF+q`y$xHgJNedJqSmcW;1kT@ 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 ij*y>|<9Bastn^KdB26-eE139`K7{8+R)J literal 0 HcmV?d00001 diff --git a/FastGithub/app.manifest b/FastGithub/app.manifest new file mode 100644 index 0000000..60a45a2 --- /dev/null +++ b/FastGithub/app.manifest @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FastGithub/appsettings.json b/FastGithub/appsettings.json index 5d958c6..049c4c7 100644 --- a/FastGithub/appsettings.json +++ b/FastGithub/appsettings.json @@ -1,7 +1,8 @@ { "Dns": { "UpStream": "114.114.114.114", // dns - "GithubTTL": "00:10:00" // githubĴʱ + "GithubTTL": "00:10:00", // githubĴʱ + "SetToLocalMachine": true // Ƿñʹôdns(֧windows) }, "Github": { "Lookup": { // ip