增加ipAddress
This commit is contained in:
parent
b6f77e6fff
commit
a4981251d0
@ -23,6 +23,11 @@ namespace FastGithub.Configuration
|
||||
/// </summary>
|
||||
public bool TlsIgnoreNameMismatch { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 使用的ip地址
|
||||
/// </summary>
|
||||
public string? IPAddress { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求超时时长
|
||||
/// </summary>
|
||||
|
||||
@ -48,6 +48,7 @@ namespace FastGithub.Http
|
||||
request.SetRequestContext(new RequestContext
|
||||
{
|
||||
Host = request.RequestUri?.Host,
|
||||
IPAddress = this.domainConfig.IPAddress,
|
||||
IsHttps = request.RequestUri?.Scheme == Uri.UriSchemeHttps,
|
||||
TlsSniPattern = this.domainConfig.GetTlsSniPattern(),
|
||||
TlsIgnoreNameMismatch = this.domainConfig.TlsIgnoreNameMismatch
|
||||
|
||||
@ -160,7 +160,10 @@ namespace FastGithub.Http
|
||||
|
||||
if (uri.HostNameType == UriHostNameType.Dns)
|
||||
{
|
||||
var address = await this.domainResolver.ResolveAsync(domain, cancellationToken);
|
||||
if (IPAddress.TryParse(context.IPAddress, out var address) == false)
|
||||
{
|
||||
address = await this.domainResolver.ResolveAsync(domain, cancellationToken);
|
||||
}
|
||||
uriBuilder.Host = address.ToString();
|
||||
request.Headers.Host = domain;
|
||||
context.TlsSniPattern = context.TlsSniPattern.WithIPAddress(address);
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using FastGithub.Configuration;
|
||||
using System.Net;
|
||||
|
||||
namespace FastGithub.Http
|
||||
{
|
||||
@ -17,6 +18,11 @@ namespace FastGithub.Http
|
||||
/// </summary>
|
||||
public string? Host { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 请求的ip
|
||||
/// </summary>
|
||||
public string? IPAddress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置Sni值的表达式
|
||||
/// </summary>
|
||||
|
||||
@ -11,27 +11,21 @@
|
||||
"TlsSni": false
|
||||
},
|
||||
"gist.github.com": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true
|
||||
},
|
||||
"*.github.io": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true
|
||||
},
|
||||
"*.githubapp.com": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true
|
||||
},
|
||||
"*.githubassets.com": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true
|
||||
},
|
||||
"*.githubusercontent.com": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true
|
||||
},
|
||||
"*github*.s3.amazonaws.com": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
"TlsSniPattern": null, // SNI表达式,@domain变量表示取域名值 @ipaddress变量表示取ip @random变量表示取随机值,其它字符保留不替换
|
||||
"TlsIgnoreNameMismatch": false, // 是否忽略服务器证书域名不匹配,当不发送SNI时服务器可能发回域名不匹配的证书,默认为false
|
||||
"Timeout": null, // 请求超时时长,格式为"00:02:00",默认为null
|
||||
"IPAddress": null, // 请求的ip,默认为null
|
||||
"Destination": null, // 请求目的地,格式为绝对或相对Uri,默认null
|
||||
"Response": { // 阻断请求直接响应,设置了Response其它配置都不起作用了
|
||||
"StatusCode": 404, // 响应的状态码
|
||||
|
||||
@ -2,122 +2,70 @@
|
||||
"FastGithub": {
|
||||
"DomainConfigs": {
|
||||
"www.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.223/"
|
||||
"IPAddress": "210.140.131.223"
|
||||
},
|
||||
"pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.226/"
|
||||
"IPAddress": "210.140.131.226"
|
||||
},
|
||||
"ssl.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.226/"
|
||||
"IPAddress": "210.140.131.226"
|
||||
},
|
||||
"accounts.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.226/"
|
||||
"IPAddress": "210.140.131.226"
|
||||
},
|
||||
"touch.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.226/"
|
||||
"IPAddress": "210.140.131.226"
|
||||
},
|
||||
"oauth.secure.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.226/"
|
||||
"IPAddress": "210.140.131.226"
|
||||
},
|
||||
"i.pximg.net": {
|
||||
"TlsSni": true,
|
||||
"Destination": "https://i.pixiv.cat/"
|
||||
"IPAddress": "210.140.92.143"
|
||||
},
|
||||
"sketch.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.174.37/"
|
||||
"IPAddress": "210.140.174.37"
|
||||
},
|
||||
"*.pixivsketch.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.214.211/"
|
||||
"IPAddress": "210.140.214.211"
|
||||
},
|
||||
"factory.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.180/"
|
||||
"IPAddress": "210.140.131.180"
|
||||
},
|
||||
"dic.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.222/"
|
||||
},
|
||||
"en-dic.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.222/"
|
||||
"*dic.pixiv.net": {
|
||||
"IPAddress": "210.140.131.222"
|
||||
},
|
||||
"sensei.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.222/"
|
||||
"IPAddress": "210.140.131.222"
|
||||
},
|
||||
"fanbox.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.222/"
|
||||
"IPAddress": "210.140.131.222"
|
||||
},
|
||||
"payment.pixiv.net.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.222/"
|
||||
"IPAddress": "210.140.131.222"
|
||||
},
|
||||
"imgaz.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.145/"
|
||||
"IPAddress": "210.140.131.145"
|
||||
},
|
||||
"comic.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.145/"
|
||||
"IPAddress": "210.140.131.145"
|
||||
},
|
||||
"novel.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.145/"
|
||||
"IPAddress": "210.140.131.145"
|
||||
},
|
||||
"source.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.145/"
|
||||
"IPAddress": "210.140.131.145"
|
||||
},
|
||||
"i*.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.145/"
|
||||
"IPAddress": "210.140.131.145"
|
||||
},
|
||||
"app-api.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.218/"
|
||||
},
|
||||
"*.pixiv.net": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true
|
||||
"IPAddress": "210.140.131.218"
|
||||
},
|
||||
"pixiv.org": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.158/"
|
||||
"IPAddress": "210.140.131.158"
|
||||
},
|
||||
"*.pixiv.org": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://210.140.131.158/"
|
||||
"IPAddress": "210.140.131.158"
|
||||
},
|
||||
"t.co": {
|
||||
"Response": {
|
||||
|
||||
@ -26,14 +26,10 @@
|
||||
"Destination": "https://fdn.geekzu.org/"
|
||||
},
|
||||
"i.imgur.com": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://151.101.196.193/"
|
||||
"IPAddress": "151.101.196.193"
|
||||
},
|
||||
"i.stack.imgur.com": {
|
||||
"TlsSni": false,
|
||||
"TlsIgnoreNameMismatch": true,
|
||||
"Destination": "https://151.101.196.193/"
|
||||
"IPAddress": "151.101.196.193"
|
||||
},
|
||||
"lh*.googleusercontent.com": {
|
||||
"Response": {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user