1
This commit is contained in:
parent
96ba425ae9
commit
c796300e9b
1 changed files with 19 additions and 19 deletions
|
|
@ -9,16 +9,16 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/miekg/dns"
|
||||
miekgDNS "github.com/miekg/dns"
|
||||
"github.com/spf13/viper"
|
||||
"github.com/zeevdiukman/z/helper"
|
||||
)
|
||||
|
||||
type ResponseWriter = dns.ResponseWriter
|
||||
type Msg = dns.Msg
|
||||
type HandlerFunc = dns.HandlerFunc
|
||||
type ResponseWriter = miekgDNS.ResponseWriter
|
||||
type Msg = miekgDNS.Msg
|
||||
type HandlerFunc = miekgDNS.HandlerFunc
|
||||
|
||||
// func(dns.ResponseWriter, *dns.Msg)
|
||||
// func(miekgDNS.ResponseWriter, *miekgDNS.Msg)
|
||||
type DNS struct {
|
||||
Config Config
|
||||
Server Server
|
||||
|
|
@ -32,11 +32,11 @@ type Config struct {
|
|||
}
|
||||
|
||||
type Server struct {
|
||||
*dns.Server
|
||||
*miekgDNS.Server
|
||||
}
|
||||
|
||||
type Mux struct {
|
||||
*dns.ServeMux
|
||||
*miekgDNS.ServeMux
|
||||
}
|
||||
|
||||
type Records struct {
|
||||
|
|
@ -75,14 +75,14 @@ func (a *DNS) ConfigInit(filePath string) {
|
|||
}
|
||||
func (a *DNS) ServerInit() {
|
||||
port := a.Config.GetInt("port")
|
||||
a.Server.Server = &dns.Server{
|
||||
a.Server.Server = &miekgDNS.Server{
|
||||
Addr: ":" + strconv.Itoa(port),
|
||||
Net: a.Config.GetString("network"),
|
||||
Handler: nil,
|
||||
}
|
||||
}
|
||||
func (a *DNS) MuxInit() {
|
||||
a.Mux.ServeMux = dns.NewServeMux()
|
||||
a.Mux.ServeMux = miekgDNS.NewServeMux()
|
||||
}
|
||||
|
||||
func NewResolver(DNSserverAddr string) *Resolver {
|
||||
|
|
@ -97,8 +97,8 @@ func NewResolver(DNSserverAddr string) *Resolver {
|
|||
}
|
||||
}
|
||||
|
||||
func (a *DNS) Handler(f func(a *DNS, w dns.ResponseWriter, r *dns.Msg)) dns.HandlerFunc {
|
||||
return func(w dns.ResponseWriter, r *dns.Msg) {
|
||||
func (a *DNS) Handler(f func(a *DNS, w miekgDNS.ResponseWriter, r *miekgDNS.Msg)) miekgDNS.HandlerFunc {
|
||||
return func(w miekgDNS.ResponseWriter, r *miekgDNS.Msg) {
|
||||
f(a, w, r)
|
||||
}
|
||||
}
|
||||
|
|
@ -117,9 +117,9 @@ func (r *Resolver) Lookup(lookupAddr string, DNSserverAddr string) string {
|
|||
return resp[0]
|
||||
}
|
||||
|
||||
func (a *DNS) HandleTypeA(w dns.ResponseWriter, r *dns.Msg) {
|
||||
func (a *DNS) HandleTypeA(w miekgDNS.ResponseWriter, r *miekgDNS.Msg) {
|
||||
t := time.Now()
|
||||
msg := &dns.Msg{}
|
||||
msg := &miekgDNS.Msg{}
|
||||
msg.SetReply(r)
|
||||
q := r.Question[0]
|
||||
domainName := helper.FtoD(q.Name)
|
||||
|
|
@ -143,19 +143,19 @@ func (a *DNS) HandleTypeA(w dns.ResponseWriter, r *dns.Msg) {
|
|||
}
|
||||
|
||||
}
|
||||
RR_Header := dns.RR_Header{
|
||||
Name: dns.Fqdn(domainName),
|
||||
Rrtype: dns.TypeA,
|
||||
Class: dns.ClassINET,
|
||||
RR_Header := miekgDNS.RR_Header{
|
||||
Name: miekgDNS.Fqdn(domainName),
|
||||
Rrtype: miekgDNS.TypeA,
|
||||
Class: miekgDNS.ClassINET,
|
||||
Ttl: 3600,
|
||||
}
|
||||
answer_typeA := &dns.A{
|
||||
answer_typeA := &miekgDNS.A{
|
||||
Hdr: RR_Header,
|
||||
A: net.ParseIP(ip).To4(),
|
||||
}
|
||||
msg.Authoritative = true
|
||||
msg.RecursionDesired = false
|
||||
msg.SetRcode(r, dns.RcodeSuccess)
|
||||
msg.SetRcode(r, miekgDNS.RcodeSuccess)
|
||||
msg.Answer = append(msg.Answer, answer_typeA)
|
||||
tt := time.Since(t)
|
||||
helper.P(tt, " => ", domainName)
|
||||
|
|
|
|||
Loading…
Reference in a new issue