prox5/mr_worldwide.go

34 lines
984 B
Go
Raw Normal View History

package prox5
import (
"context"
"crypto/tls"
"net"
"net/http"
)
// GetHTTPClient retrieves a pointer to an http.Client powered by MysteryDialer.
2022-10-16 10:53:04 +00:00
func (p5 *ProxyEngine) GetHTTPClient() *http.Client {
var dctx func(ctx context.Context, network string, addr string) (net.Conn, error)
2022-09-22 23:48:08 +00:00
dctx = p5.DialContext
return &http.Client{
Transport: &http.Transport{
// Proxy: htp,
DialContext: dctx,
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
2022-09-22 23:48:08 +00:00
TLSHandshakeTimeout: p5.GetServerTimeout(),
DisableKeepAlives: true,
DisableCompression: false,
MaxIdleConnsPerHost: 5,
2022-09-22 23:48:08 +00:00
IdleConnTimeout: p5.GetServerTimeout(),
ResponseHeaderTimeout: p5.GetServerTimeout(),
},
2022-09-22 23:48:08 +00:00
Timeout: p5.GetServerTimeout(),
}
}
// RoundTrip is Mr. WorldWide. Obviously. See: https://pkg.go.dev/net/http#RoundTripper
2022-10-16 10:53:04 +00:00
func (p5 *ProxyEngine) RoundTrip(req *http.Request) (*http.Response, error) {
2022-09-22 23:48:08 +00:00
return p5.GetHTTPClient().Do(req)
}