类型重命名

This commit is contained in:
老九 2021-08-25 21:38:12 +08:00
parent 0f94f118ca
commit 81f6afdf8b
8 changed files with 48 additions and 48 deletions

View File

@ -13,28 +13,28 @@ namespace FastGithub.Dns
/// <summary>
/// dns后台服务
/// </summary>
sealed class DnsHostedService : BackgroundService
sealed class DnsOverUdpHostedService : BackgroundService
{
private readonly DnsServer dnsServer;
private readonly IEnumerable<IDnsValidator> dnsValidators;
private readonly DnsOverUdpServer dnsOverUdpServer;
private readonly IEnumerable<IConflictValidator> conflictValidators;
private readonly IOptionsMonitor<FastGithubOptions> options;
private readonly ILogger<DnsHostedService> logger;
private readonly ILogger<DnsOverUdpHostedService> logger;
/// <summary>
/// dns后台服务
/// </summary>
/// <param name="dnsServer"></param>
/// <param name="dnsValidators"></param>
/// <param name="dnsOverUdpServer"></param>
/// <param name="conflictValidators"></param>
/// <param name="options"></param>
/// <param name="logger"></param>
public DnsHostedService(
DnsServer dnsServer,
IEnumerable<IDnsValidator> dnsValidators,
public DnsOverUdpHostedService(
DnsOverUdpServer dnsOverUdpServer,
IEnumerable<IConflictValidator> conflictValidators,
IOptionsMonitor<FastGithubOptions> options,
ILogger<DnsHostedService> logger)
ILogger<DnsOverUdpHostedService> logger)
{
this.dnsServer = dnsServer;
this.dnsValidators = dnsValidators;
this.dnsOverUdpServer = dnsOverUdpServer;
this.conflictValidators = conflictValidators;
this.options = options;
this.logger = logger;
@ -54,14 +54,14 @@ namespace FastGithub.Dns
/// <returns></returns>
public override async Task StartAsync(CancellationToken cancellationToken)
{
var port = this.options.CurrentValue.Listen.DnsPort;
this.dnsServer.Bind(IPAddress.Any, port);
var dnsPort = this.options.CurrentValue.Listen.DnsPort;
this.dnsOverUdpServer.Bind(IPAddress.Any, dnsPort);
this.logger.LogInformation("DNS服务启动成功");
const int DNS_PORT = 53;
if (port != DNS_PORT)
if (dnsPort != DNS_PORT)
{
this.logger.LogWarning($"由于使用了非标准DNS端口{port},你需要将{nameof(FastGithub)}设置为标准DNS的上游");
this.logger.LogWarning($"由于使用了非标准DNS端口{dnsPort},你需要将{nameof(FastGithub)}设置为标准DNS的上游");
}
else if (OperatingSystem.IsWindows())
{
@ -85,7 +85,7 @@ namespace FastGithub.Dns
this.logger.LogWarning($"不支持自动设置本机DNS请手工添加{IPAddress.Loopback}做为连接网络的DNS的第一条记录");
}
foreach (var item in this.dnsValidators)
foreach (var item in this.conflictValidators)
{
await item.ValidateAsync();
}
@ -100,7 +100,7 @@ namespace FastGithub.Dns
/// <returns></returns>
protected override Task ExecuteAsync(CancellationToken stoppingToken)
{
return this.dnsServer.ListenAsync(stoppingToken);
return this.dnsOverUdpServer.ListenAsync(stoppingToken);
}
/// <summary>
@ -110,7 +110,7 @@ namespace FastGithub.Dns
/// <returns></returns>
public override Task StopAsync(CancellationToken cancellationToken)
{
this.dnsServer.Dispose();
this.dnsOverUdpServer.Dispose();
this.logger.LogInformation("DNS服务已停止");
if (OperatingSystem.IsWindows())

View File

@ -12,10 +12,10 @@ namespace FastGithub.Dns
/// <summary>
/// dns服务器
/// </summary>
sealed class DnsServer : IDisposable
sealed class DnsOverUdpServer : IDisposable
{
private readonly RequestResolver requestResolver;
private readonly ILogger<DnsServer> logger;
private readonly ILogger<DnsOverUdpServer> logger;
private readonly Socket socket = new(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
private readonly byte[] buffer = new byte[ushort.MaxValue];
@ -24,9 +24,9 @@ namespace FastGithub.Dns
/// </summary>
/// <param name="requestResolver"></param>
/// <param name="logger"></param>
public DnsServer(
public DnsOverUdpServer(
RequestResolver requestResolver,
ILogger<DnsServer> logger)
ILogger<DnsOverUdpServer> logger)
{
this.requestResolver = requestResolver;
this.logger = logger;

View File

@ -10,28 +10,28 @@ using System.Threading.Tasks;
namespace FastGithub.Dns
{
/// <summary>
/// host文件配置验证器
/// host文件冲突验证器
/// </summary>
sealed class HostsValidator : IDnsValidator
sealed class HostsConflictValidator : IConflictValidator
{
private readonly FastGithubConfig fastGithubConfig;
private readonly ILogger<HostsValidator> logger;
private readonly ILogger<HostsConflictValidator> logger;
/// <summary>
/// host文件配置验证器
/// host文件冲突验证器
/// </summary>
/// <param name="fastGithubConfig"></param>
/// <param name="logger"></param>
public HostsValidator(
public HostsConflictValidator(
FastGithubConfig fastGithubConfig,
ILogger<HostsValidator> logger)
ILogger<HostsConflictValidator> logger)
{
this.fastGithubConfig = fastGithubConfig;
this.logger = logger;
}
/// <summary>
/// 验证host文件的域名解析配置
/// 验证冲突
/// </summary>
/// <returns></returns>
public async Task ValidateAsync()

View File

@ -3,12 +3,12 @@
namespace FastGithub.Dns
{
/// <summary>
/// Dns验证器
/// Dns冲突验证器
/// </summary>
interface IDnsValidator
interface IConflictValidator
{
/// <summary>
/// 验证
/// 验证冲突
/// </summary>
/// <returns></returns>
Task ValidateAsync();

View File

@ -8,23 +8,23 @@ using System.Threading.Tasks;
namespace FastGithub.Dns
{
/// <summary>
/// 代理验证
/// 代理冲突验证
/// </summary>
sealed class ProxyValidtor : IDnsValidator
sealed class ProxyConflictValidtor : IConflictValidator
{
private readonly IOptions<FastGithubOptions> options;
private readonly ILogger<ProxyValidtor> logger;
private readonly ILogger<ProxyConflictValidtor> logger;
public ProxyValidtor(
public ProxyConflictValidtor(
IOptions<FastGithubOptions> options,
ILogger<ProxyValidtor> logger)
ILogger<ProxyConflictValidtor> logger)
{
this.options = options;
this.logger = logger;
}
/// <summary>
/// 验证是否使用了代理
/// 验证冲突
/// </summary>
/// <returns></returns>
public Task ValidateAsync()

View File

@ -17,11 +17,11 @@ namespace FastGithub
public static IServiceCollection AddDnsServer(this IServiceCollection services)
{
services.TryAddSingleton<RequestResolver>();
services.TryAddSingleton<DnsServer>();
services.TryAddSingleton<DnsOverUdpServer>();
services.TryAddSingleton<DnsOverHttpsMiddleware>();
services.AddSingleton<IDnsValidator, HostsValidator>();
services.AddSingleton<IDnsValidator, ProxyValidtor>();
return services.AddHostedService<DnsHostedService>();
services.AddSingleton<IConflictValidator, HostsConflictValidator>();
services.AddSingleton<IConflictValidator, ProxyConflictValidtor>();
return services.AddHostedService<DnsOverUdpHostedService>();
}
}
}

View File

@ -8,18 +8,18 @@ using System.Threading.Tasks;
namespace FastGithub.ReverseProxy
{
/// <summary>
/// github的ssh处理者
/// github的ssh代理处理者
/// </summary>
sealed class GithubSshHandler : ConnectionHandler
sealed class GithubSshProxyHandler : ConnectionHandler
{
private readonly IDomainResolver domainResolver;
private readonly DnsEndPoint githubSshEndPoint = new("ssh.github.com", 443);
/// <summary>
/// github的ssh处理者
/// github的ssh代理处理者
/// </summary>
/// <param name="domainResolver"></param>
public GithubSshHandler(IDomainResolver domainResolver)
public GithubSshProxyHandler(IDomainResolver domainResolver)
{
this.domainResolver = domainResolver;
}

View File

@ -82,7 +82,7 @@ namespace FastGithub
}
else
{
kestrel.Listen(IPAddress.Any, sshPort, listen => listen.UseConnectionHandler<GithubSshHandler>());
kestrel.Listen(IPAddress.Any, sshPort, listen => listen.UseConnectionHandler<GithubSshProxyHandler>());
logger.LogInformation("已监听github的ssh代理");
}
}