You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.1 KiB
Markdown
55 lines
1.1 KiB
Markdown
9 years ago
|
# 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
|
||
|
=======
|
||
|
|
||
|
```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
|
||
|
|
||
|
# 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](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
|