dns

package
v0.0.0-...-bb27e5e Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2026 License: AGPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DoHServer

type DoHServer struct {
	// contains filtered or unexported fields
}

DoHServer DNS-over-HTTPS服务器

func NewDoHServer

func NewDoHServer(cfg *config.Config, handler dns.Handler) (*DoHServer, error)

NewDoHServer 创建DoH服务器

func (*DoHServer) Start

func (d *DoHServer) Start() error

Start 启动DoH服务器

func (*DoHServer) Stop

func (d *DoHServer) Stop() error

Stop 停止DoH服务器

type DoTServer

type DoTServer struct {
	// contains filtered or unexported fields
}

DoTServer DNS-over-TLS服务器

func NewDoTServer

func NewDoTServer(cfg *config.Config, handler dns.Handler) (*DoTServer, error)

NewDoTServer 创建DoT服务器

func (*DoTServer) Start

func (d *DoTServer) Start() error

Start 启动DoT服务器

func (*DoTServer) Stop

func (d *DoTServer) Stop() error

Stop 停止DoT服务器

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

Handler 实现DNS请求处理器

func NewHandler

func NewHandler(server *Server) *Handler

NewHandler 创建一个新的DNS处理器

func (*Handler) GetRequestCount

func (h *Handler) GetRequestCount() uint64

GetRequestCount 获取DNS请求计数

func (*Handler) ResetRequestCount

func (h *Handler) ResetRequestCount() uint64

ResetRequestCount 重置DNS请求计数

func (*Handler) ServeDNS

func (h *Handler) ServeDNS(w dns.ResponseWriter, r *dns.Msg)

ServeDNS 处理DNS请求

func (*Handler) SetController

func (h *Handler) SetController(ctrl *access.Controller)

SetController 设置访问控制器

func (*Handler) SetWhitelist

func (h *Handler) SetWhitelist(whitelist *access.WhitelistTable)

SetWhitelist 设置白名单表

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server 表示DNS服务器

func NewServer

func NewServer(cfg *config.Config) (*Server, error)

NewServer 创建一个新的DNS服务器实例

func (*Server) GetDNSCache

func (s *Server) GetDNSCache() *cache.DNSCache

GetDNSCache 获取 DNS 缓存

func (*Server) GetHandler

func (s *Server) GetHandler() *Handler

GetHandler 获取DNS处理器

func (*Server) GetHostsManager

func (s *Server) GetHostsManager() *hosts.Manager

GetHostsManager 获取 Hosts 管理器

func (*Server) GetRecordStore

func (s *Server) GetRecordStore() *remote.RecordStore

GetRecordStore 获取记录存储

func (*Server) GetRulesEngine

func (s *Server) GetRulesEngine() *rules.Engine

GetRulesEngine 获取分流规则引擎

func (*Server) Resolve

func (s *Server) Resolve(ctx context.Context, domain string, qtype uint16) ([]net.IP, error)

Resolve 解析DNS查询(只使用系统解析器)

func (*Server) ResolveWithSource

func (s *Server) ResolveWithSource(ctx context.Context, domain string, qtype uint16, sourceIP net.IP) ([]net.IP, error)

ResolveWithSource 根据源IP解析DNS查询

func (*Server) SetDNSCache

func (s *Server) SetDNSCache(dnsCache *cache.DNSCache)

SetDNSCache 设置 DNS 缓存

func (*Server) SetHostsManager

func (s *Server) SetHostsManager(manager *hosts.Manager)

SetHostsManager 设置 Hosts 管理器

func (*Server) SetRulesEngine

func (s *Server) SetRulesEngine(engine *rules.Engine)

SetRulesEngine 设置分流规则引擎

func (*Server) Start

func (s *Server) Start() error

Start 启动DNS服务器

func (*Server) Stop

func (s *Server) Stop() error

Stop 停止DNS服务器

type UpstreamCache

type UpstreamCache struct {
	// contains filtered or unexported fields
}

UpstreamCache 上游DNS查询缓存(独立于记录表)

func NewUpstreamCache

func NewUpstreamCache(maxSize int, defaultTTL time.Duration) *UpstreamCache

NewUpstreamCache 创建上游缓存

func (*UpstreamCache) Clear

func (c *UpstreamCache) Clear()

Clear 清空缓存

func (*UpstreamCache) Count

func (c *UpstreamCache) Count() int

Count 返回缓存数量

func (*UpstreamCache) Delete

func (c *UpstreamCache) Delete(domain string, qtype uint16)

Delete 删除缓存

func (*UpstreamCache) Get

func (c *UpstreamCache) Get(domain string, qtype uint16) ([]net.IP, bool)

Get 获取缓存

func (*UpstreamCache) Set

func (c *UpstreamCache) Set(domain string, qtype uint16, ips []net.IP, ttl time.Duration)

Set 设置缓存

func (*UpstreamCache) Stop

func (c *UpstreamCache) Stop()

Stop 停止缓存

Jump to

Keyboard shortcuts

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