取消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(); using var request = new HttpRequestMessage();
request.Method = new HttpMethod(rule.Method); 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.Host = context.Domain;
request.Headers.ConnectionClose = setting.ConnectionClose; request.Headers.ConnectionClose = setting.ConnectionClose;

View File

@ -4,6 +4,8 @@ using Microsoft.Extensions.DependencyInjection;
using System; using System;
using System.Net.Http; using System.Net.Http;
using System.Net.Http.Headers; using System.Net.Http.Headers;
using System.Net.Security;
using System.Net.Sockets;
namespace FastGithub namespace FastGithub
{ {
@ -31,11 +33,25 @@ namespace FastGithub
httpClient.DefaultRequestHeaders.Accept.TryParseAdd("*/*"); httpClient.DefaultRequestHeaders.Accept.TryParseAdd("*/*");
httpClient.DefaultRequestHeaders.UserAgent.Add(defaultUserAgent); httpClient.DefaultRequestHeaders.UserAgent.Add(defaultUserAgent);
}) })
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler .ConfigurePrimaryHttpMessageHandler(() => new SocketsHttpHandler
{ {
Proxy = null, Proxy = null,
UseProxy = false, 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>(); .AddHttpMessageHandler<GithubDnsHttpHandler>();

View File

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