Documentation ¶
Index ¶
Constants ¶
View Source
const ( FailHistoryLength = 25 FailHistoryThreshold = 5 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArpaHandler ¶
type ArpaHandler struct {
// contains filtered or unexported fields
}
func NewArpaHandler ¶
func NewArpaHandler(h DNSHandler, logger Logger) ArpaHandler
func (ArpaHandler) ServeDNS ¶
func (a ArpaHandler) ServeDNS(w dns.ResponseWriter, req *dns.Msg)
type BuildOpts ¶
type BuildOpts struct { ListenAddrs []string // include port RecursorAddrs []string // include port DomainsMapFunc DomainsMapFunc DomainsChangedFunc DomainsChangedFunc }
type CustomHandler ¶
type CustomHandler struct {
// contains filtered or unexported fields
}
func NewCustomHandler ¶
func NewCustomHandler(ipResolver IPResolver, logger Logger) CustomHandler
func (CustomHandler) ServeDNS ¶
func (d CustomHandler) ServeDNS(responseWriter dns.ResponseWriter, requestMsg *dns.Msg)
type DNSHandler ¶
type DomainsChangedFunc ¶ added in v0.0.3
type DomainsChangedFunc func()
type DomainsMapFunc ¶ added in v0.0.3
type DomainsMapFunc func() (map[string]IPResolver, error)
type DomainsMux ¶ added in v0.0.2
type DomainsMux struct {
// contains filtered or unexported fields
}
func NewDomainsMux ¶ added in v0.0.2
func NewDomainsMux(mux *dns.ServeMux, mapFunc DomainsMapFunc, changedFunc DomainsChangedFunc, logger Logger) *DomainsMux
func (*DomainsMux) ServeDNS ¶ added in v0.0.2
func (m *DomainsMux) ServeDNS(w dns.ResponseWriter, r *dns.Msg)
func (*DomainsMux) UpdateContiniously ¶ added in v0.0.3
func (m *DomainsMux) UpdateContiniously()
UpdateContiniously and UpdateOnce are not thread safe
func (*DomainsMux) UpdateOnce ¶ added in v0.0.3
func (m *DomainsMux) UpdateOnce() error
type FailoverRecursorPool ¶
type FailoverRecursorPool struct {
// contains filtered or unexported fields
}
func (*FailoverRecursorPool) PerformStrategically ¶
func (q *FailoverRecursorPool) PerformStrategically(work func(string) error) error
type ForwardHandler ¶
type ForwardHandler struct {
// contains filtered or unexported fields
}
func NewForwardHandler ¶
func NewForwardHandler(recursors RecursorPool, logger Logger) ForwardHandler
func (ForwardHandler) ServeDNS ¶
func (r ForwardHandler) ServeDNS(responseWriter dns.ResponseWriter, request *dns.Msg)
type IPResolver ¶
type RecursorPool ¶
func NewFailoverRecursorPool ¶
func NewFailoverRecursorPool(recursors []string, logger Logger) RecursorPool
type ResolvConf ¶
type ResolvConf struct{}
func NewResolvConf ¶
func NewResolvConf() ResolvConf
func (ResolvConf) Nameservers ¶
func (r ResolvConf) Nameservers() ([]net.IP, error)
type StaticIPsResolver ¶ added in v0.0.2
type StaticIPsResolver struct {
// contains filtered or unexported fields
}
func NewStaticIPsResolver ¶ added in v0.0.2
func NewStaticIPsResolver(ips []net.IP) StaticIPsResolver
func (StaticIPsResolver) ResolveIPv4 ¶ added in v0.0.2
func (StaticIPsResolver) ResolveIPv6 ¶ added in v0.0.2
func (StaticIPsResolver) String ¶ added in v0.0.3
func (r StaticIPsResolver) String() string
Click to show internal directories.
Click to hide internal directories.