37 lines
836 B
Go
Raw Normal View History

package protocolstate
import (
"github.com/pkg/errors"
2021-11-25 17:09:20 +02:00
"github.com/projectdiscovery/fastdialer/fastdialer"
"github.com/projectdiscovery/nuclei/v2/pkg/types"
)
2021-06-14 17:14:16 +05:30
// Dialer is a shared fastdialer instance for host DNS resolution
var Dialer *fastdialer.Dialer
2021-06-14 17:14:16 +05:30
// Init creates the Dialer instance based on user configuration
func Init(options *types.Options) error {
opts := fastdialer.DefaultOptions
if options.SystemResolvers {
opts.EnableFallback = true
}
if options.ResolversFile != "" {
opts.BaseResolvers = options.InternalResolversList
}
2021-11-22 09:51:13 +05:30
opts.WithDialerHistory = true
dialer, err := fastdialer.NewDialer(opts)
if err != nil {
2021-04-19 00:55:33 +05:30
return errors.Wrap(err, "could not create dialer")
}
Dialer = dialer
return nil
}
2021-06-14 17:14:16 +05:30
// Close closes the global shared fastdialer
func Close() {
if Dialer != nil {
Dialer.Close()
}
}