Documentation
¶
Index ¶
- Variables
- type Client
- func (c *Client) MultiQuery(ctx context.Context, domain string, qtype uint16) (*MultiQueryResult, error)
- func (c *Client) MultiQueryA(ctx context.Context, domain string) (*MultiQueryResult, error)
- func (c *Client) MultiQueryAAAA(ctx context.Context, domain string) (*MultiQueryResult, error)
- func (c *Client) Query(ctx context.Context, domain string, qtype uint16) (*QueryResult, error)
- func (c *Client) QueryA(ctx context.Context, domain string) (*QueryResult, error)
- func (c *Client) QueryAAAA(ctx context.Context, domain string) (*QueryResult, error)
- func (c *Client) QueryCNAME(ctx context.Context, domain string) (*QueryResult, error)
- func (c *Client) QueryMX(ctx context.Context, domain string) (*QueryResult, error)
- func (c *Client) QueryTXT(ctx context.Context, domain string) (*QueryResult, error)
- type Config
- type MultiQueryResult
- type Option
- func WithHTTPClient(client *http.Client) Option
- func WithHTTPProxy(addr string, auth *ProxyAuth) Option
- func WithProtocol(protocol Protocol) Option
- func WithRetries(retries int) Option
- func WithSOCKS5Proxy(addr string, auth *ProxyAuth) Option
- func WithServers(servers ...string) Option
- func WithTLSConfig(tlsConfig *tls.Config) Option
- func WithTimeout(timeout time.Duration) Option
- type Protocol
- type ProxyAuth
- type ProxyType
- type QueryResult
- type Record
Constants ¶
This section is empty.
Variables ¶
View Source
var DoHServers = []string{
"https://dns.alidns.com/dns-query",
"https://doh.pub/dns-query",
"https://1.12.12.12/dns-query",
"https://1.1.1.1/dns-query",
}
View Source
var DoTServers = []string{
"223.5.5.5:853",
"1.12.12.12:853",
"8.8.8.8:853",
"1.1.1.1:853",
}
View Source
var UDPServers = []string{
"223.5.5.5:53",
"114.114.114.114:53",
"1.12.12.12:53",
"120.53.53.53:53",
"119.29.29.29:53",
"8.8.8.8:53",
"1.1.1.1:53",
}
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client DNS客户端
func (*Client) MultiQuery ¶
func (c *Client) MultiQuery(ctx context.Context, domain string, qtype uint16) (*MultiQueryResult, error)
MultiQuery 多DNS服务器查询
func (*Client) MultiQueryA ¶
MultiQueryA 多DNS服务器查询A记录
func (*Client) MultiQueryAAAA ¶
MultiQueryAAAA 多DNS服务器查询AAAA记录
func (*Client) QueryCNAME ¶
QueryCNAME 查询CNAME记录
type Config ¶
type Config struct {
// 基础配置
Timeout time.Duration
Retries int
Protocol Protocol
// 服务器配置
Servers []string
// 代理配置
ProxyType ProxyType
ProxyAddr string
ProxyAuth *ProxyAuth
// TLS配置
TLSConfig *tls.Config
// HTTP配置(用于DoH)
HTTPClient *http.Client
}
Config 配置选项
type MultiQueryResult ¶
type MultiQueryResult struct {
Domain string
Type uint16
Results []QueryResult
AllIPs []string // 所有查询到的IP地址
}
MultiQueryResult 多DNS查询结果
type Option ¶
type Option func(*Config)
Option 配置选项函数
func WithHTTPClient ¶
func WithHTTPProxy ¶
func WithProtocol ¶
func WithRetries ¶
func WithSOCKS5Proxy ¶
func WithServers ¶
func WithTLSConfig ¶
type QueryResult ¶
QueryResult 查询结果
Click to show internal directories.
Click to hide internal directories.