resolve

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package resolve is used to handle resolving records It also handles wildcard urls 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 {
	Query  string
	Host   string
	Source string
}

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 urls for a given host.

func (*ResolutionPool) InitWildcards

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

InitWildcards inits the wildcard ips array

type Resolver

type Resolver struct {
	DNSClient *dnsx.DNSX
	Resolvers []string
}

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 url

type Result

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

Result contains the result for a host resolution

type ResultType

type ResultType int

ResultType is the type of result found

const (
	Url 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