Documentation ¶
Index ¶
- Constants
- func NewCache() *lru.Cache
- type DnsClient
- func (client *DnsClient) DnsResolver(m *dns.Msg) (*dns.Msg, error)
- func (client *DnsClient) GetDnsData(targetDomain string) *DomainData
- func (client *DnsClient) GetNameserver() string
- func (client *DnsClient) GetRetryDnsServer() string
- func (client *DnsClient) RatelimitRequests()
- func (client *DnsClient) Start()
- type DomainData
- type IpSet
- type LruCache
- type MXData
- type NSData
- type TargetLookup
Constants ¶
View Source
const (
ErrNoData = "NODATA"
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DnsClient ¶
type DnsClient struct { Resolver *resolvers.Resolver RetryResolvers *resolvers.RetryResolver TargetLookupCh chan TargetLookup ClientId int Cache *LruCache Log *log.Logger Ratelimit int Nameserver string Nameservers struct { Ips []string // contains filtered or unexported fields } // contains filtered or unexported fields }
func NewDnsClient ¶
func NewDnsClient() *DnsClient
func (*DnsClient) GetDnsData ¶
func (client *DnsClient) GetDnsData(targetDomain string) *DomainData
func (*DnsClient) GetNameserver ¶
func (*DnsClient) GetRetryDnsServer ¶
func (*DnsClient) RatelimitRequests ¶
func (client *DnsClient) RatelimitRequests()
type DomainData ¶
type DomainData struct { Name string `json:"name"` Data struct { SOA soaData `json:"soa"` NS map[string]IpSet `json:"ns"` MX map[int]map[string]IpSet `json:"mx"` TXT []string `json:"txt"` CName []string `json:"cname"` A []string `json:"a"` AAAA []string `json:"aaaa"` CNamePaths map[string][][]string `json:"cname_paths"` } `json:"data"` Timestamp time.Time `json:"timestamp"` Status string `json:"status"` Errors map[string]string `json:"errors"` }
DomainData stored the full set of dns records for the domain
func NewDomainData ¶
func NewDomainData() *DomainData
func (*DomainData) Validate ¶
func (dns *DomainData) Validate() bool
type LruCache ¶
func NewLruCache ¶
func NewLruCache() *LruCache
type TargetLookup ¶
type TargetLookup struct { Domain string DomainDataCh chan DomainData }
Click to show internal directories.
Click to hide internal directories.