dns

package
v5.0.1 Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2022 License: MIT Imports: 4 Imported by: 14

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrEmptyResponse = errors.New("empty response")

ErrEmptyResponse indicates that DNS query succeeded but no answer was returned.

Functions

func ClientType

func ClientType() interface{}

ClientType returns the type of Client interface. Can be used for implementing common.HasType.

v2ray:api:beta

func RCodeFromError

func RCodeFromError(err error) uint16

Types

type Client

type Client interface {
	features.Feature

	// LookupIP returns IP address for the given domain. IPs may contain IPv4 and/or IPv6 addresses.
	LookupIP(domain string) ([]net.IP, error)
}

Client is a V2Ray feature for querying DNS information.

v2ray:api:stable

type ClientWithIPOption

type ClientWithIPOption interface {
	// GetIPOption returns IPOption for the DNS client.
	GetIPOption() *IPOption

	// SetQueryOption sets IPv4Enable and IPv6Enable for the DNS client.
	SetQueryOption(isIPv4Enable, isIPv6Enable bool)

	// SetFakeDNSOption sets FakeEnable option for DNS client.
	SetFakeDNSOption(isFakeEnable bool)
}

ClientWithIPOption is an optional feature for querying DNS information.

v2ray:api:beta

type FakeDNSEngine

type FakeDNSEngine interface {
	features.Feature
	GetFakeIPForDomain(domain string) []net.Address
	GetDomainFromFakeDNS(ip net.Address) string
}

type FakeDNSEngineRev0

type FakeDNSEngineRev0 interface {
	FakeDNSEngine
	IsIPInIPPool(ip net.Address) bool
	GetFakeIPForDomain3(domain string, IPv4, IPv6 bool) []net.Address
}

type IPOption

type IPOption struct {
	IPv4Enable bool
	IPv6Enable bool
	FakeEnable bool
}

IPOption is an object for IP query options.

type IPv4Lookup

type IPv4Lookup interface {
	LookupIPv4(domain string) ([]net.IP, error)
}

IPv4Lookup is an optional feature for querying IPv4 addresses only.

v2ray:api:beta

type IPv6Lookup

type IPv6Lookup interface {
	LookupIPv6(domain string) ([]net.IP, error)
}

IPv6Lookup is an optional feature for querying IPv6 addresses only.

v2ray:api:beta

type RCodeError

type RCodeError uint16

func (RCodeError) Error

func (e RCodeError) Error() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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