Compare commits

...
2 Commits
Author SHA1 Message Date
Tarun Koyalwar cf5039e0d4 use net dialer 2025-04-18 21:59:46 +05:30
Tarun Koyalwar 10d3d99e36 increase idle conns 2025-04-18 21:53:34 +05:30
+13 -10
View File
@@ -17,7 +17,6 @@ import (
"golang.org/x/net/proxy"
"golang.org/x/net/publicsuffix"
"github.com/projectdiscovery/fastdialer/fastdialer/ja3/impersonate"
"github.com/projectdiscovery/nuclei/v3/pkg/protocols"
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate"
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/utils"
@@ -25,6 +24,7 @@ import (
"github.com/projectdiscovery/nuclei/v3/pkg/types/scanstrategy"
"github.com/projectdiscovery/rawhttp"
"github.com/projectdiscovery/retryablehttp-go"
"github.com/projectdiscovery/utils/env"
mapsutil "github.com/projectdiscovery/utils/maps"
urlutil "github.com/projectdiscovery/utils/url"
)
@@ -193,7 +193,7 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl
// Multiple Host
retryableHttpOptions := retryablehttp.DefaultOptionsSpraying
disableKeepAlives := true
maxIdleConns := 0
maxIdleConns := env.GetEnvOrDefault("MAX_IDLE_CONNS", 1000)
maxConnsPerHost := 0
maxIdleConnsPerHost := -1
// do not split given timeout into chunks for retry
@@ -263,15 +263,18 @@ func wrappedGet(options *types.Options, configuration *Configuration) (*retryabl
transport := &http.Transport{
ForceAttemptHTTP2: options.ForceAttemptHTTP2,
DialContext: protocolstate.GetDialer().Dial,
DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
return net.Dial(network, addr)
},
DialTLSContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
if options.TlsImpersonate {
return protocolstate.Dialer.DialTLSWithConfigImpersonate(ctx, network, addr, tlsConfig, impersonate.Random, nil)
}
if options.HasClientCertificates() || options.ForceAttemptHTTP2 {
return protocolstate.Dialer.DialTLSWithConfig(ctx, network, addr, tlsConfig)
}
return protocolstate.GetDialer().DialTLS(ctx, network, addr)
// if options.TlsImpersonate {
// return protocolstate.Dialer.DialTLSWithConfigImpersonate(ctx, network, addr, tlsConfig, impersonate.Random, nil)
// }
// if options.HasClientCertificates() || options.ForceAttemptHTTP2 {
// return protocolstate.Dialer.DialTLSWithConfig(ctx, network, addr, tlsConfig)
// }
// return protocolstate.GetDialer().DialTLS(ctx, network, addr)
return tls.Dial(network, addr, tlsConfig)
},
MaxIdleConns: maxIdleConns,
MaxIdleConnsPerHost: maxIdleConnsPerHost,