|
|
|
@ -6,31 +6,33 @@ gdns much like dnsmasq or chinadns, but it can run on windows.
|
|
|
|
|
Features
|
|
|
|
|
========
|
|
|
|
|
|
|
|
|
|
support different domains use different upstream servers
|
|
|
|
|
support different domains use different upstream dns servers
|
|
|
|
|
|
|
|
|
|
support contact to the upstream server by tcp or udp
|
|
|
|
|
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
|
|
|
|
|
```bash
|
|
|
|
|
# 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
|
|
|
|
|
git clone https://github.com/fangdingjun/gdns
|
|
|
|
|
cd gdns
|
|
|
|
|
go build
|
|
|
|
|
|
|
|
|
|
# generate a sample config file
|
|
|
|
|
./gdns -dumpflags > dns.ini
|
|
|
|
|
# generate a sample config file
|
|
|
|
|
./gdns -dumpflags > dns.ini
|
|
|
|
|
|
|
|
|
|
# edit the dns.ini
|
|
|
|
|
sudo ./gdns -config 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
|
|
|
|
|
# test it
|
|
|
|
|
dig @localhost twitter.com
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Arguments
|
|
|
|
|
===========
|
|
|
|
@ -39,4 +41,14 @@ use `gdns -h` to show the command line arguments.
|
|
|
|
|
|
|
|
|
|
all arguments can specialed in config file or in command line.
|
|
|
|
|
|
|
|
|
|
this is a sample file in the config_sample directory.
|
|
|
|
|
there is a sample file in the `config_sample/` directory.
|
|
|
|
|
|
|
|
|
|
Third-part library
|
|
|
|
|
==================
|
|
|
|
|
use
|
|
|
|
|
[dns](https://github.com/miekg/dns)
|
|
|
|
|
library to parse the dns message
|
|
|
|
|
|
|
|
|
|
use
|
|
|
|
|
[iniflags](https://github.com/vharitonsky/iniflags)
|
|
|
|
|
library to process the command line arguments and the config file
|
|
|
|
|