Merge remote-tracking branch 'origin/main' into dev
测试构建 / 代码检查 (push) Canceled after 0s
测试构建 / 单元测试和构建 (push) Canceled after 0s
测试构建 / 构建验证 (push) Canceled after 0s

This commit is contained in:
ZacharyZcR
2026-08-26 04:34:51 +08:00
+14 -1
View File
@@ -11,6 +11,7 @@ import (
"os"
"strconv"
"strings"
"sync"
"time"
"github.com/shadow1ng/fscan/common"
@@ -31,6 +32,8 @@ const (
ProxySocks5URL = "socks5://127.0.0.1:1080"
)
var gmtlsStdoutMu sync.Mutex
// 全局HTTP客户端变量
var (
Client *http.Client // 标准HTTP客户端
@@ -202,10 +205,20 @@ func InitHTTPClient(ThreadsNum int, DownProxy string, Timeout time.Duration, max
Timeout: dialTimeout,
KeepAlive: keepAlive,
}
return gmtls.DialWithDialer(dialer, network, addr, &gmtls.Config{
// 抑制 gmtls 库的 fmt.Println("handshake error") 噪声
gmtlsStdoutMu.Lock()
orig := os.Stdout
if devNull, err := os.OpenFile(os.DevNull, os.O_WRONLY, 0); err == nil {
os.Stdout = devNull
defer devNull.Close()
}
conn, err := gmtls.DialWithDialer(dialer, network, addr, &gmtls.Config{
GMSupport: gmtls.NewGMSupport(),
InsecureSkipVerify: true,
})
os.Stdout = orig
gmtlsStdoutMu.Unlock()
return conn, err
},
MaxConnsPerHost: 20,
MaxIdleConns: 20,