sdns

A lightweight fast recursive dns server with dnssec support

Github stars Tracking Chart

SDNS

Travis
Go Report Card
GoDoc
codecov
GitHub version

:dizzy: Lightweight, fast recursive dns server with dnssec support

Based on kenshinx/godns, looterz/grimd

Installation

go get github.com/semihalev/sdns

or

download

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
  • Port 53 DNS server
  • Port 853 DNS-over-TLS server
  • Port 8053 DNS-over-HTTPS server
  • Port 8080 HTTP API

Building

$ go build

Testing

$ make test
  • Increase file descriptor on your server

Features

  • Linux/BSD/Darwin/Windows supported
  • DNS RFC compatibility
  • DNS lookups within listed servers
  • DNS caching
  • DNSSEC validation
  • DNS over TLS support
  • DNS over HTTPS support
  • Middleware Support
  • RTT priority within listed servers
  • EDNS Cookie Support (client<->server)
  • Basic IPv6 support (client<->server)
  • Query based ratelimit
  • IP based ratelimit
  • Access list
  • Prometheus basic query metrics
  • Black-hole internet advertisements and malware servers
  • HTTP API support
  • Outbound IP selection

TODO

  • More tests
  • Try lookup NS address better way
  • DNS over TLS support
  • DNS over HTTPS support
  • Full DNSSEC support
  • RTT optimization
  • Access list
  • Periodic priming queries described at RFC 8109
  • Automated Updates DNSSEC Trust Anchors described at RFC 5011
  • Full IPv6 support (server<->server communication)
  • Query name minimization to improve privacy described at RFC 7816

Contributing

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.

Made With

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

License

MIT

Main metrics

Overview
Name With Ownersemihalev/sdns
Primary LanguageGo
Program languageGo (Language Count: 4)
Platform
License:MIT License
所有者活动
Created At2018-10-01 06:13:46
Pushed At2025-04-21 16:10:54
Last Commit At2025-02-17 16:21:15
Release Count38
Last Release Namev1.4.0 (Posted on )
First Release Namev0.1.7 (Posted on )
用户参与
Stargazers Count1k
Watchers Count24
Fork Count58
Commits Count0.9k
Has Issues Enabled
Issues Count42
Issue Open Count1
Pull Requests Count167
Pull Requests Open Count9
Pull Requests Close Count136
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private