resolver

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: May 4, 2024 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultFakeIPDnsRecordTTL  = 60 * time.Second
	DefaultFakeIPCacheInterval = 30 * time.Second
)
View Source
var (
	// DefaultDnsNameservers default dns nameservers
	DefaultDnsNameservers = []string{
		"114.114.114.114",
		"8.8.8.8",
	}
)

Functions

This section is empty.

Types

type DnsServer

type DnsServer struct {
	Addr string
	Port int
	// contains filtered or unexported fields
}

func NewDnsServer

func NewDnsServer(addr string) *DnsServer

func (*DnsServer) Close

func (s *DnsServer) Close() error

func (*DnsServer) LocalAddress

func (s *DnsServer) LocalAddress() string

func (*DnsServer) Start

func (s *DnsServer) Start() error

type Record

type Record struct {
	Domain string
	FakeIP netip.Addr
	Query  *dns.Msg
	Reply  *dns.Msg
}

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}
var DefaultResolver *Resolver

func NewDnsResolver

func NewDnsResolver(nameservers []string) *Resolver

func (*Resolver) EnableEnhancerMode

func (r *Resolver) EnableEnhancerMode(tunCIDR string) (err error)

func (Resolver) FindByIP

func (r Resolver) FindByIP(ip netip.Addr) (*Record, error)

func (Resolver) GetAllocatedDnsIP

func (r Resolver) GetAllocatedDnsIP() netip.Addr

func (Resolver) GetAllocatedTunPrefix

func (r Resolver) GetAllocatedTunPrefix() netip.Prefix

func (*Resolver) IsEnhancerMode

func (r *Resolver) IsEnhancerMode() bool

func (Resolver) IsFakeIP

func (r Resolver) IsFakeIP(ip netip.Addr) bool

func (*Resolver) LookupHost

func (r *Resolver) LookupHost(ctx context.Context, host string) netip.Addr

func (*Resolver) LookupIP

func (r *Resolver) LookupIP(ctx context.Context, host string) ([]netip.Addr, error)

func (*Resolver) Query

func (r *Resolver) Query(req *dns.Msg) (reply *dns.Msg, err error)

Jump to

Keyboard shortcuts

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