forked from loweel/zabov
				
			
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
package main
 | 
						|
 | 
						|
import (
 | 
						|
	"log"
 | 
						|
 | 
						|
	"github.com/miekg/dns"
 | 
						|
)
 | 
						|
 | 
						|
//MyDNS is my dns server
 | 
						|
var MyDNS *dns.Server
 | 
						|
 | 
						|
//ZabovUpDNS keeps the name of upstream DNSs
 | 
						|
var ZabovUpDNS string
 | 
						|
 | 
						|
//ZabovSingleBL list of urls returning a file with just names of domains
 | 
						|
var ZabovSingleBL string
 | 
						|
 | 
						|
//ZabovDoubleBL list of urls returning a file with  IP<space>domain
 | 
						|
var ZabovDoubleBL string
 | 
						|
 | 
						|
//ZabovAddBL is the IP we want to send all the clients to. Usually is 127.0.0.1
 | 
						|
var ZabovAddBL string
 | 
						|
 | 
						|
//ZabovCacheTTL is the amount of hours we cache records of DNS
 | 
						|
var ZabovCacheTTL int
 | 
						|
 | 
						|
//ZabovKillTTL is the amount of hours we cache the killfile
 | 
						|
var ZabovKillTTL int
 | 
						|
 | 
						|
//ZabovHostsFile is the file we use to keep our hosts
 | 
						|
var ZabovHostsFile string
 | 
						|
 | 
						|
//ZabovDNSArray is the array containing all the DNS we mention
 | 
						|
var ZabovDNSArray []string
 | 
						|
 | 
						|
type handler struct{}
 | 
						|
 | 
						|
func main() {
 | 
						|
 | 
						|
	MyDNS.Handler = &handler{}
 | 
						|
	if err := MyDNS.ListenAndServe(); err != nil {
 | 
						|
		log.Printf("Failed to set udp listener %s\n", err.Error())
 | 
						|
	} else {
 | 
						|
		log.Printf("Listener running \n")
 | 
						|
	}
 | 
						|
}
 |