semihalev / sdns
- пятница, 2 ноября 2018 г. в 00:15:54
Go
Lightweight, fast recursive dns server with dnssec support
Based on kenshinx/godns, looterz/grimd
go get github.com/semihalev/sdns
or
or run with Docker image
docker run -d --name sdns -p 53:53 -p 53:53/udp -p 853:853 -p 8053:8053 -p 8080:8080 sdns
$ go build
$ make test
Flag | Desc |
---|---|
config | Location of the config file, if not found it will be generated |
Key | Desc |
---|---|
version | Config version |
blocklists | List of remote blocklists |
blocklistdir | List of locations to recursively read blocklists from (warning, every file found is assumed to be a hosts-file or domain list) |
loglevel | What kind of information should be logged, Log verbosity level crit,error,warn,info,debug |
bind | Address to bind to for the DNS server. Default :53 |
bindtls | Address to bind to for the DNS-over-TLS server. Default :853 |
binddoh | Address to bind to for the DNS-over-HTTPS server. Default :8053 |
tlscertificate | TLS certificate file path |
tlsprivatekey | TLS private key file path |
outboundips | Outbound ip addresses, if you set multiple, sdns can use random outbound ip address |
rootservers | DNS Root servers |
root6servers | DNS Root IPv6 servers |
rootkeys | DNS Root keys for dnssec |
fallbackservers | Fallback servers IP addresses |
api | Address to bind to for the http API server disable for left blank |
nullroute | IPv4 address to forward blocked queries to |
nullroutev6 | IPv6 address to forward blocked queries to |
accesslist | Which clients allowed to make queries |
timeout | Query timeout for dns lookups in duration Default: 5s |
connecttimeout | Connect timeout for dns lookups in duration Default: 2s |
expire | Default cache TTL in seconds Default: 600 |
cachesize | Cache size (total records in cache) Default: 256000 |
maxdepth | Maximum recursion depth for nameservers. Default: 30 |
ratelimit | Query based ratelimit per second, 0 for disable. Default: 30 |
blocklist | Manual blocklist entries |
whitelist | Manual whitelist entries |
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.