From 73a0043f2d88c81463e07ba6b0c2dc40e7670aa7 Mon Sep 17 00:00:00 2001 From: anykno Date: Fri, 1 Jul 2022 18:01:00 +0800 Subject: [PATCH] fix: socks5 proxy not working on https target (#2228) * fix: socks5 proxy not working on https target * small name refactor Co-authored-by: mzack --- v2/pkg/protocols/http/httpclientpool/clientpool.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/v2/pkg/protocols/http/httpclientpool/clientpool.go b/v2/pkg/protocols/http/httpclientpool/clientpool.go index 4448d339b..9b45367a0 100644 --- a/v2/pkg/protocols/http/httpclientpool/clientpool.go +++ b/v2/pkg/protocols/http/httpclientpool/clientpool.go @@ -221,6 +221,14 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl }) if proxyErr == nil { transport.DialContext = dc.DialContext + transport.DialTLSContext = func(ctx context.Context, network, addr string) (net.Conn, error) { + // upgrade proxy connection to tls + conn, err := dc.DialContext(ctx, network, addr) + if err != nil { + return nil, err + } + return tls.Client(conn, tlsConfig), nil + } } }