+

+gdns

+ +

a dns proxy server write by go

+ +

gdns much like dnsmasq or chinadns, but it can run on windows.

+ +

+Features

+ +

support different domains use different upstream dns servers

+ +

support contact to the upstream dns server by tcp or udp

+ +

support blacklist list to block the fake ip

+ +

+Install

+ +
# get the depended library
+go get github.com/miekg/dns
+go get github.com/vharitonsky/iniflags
+
+git clone https://github.com/fangdingjun/gdns
+cd gdns
+go build
+
+# generate a sample config file
+./gdns -dumpflags > dns.ini
+
+# edit the dns.ini and run, need root privileges to bind on port 53
+sudo ./gdns -config dns.ini
+
+# test it
+dig @localhost twitter.com
+ +

+Arguments

+ +

use gdns -h to show the command line arguments.

+ +

all arguments can specialed in config file or in command line.

+ +

there is a sample file in the config_sample/ directory.

+ +

+Third-part library

+ +

use +dns +library to parse the dns message

+ +

use +iniflags +library to process the command line arguments and the config file

+ + + +