增加超时时间配置
This commit is contained in:
parent
eef6d573f4
commit
519556203c
@ -12,6 +12,11 @@ namespace FastGithub
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool TlsSni { get; set; }
|
public bool TlsSni { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 请求超时时长
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan? Timeout { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 目的地
|
/// 目的地
|
||||||
/// 格式为相对或绝对uri
|
/// 格式为相对或绝对uri
|
||||||
|
|||||||
@ -47,11 +47,13 @@ namespace FastGithub.ReverseProxy
|
|||||||
}
|
}
|
||||||
|
|
||||||
var destinationPrefix = GetDestinationPrefix(host, domainConfig.Destination);
|
var destinationPrefix = GetDestinationPrefix(host, domainConfig.Destination);
|
||||||
|
var requestConfig = new ForwarderRequestConfig { Timeout = domainConfig.Timeout };
|
||||||
|
|
||||||
var httpClient = domainConfig.TlsSni
|
var httpClient = domainConfig.TlsSni
|
||||||
? new HttpMessageInvoker(this.sniHttpClientHanlder, disposeHandler: false)
|
? new HttpMessageInvoker(this.sniHttpClientHanlder, disposeHandler: false)
|
||||||
: new HttpMessageInvoker(this.noSniHttpClientHanlder, disposeHandler: false);
|
: new HttpMessageInvoker(this.noSniHttpClientHanlder, disposeHandler: false);
|
||||||
|
|
||||||
var error = await httpForwarder.SendAsync(context, destinationPrefix, httpClient);
|
var error = await httpForwarder.SendAsync(context, destinationPrefix, httpClient, requestConfig);
|
||||||
await ResponseErrorAsync(context, error);
|
await ResponseErrorAsync(context, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -10,36 +10,30 @@
|
|||||||
},
|
},
|
||||||
"DomainConfigs": { // 域名的*表示0到多个任意字符
|
"DomainConfigs": { // 域名的*表示0到多个任意字符
|
||||||
"github.com": {
|
"github.com": {
|
||||||
"TlsSni": false,
|
"TlsSni": false, // 指示tls握手时是否发送SNI,默认为false,
|
||||||
"Destination": null
|
"Timeout": null, // 请求超时时长,格式为"00:02:00",默认为null
|
||||||
|
"Destination": null // 请求目的地,格式为绝对或相对Uri,默认null
|
||||||
},
|
},
|
||||||
"githubstatus.com": {
|
"githubstatus.com": {
|
||||||
"TlsSni": false,
|
"TlsSni": false
|
||||||
"Destination": null
|
|
||||||
},
|
},
|
||||||
"*.github.com": {
|
"*.github.com": {
|
||||||
"TlsSni": false,
|
"TlsSni": false
|
||||||
"Destination": null
|
|
||||||
},
|
},
|
||||||
"*.github.io": {
|
"*.github.io": {
|
||||||
"TlsSni": false,
|
"TlsSni": false
|
||||||
"Destination": null
|
|
||||||
},
|
},
|
||||||
"*.githubapp.com": {
|
"*.githubapp.com": {
|
||||||
"TlsSni": false,
|
"TlsSni": false
|
||||||
"Destination": null
|
|
||||||
},
|
},
|
||||||
"*.githubassets.com": {
|
"*.githubassets.com": {
|
||||||
"TlsSni": false,
|
"TlsSni": false
|
||||||
"Destination": null
|
|
||||||
},
|
},
|
||||||
"*.githubusercontent.com": {
|
"*.githubusercontent.com": {
|
||||||
"TlsSni": false,
|
"TlsSni": false
|
||||||
"Destination": null
|
|
||||||
},
|
},
|
||||||
"*github*.s3.amazonaws.com": {
|
"*github*.s3.amazonaws.com": {
|
||||||
"TlsSni": false,
|
"TlsSni": false
|
||||||
"Destination": null
|
|
||||||
},
|
},
|
||||||
"ajax.googleapis.com": {
|
"ajax.googleapis.com": {
|
||||||
"TlsSni": true,
|
"TlsSni": true,
|
||||||
|
|||||||
@ -4,7 +4,8 @@ github加速神器
|
|||||||
### 加速原理
|
### 加速原理
|
||||||
* 修改本机的dns服务指向FastGithub自身
|
* 修改本机的dns服务指向FastGithub自身
|
||||||
* 解析匹配的域名为FastGithub自身的ip
|
* 解析匹配的域名为FastGithub自身的ip
|
||||||
* 请求信任的dns服务(dnscrypt-proxy)获取域名的ip并进行无SNI的https反向代理
|
* 请求不受污染的dns服务(dnscrypt-proxy)获取域名的ip
|
||||||
|
* 使用得到的ip进行无或有SNI的https反向代理
|
||||||
|
|
||||||
### 程序下载
|
### 程序下载
|
||||||
[下载最新发布版本](https://gitee.com/jiulang/fast-github)
|
[下载最新发布版本](https://gitee.com/jiulang/fast-github)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user