dns

package
v0.0.0-...-c887e26 Latest Latest
Warning

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

Go to latest
Published: May 2, 2024 License: AGPL-3.0 Imports: 15 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultDialer = net.Dialer{
	Timeout: time.Second * 8,
}
View Source
var DefaultResolver = &net.Resolver{
	PreferGo: true,
	Dial: func(ctx context.Context, _, _ string) (net.Conn, error) {
		if ip.IsIPv6Available.Get() {
			return IPv6Servers.DialContext(ctx, nil, terasu.DefaultFirstFragmentLen)
		}
		return IPv4Servers.DialContext(ctx, nil, terasu.DefaultFirstFragmentLen)
	},
}
View Source
var (
	ErrEmptyHostAddress = errors.New("empty host addr")
)
View Source
var (
	ErrNoDNSAvailable = errors.New("no dns available")
)
View Source
var IPv4Servers = DNSList{
	// contains filtered or unexported fields
}
View Source
var IPv6Servers = DNSList{
	// contains filtered or unexported fields
}

Functions

This section is empty.

Types

type DNSConfig

type DNSConfig struct {
	Servers   map[string][]string `yaml:"Servers"`   // Servers map[dot.com]ip:ports
	Fallbacks map[string][]string `yaml:"Fallbacks"` // Fallbacks map[domain]ips
}

type DNSList

type DNSList struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func (*DNSList) Add

func (ds *DNSList) Add(c *DNSConfig)

func (*DNSList) DialContext

func (ds *DNSList) DialContext(ctx context.Context, dialer *net.Dialer, firstFragmentLen uint8) (tlsConn *tls.Conn, err error)

func (*DNSList) LookupHostFallback

func (ds *DNSList) LookupHostFallback(ctx context.Context, host string) ([]string, error)

Jump to

Keyboard shortcuts

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