增加超时时间配置

This commit is contained in:
xljiulang 2021-07-18 01:37:43 +08:00
parent eef6d573f4
commit 519556203c
4 changed files with 21 additions and 19 deletions

View File

@ -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

View File

@ -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);
} }

View File

@ -10,36 +10,30 @@
}, },
"DomainConfigs": { // *0 "DomainConfigs": { // *0
"github.com": { "github.com": {
"TlsSni": false, "TlsSni": false, // tlsSNIfalse,
"Destination": null "Timeout": null, // "00:02:00"null
"Destination": null // Urinull
}, },
"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,

View File

@ -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)