Technitium DNS Server https://technitium.com/dns/

Shreyas Zare cb39e0e9b1 updated changelog for v8.1.3 release. 2 years ago
.github 4dde4cce9b Create FUNDING.yml 3 years ago
Apps c3f711ced2 assembly version updated for release 2 years ago
DnsServerApp 63a708c28a assembly version updated to v8.1.3 for release 2 years ago
DnsServerCore 63a708c28a assembly version updated to v8.1.3 for release 2 years ago
DnsServerCore.ApplicationCommon 1615e7705a assembly version updated for release 2 years ago
DnsServerSystemTrayApp 1615e7705a assembly version updated for release 2 years ago
DnsServerWindowsService 63a708c28a assembly version updated to v8.1.3 for release 2 years ago
DnsServerWindowsSetup 2137c7d9aa inno: updated version to 8.1.3 2 years ago
.gitattributes 2d2826abe0 gitattributes updated 5 years ago
.gitignore bc0ab5feb9 updated git ignore 5 years ago
APIDOCS.md e16ff56532 updated apidocs for delete record and update record calls for MX and SRV record related changes. 2 years ago
CHANGELOG.md cb39e0e9b1 updated changelog for v8.1.3 release. 2 years ago
DnsServer.sln d8793001fa updated solution 2 years ago
DockerEnvironmentVariables.md d22a0c7e0e updated docker env var docs 2 years ago
Dockerfile 53fdb7eeae updated docker file for .NET 6 runtime 2 years ago
LICENSE ffa38b3c08 Create LICENSE 7 years ago
README.md 14e7c56d11 updated readme 2 years ago
docker-compose.yml 34375f095e Better Source Port randomization 2 years ago

README.md

Technitium DNS Server
Technitium DNS Server


Self host a DNS server for privacy & security
Block ads & malware at DNS level for your entire network!

Technitium DNS Server

Technitium DNS Server is an open source authoritative as well as recursive DNS server that can be used for self hosting a DNS server for privacy & security. It works out-of-the-box with no or minimal configuration and provides a user friendly web console accessible using any modern web browser.

Nobody really bothers about domain name resolution since it works automatically behind the scenes and is complex to understand. Most computer software use the operating system's DNS resolver that usually query the configured ISP's DNS server using UDP protocol. This way works well for most people but, your ISP can see and control what website you can visit even when the website employ HTTPS security. Not only that, some ISPs can redirect, block or inject content into websites you visit even when you use a different DNS provider like Google DNS or Cloudflare DNS. Having Technitium DNS Server configured to use DNS-over-TLS or DNS-over-HTTPS forwarders, these privacy & security issues can be mitigated very effectively.

Be it a home network or an organization's network, having a locally running DNS server gives you more insights into your network and helps to understand it better using the DNS logs and stats. It improves overall performance since most queries are served from the DNS cache making web sites load faster by not having to wait for frequent DNS resolutions. It also gives you an additional control over your network allowing you to block domain names network wide and also allows you to route your DNS traffic securely using encrypted DNS protocols.

Features

  • Works on Windows, Linux, macOS and Raspberry Pi.
  • Docker image available on Docker Hub.
  • Installs in just a minute and works out-of-the-box with zero configuration.
  • Block ads & malware using one or more block list URLs.
  • High performance DNS server based on async IO that can serve millions of requests per minute even on a commodity desktop PC hardware (load tested on Intel i7-8700 CPU with more than 100,000 request/second over Gigabit Ethernet).
  • Self host DNS-over-TLS and DNS-over-HTTPS DNS service on your network.
  • Use public DNS resolvers like Cloudflare, Google & Quad9 with DNS-over-TLS and DNS-over-HTTPS protocols as forwarders.
  • Advanced caching with features like serve stale, prefetching and auto prefetching.
  • Supports working as an authoritative as well as a recursive DNS server.
  • DNSSEC validation support with RSA & ECDSA algorithms for recursive resolver, forwarders, and conditional forwarders.
  • DNSSEC support for all supported DNS transport protocols including encrypted DNS protocols (DoT, DoH, & DoH JSON).
  • CNAME cloaking feature to block domain names that resolve to CNAME which are blocked.
  • QNAME minimization support in recursive resolver draft-ietf-dnsop-rfc7816bis-04.
  • QNAME randomization support for UDP transport protocol draft-vixie-dnsext-dns0x20-00.
  • DNAME record RFC 6672 support.
  • ANAME propriety record support to allow using CNAME like feature at zone apex. Supports multiple ANAME records at both zone apex and sub domains.
  • APP propriety record support that allows custom DNS Apps to directly handle DNS requests and return a custom DNS response based on any business logic.
  • Support for features like Split Horizon and Geolocation based responses using DNS Apps feature.
  • Support for REGEX based block lists with different block lists for different client IP addresses or subnet using Advanced Blocking DNS App.
  • Primary, Secondary, Stub, and Conditional Forwarder zone support.
  • Static stub zone support implemented in Conditional Forwarder zone to force a domain name to resolve via given name servers using NS records.
  • DNSSEC signed zones support with RSA & ECDSA algorithms.
  • Zone transfer over TLS (XFR-over-TLS) draft-ietf-dprive-xfr-over-tls support.
  • Secret key transaction authentication (TSIG) RFC 8945 support for zone transfers.
  • EDNS(0) RFC6891 support.
  • Extended DNS Errors RFC 8914 support.
  • Self host your domain names on your own DNS server.
  • Wildcard sub domain support.
  • Enable/disable zones and records to allow testing with ease.
  • Built-in DNS Client with option to import responses to local zone.
  • Supports out-of-order DNS request processing for DNS-over-TCP and DNS-over-TLS protocols.
  • Built-in DHCP Server that can work for multiple networks.
  • IPv6 support in DNS server core.
  • HTTP & SOCKS5 proxy support which can be configured to route DNS over Tor Network or use Cloudflare's hidden DNS resolver.
  • Web console portal for easy configuration using any web browser.
  • Built in HTTP API to allow 3rd party apps to control and configure the DNS server.
  • Built-in system logging and query logging.
  • Open source cross-platform .NET 6 implementation hosted on GitHub.

Planned Features

  • Multi-user role based access.
  • API key to provide long term access token.
  • Clustering support to manage two or more DNS servers.
  • Dynamic DNS updates.

Installation

Docker Environment Variables

Technitium DNS Server supports environment variables to allow initializing the config when the DNS server starts for the first time. Read the environment variable documentation for complete details.

API Documentation

The DNS server HTTP API allows any 3rd party app or script to configure the DNS server. The HTTP API is used by the web console and thus all the actions that the web console does can be performed via the API. Read the HTTP API documentation for complete details.

Help Topics

Read the latest online help topics which contains the DNS Server user manual and covers frequently asked questions.

Support

For support, send an email to support@technitium.com. For any issues, feedback, or feature request, create an issue on GitHub.

Join /r/technitium on Reddit.

Donate

Make contribution to Technitium by becoming a Patron and help making new software, updates, and features possible.

Become a Patron now!

Blog Posts