Help us shape the future of Go! Take the 2026 Go Developer Survey

resolve

package
v2.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2026 License: MIT Imports: 5 Imported by: 31

Documentation

Overview

Package resolve is used to handle resolving records It also handles wildcard subdomains and rotating resolvers.

Index

Constants

This section is empty.

Variables

View Source
var DefaultResolvers = []string{
	"1.1.1.1:53",
	"1.0.0.1:53",
	"8.8.8.8:53",
	"8.8.4.4:53",
	"9.9.9.9:53",
	"9.9.9.10:53",
	"77.88.8.8:53",
	"77.88.8.1:53",
	"208.67.222.222:53",
	"208.67.220.220:53",
}

DefaultResolvers contains the default list of resolvers known to be good

Functions

This section is empty.

Types

type HostEntry

type HostEntry struct {
	Domain              string
	Host                string
	Source              string
	WildcardCertificate bool
}

HostEntry defines a host with the source

type ResolutionPool

type ResolutionPool struct {
	*Resolver
	Tasks   chan HostEntry
	Results chan Result
	// contains filtered or unexported fields
}

ResolutionPool is a pool of resolvers created for resolving subdomains for a given host.

func (*ResolutionPool) InitWildcards

func (r *ResolutionPool) InitWildcards(domain string) error

InitWildcards inits the wildcard ips array

type Resolver

type Resolver struct {
	DNSClient *dnsx.DNSX
	Resolvers []string
	// contains filtered or unexported fields
}

Resolver is a struct for resolving DNS names

func New

func New() *Resolver

New creates a new resolver struct with the default resolvers

func (*Resolver) NewResolutionPool

func (r *Resolver) NewResolutionPool(workers int, removeWildcard bool) *ResolutionPool

NewResolutionPool creates a pool of resolvers for resolving subdomains of a given domain

func (*Resolver) NewResolutionPoolWithCtx added in v2.17.0

func (r *Resolver) NewResolutionPoolWithCtx(ctx context.Context, workers int, removeWildcard bool) *ResolutionPool

NewResolutionPoolWithCtx creates a pool that stops on cancellation. Producers must also observe ctx when sending Tasks, and close Tasks when finished.

func (*Resolver) WithConcurrencyLimit added in v2.17.0

func (r *Resolver) WithConcurrencyLimit(limit int) *Resolver

WithConcurrencyLimit returns a copy whose pools share a worker and lookup limit. The DNS client is shared; the original resolver is unchanged. Nonpositive limits use one slot.

type Result

type Result struct {
	Type                ResultType
	Host                string
	IP                  string
	Error               error
	Source              string
	WildcardCertificate bool
}

Result contains the result for a host resolution

type ResultType

type ResultType int

ResultType is the type of result found

const (
	Subdomain ResultType = iota
	Error
)

Types of data result can return

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL