Lightweight, fast recursive dns server with dnssec support
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
vendor small lib fix Oct 14, 2018
.gitignore added build.sh Oct 13, 2018
.travis.yml add resolvers test Oct 15, 2018
Gopkg.lock ratelimit implementation Oct 7, 2018
Gopkg.toml ratelimit implementation Oct 7, 2018
LICENSE small changes Oct 12, 2018
README.md ipv6 root servers Oct 14, 2018
api.go retrying in TCP mode for internal queries Oct 15, 2018
api_test.go retrying in TCP mode for internal queries Oct 15, 2018
block_cache.go refactor blockcache Oct 13, 2018
block_cache_test.go misspells Oct 13, 2018
build.sh fallback servers configurable #1 Oct 15, 2018
config.go fallback servers configurable #1 Oct 15, 2018
config_test.go handler, resolver tests Oct 13, 2018
error_cache.go error cache feature Oct 3, 2018
error_cache_test.go handler, resolver tests Oct 13, 2018
go.mod go mod Oct 13, 2018
go.sum go mod Oct 13, 2018
handler.go more tests Oct 15, 2018
handler_test.go outbound ip tests Oct 15, 2018
logo.png logo file Oct 12, 2018
main.go retrying in TCP mode for internal queries Oct 15, 2018
nameserver_cache.go first dnssec imp. Oct 12, 2018
nameserver_cache_test.go handler, resolver tests Oct 13, 2018
nsec3.go first nsec3 impl. Oct 14, 2018
nsec3_test.go first nsec3 impl. Oct 14, 2018
query_cache.go rename cache Oct 13, 2018
query_cache_test.go handler, resolver tests Oct 13, 2018
resolver.go retrying in TCP mode for internal queries Oct 15, 2018
resolver_test.go more tests Oct 15, 2018
sdns_test.go test signals Oct 15, 2018
server.go tls support Oct 13, 2018
server_test.go handler, resolver tests Oct 13, 2018
updater.go server, updater tests Oct 13, 2018
updater_test.go handler, resolver tests Oct 13, 2018
utils.go edns logic Oct 15, 2018
utils_test.go add test Oct 14, 2018

README.md

SDNS

Travis Go Report Card GoDoc codecov

Lightweight, fast recursive dns server with dnssec support

Based on kenshinx/godns, looterz/grimd

Logo

Installation

$ go get github.com/semihalev/sdns

or

download

Building

$ go build

Flags

Flag Desc
config Location of the config file, if not found it will be generated

Server Configuration Checklist

  • Increase ulimit on your server

Features

  • Linux/BSD/Windows/Darwin supported
  • DNS RFC support
  • Concurrent DNS lookups within listed servers
  • DNS caching
  • DNS TLS support
  • DNSSEC validation
  • Basic IPv6 support
  • Query based ratelimit
  • Black-hole internet advertisements and malware servers
  • HTTP API support
  • Outbound IP selection

TODO

  • More tests
  • Try lookup NS address better way
  • TLS support
  • DNS-Over-HTTPS
  • Full DNSSEC support
  • Full IPv6 support

Made With

  • miekg/dns - Alternative (more granular) approach to a DNS library