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" "os"
"strconv" "strconv"
"strings" "strings"
"sync"
"time" "time"
"github.com/shadow1ng/fscan/common" "github.com/shadow1ng/fscan/common"
@@ -31,6 +32,8 @@ const (
ProxySocks5URL = "socks5://127.0.0.1:1080" ProxySocks5URL = "socks5://127.0.0.1:1080"
) )
var gmtlsStdoutMu sync.Mutex
// 全局HTTP客户端变量 // 全局HTTP客户端变量
var ( var (
Client *http.Client // 标准HTTP客户端 Client *http.Client // 标准HTTP客户端
@@ -202,10 +205,20 @@ func InitHTTPClient(ThreadsNum int, DownProxy string, Timeout time.Duration, max
Timeout: dialTimeout, Timeout: dialTimeout,
KeepAlive: keepAlive, 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(), GMSupport: gmtls.NewGMSupport(),
InsecureSkipVerify: true, InsecureSkipVerify: true,
}) })
os.Stdout = orig
gmtlsStdoutMu.Unlock()
return conn, err
}, },
MaxConnsPerHost: 20, MaxConnsPerHost: 20,
MaxIdleConns: 20, MaxIdleConns: 20,