Categorygithub.com/noisysockets/resolver
modulepackage
0.14.2
Repository: https://github.com/noisysockets/resolver.git
Documentation: pkg.go.dev

# README

Resolver

A pure Go DNS resolver implementation, designed to be a drop in replacement for net.Resolver.

Features

  • Pure Go implementation.
  • DNS over UDP, TCP, and TLS.
  • Fluent and expressive API (allowing sophisticated resolution strategies).
  • Parallel query support.
  • Custom dialer support.

TODOs

  • Support for /etc/resolvers/ see: Go #12524, might make sense to shell out to scutil --dns.
  • DNS over HTTPS support.
  • DNSSEC support?
  • Multicast DNS support, RFC 6762?
  • Non recursive DNS server support?

# Packages

No description provided by the author

# Functions

DNS creates a new DNS resolver.
DNS64 returns a resolver that synthesizes IPv6 addresses from IPv4 addresses using DNS64 (RFC 6147).
Domain returns the domain of the local machine.
No description provided by the author
Literal returns a resolver that resolves IP literals.
Parallel returns a resolver that tries each resolver in parallel until one succeeds.
Relative returns a resolver that resolves relative hostnames.
Retry returns a resolver that retries a resolver a number of times.
RoundRobin returns a Resolver that load balances between multiple resolvers using a round-robin strategy.
Sequential returns a resolver that tries each resolver in order until one succeeds.
System returns a Resolver that uses the system's default DNS configuration.

# Constants

DNSTransportTCP is DNS over TCP as defined in RFC 1035.
DNSTransportTLS is DNS over TLS as defined in RFC 7858.
DNSTransportUDP is DNS over UDP as defined in RFC 1035.

# Variables

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

DNS64ResolverConfig is the configuration for a DNS64 resolver.
DNSResolverConfig is the configuration for a DNS resolver.
No description provided by the author
No description provided by the author
RelativeResolverConfig is the configuration for a relative domain resolver.
RetryResolverConfig is the configuration for a retry resolver.
SystemResolverConfig is the configuration for a system resolver.

# Interfaces

Resolver looks up names and numbers, this interface is also implemented by net.Resolver from the Go standard library.

# Type aliases

DialContextFunc is a network dialer that can be used to dial a network.
DNSTransport is the transport protocol used for DNS resolution.