取消tls client hello sni

This commit is contained in:
陈国伟 2021-07-13 11:29:19 +08:00
parent 3dc9a7e7b3
commit aa523fb126
3 changed files with 20 additions and 4 deletions

View File

@ -56,7 +56,7 @@ namespace FastGithub.Scanner.ScanMiddlewares
using var request = new HttpRequestMessage();
request.Method = new HttpMethod(rule.Method);
request.RequestUri = new Uri(new Uri($"https://{context.Address}"), rule.Path);
request.RequestUri = new Uri(new Uri($"http://{context.Address}:443/"), rule.Path);
request.Headers.Host = context.Domain;
request.Headers.ConnectionClose = setting.ConnectionClose;

View File

@ -4,6 +4,8 @@ using Microsoft.Extensions.DependencyInjection;
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Net.Security;
using System.Net.Sockets;
namespace FastGithub
{
@ -31,11 +33,25 @@ namespace FastGithub
httpClient.DefaultRequestHeaders.Accept.TryParseAdd("*/*");
httpClient.DefaultRequestHeaders.UserAgent.Add(defaultUserAgent);
})
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
.ConfigurePrimaryHttpMessageHandler(() => new SocketsHttpHandler
{
Proxy = null,
UseProxy = false,
AllowAutoRedirect = false
AllowAutoRedirect = false,
ConnectCallback = async (ctx, ct) =>
{
var socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
await socket.ConnectAsync(ctx.DnsEndPoint, ct);
var stream = new NetworkStream(socket, ownsSocket: true);
if (ctx.InitialRequestMessage.Headers.Host == null)
{
return stream;
}
var sslStream = new SslStream(stream, leaveInnerStreamOpen: false, delegate { return true; });
await sslStream.AuthenticateAsClientAsync(string.Empty, null, false);
return sslStream;
}
})
.AddHttpMessageHandler<GithubDnsHttpHandler>();

View File

@ -7,7 +7,7 @@
"launchBrowser": true,
"environmentVariables": {
"DOTNET_ENVIRONMENT": "Development",
"Logging__LogLevel__Default": "Trace"
//"Logging__LogLevel__Default": "Trace"
}
}
}