Versions in this module Expand all Collapse all v0 v0.1.2 Aug 12, 2025 v0.1.1 Apr 17, 2024 Changes in this version + const DefaultTimeout + const LDHChars + const MaxDNSLabelLen + const MaxDNSNameLen + const MaxLabelLen + const MinLabelLen + const RcodeNoResponse + func BackoffJitter(min, max time.Duration) time.Duration + func ExponentialBackoff(events int, delay time.Duration) time.Duration + func FQDNToRegistered(fqdn, registered string, callback func(domain string) bool) + func FirstProperSubdomain(ctx context.Context, r *Resolvers, name string) string + func QueryMsg(name string, qtype uint16) *dns.Msg + func RegisteredToFQDN(registered, fqdn string, callback func(domain string) bool) + func RemoveLastDot(name string) string + func ReverseMsg(addr string) *dns.Msg + func SetupOptions() *dns.OPT + func TruncatedExponentialBackoff(events int, delay, max time.Duration) time.Duration + func UnlikelyName(sub string) string + func WalkMsg(name string, qtype uint16) *dns.Msg + type ExtractedAnswer struct + Data string + Name string + Type uint16 + func AnswersByType(answers []*ExtractedAnswer, qtype uint16) []*ExtractedAnswer + func ExtractAnswers(msg *dns.Msg) []*ExtractedAnswer + type RateTracker struct + func NewRateTracker(isFixedResolver bool) *RateTracker + func (r *RateTracker) Stop() + func (r *RateTracker) Success(sub string) + func (r *RateTracker) Take(sub string) + func (r *RateTracker) Timeout(sub string) + type Resolvers struct + func NewResolvers() *Resolvers + func (r *Resolvers) AddResolvers(qps int, addrs ...string) error + func (r *Resolvers) ClientSubnetCheck() + func (r *Resolvers) Len() int + func (r *Resolvers) NsecTraversal(ctx context.Context, domain string) ([]*dns.NSEC, error) + func (r *Resolvers) QPS() int + func (r *Resolvers) Query(ctx context.Context, msg *dns.Msg, ch chan *dns.Msg) + func (r *Resolvers) QueryBlocking(ctx context.Context, msg *dns.Msg) (*dns.Msg, error) + func (r *Resolvers) QueryChan(ctx context.Context, msg *dns.Msg) chan *dns.Msg + func (r *Resolvers) SetDetectionResolver(qps int, addr string) + func (r *Resolvers) SetLogger(l *log.Logger) + func (r *Resolvers) SetMaxQPS(qps int) + func (r *Resolvers) SetRateTracker(rt *RateTracker) + func (r *Resolvers) SetThresholdOptions(opt *ThresholdOptions) + func (r *Resolvers) SetTimeout(d time.Duration) + func (r *Resolvers) Stop() + func (r *Resolvers) WildcardDetected(ctx context.Context, resp *dns.Msg, domain string) bool + type ThresholdOptions struct + CountFormatErrors bool + CountNotImplemented bool + CountQueryRefusals bool + CountServerFailures bool + CountTimeouts bool + CumulativeAccumulation bool + ThresholdValue uint64