Versions in this module Expand all Collapse all v0 v0.1.1 Jul 29, 2017 v0.1.0 Jul 29, 2017 Changes in this version + const AddrDomain + const AddrIPv4 + const AddrIPv6 + func InitGlobals(ipc ipcache, domainc domaincache, dm DomainMatcher, ...) + func MsgExchangeOverGoogleDOH(req *dns.Msg, rt http.RoundTripper) (resp *dns.Msg, err error) + func MsgExtractAnswer(msg *dns.Msg) (dns.RR, net.IP) + func MsgNewReplyFromReq(req *dns.Msg, answer ...dns.RR) *dns.Msg + func MsgSetECSWithAddr(m *dns.Msg, addr net.IP) + func NewDnsTransport(nameserver, net string, _proxy proxy.Dialer) *dnsTransport + func NewDomaincache(defaultExpiration, cleanupInterval time.Duration) domaincache + func NewIpcache(defaultExpiration, cleanupInterval time.Duration) ipcache + func RRNewFromGoogleDohRR(grr google.DNSRR) dns.RR + func ServeDNS(laddr string) error + func ServeProxy(laddr string, proxy, direct *gost.ProxyChain) error + type DomainMatcher interface + MatchGFW func(domain string) bool + MatchObedient func(domain string) bool