diff --git a/README.md b/README.md index 527711ff..57856530 100644 --- a/README.md +++ b/README.md @@ -22,23 +22,28 @@ Be it a home network or an organization's network, having a locally running DNS - Docker image available on [Docker Hub](https://hub.docker.com/r/technitium/dns-server). - 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 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). +- 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). - Self host [DNS-over-TLS](https://en.wikipedia.org/wiki/DNS_over_TLS) and [DNS-over-HTTPS](https://en.wikipedia.org/wiki/DNS_over_HTTPS) DNS service on your network. - Use public DNS resolvers like Cloudflare, Google & Quad9 with [DNS-over-TLS](https://en.wikipedia.org/wiki/DNS_over_TLS) and [DNS-over-HTTPS](https://en.wikipedia.org/wiki/DNS_over_HTTPS) protocols as forwarders. - Advance 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](https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-rfc7816bis-04). - QNAME randomization support for UDP transport protocol [draft-vixie-dnsext-dns0x20-00](https://datatracker.ietf.org/doc/html/draft-vixie-dnsext-dns0x20-00). - DNAME record [RFC 6672](https://datatracker.ietf.org/doc/html/rfc6672) support. -- ANAME propriety record support to allow using CNAME like feature at zone apex. +- 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](https://datatracker.ietf.org/doc/draft-ietf-dprive-xfr-over-tls/) support. - Secret key transaction authentication (TSIG) [RFC 8945](https://datatracker.ietf.org/doc/html/rfc8945) support for zone transfers. - EDNS(0) [RFC6891](https://datatracker.ietf.org/doc/html/rfc6891) support. +- Extended DNS Errors [RFC 8914](https://datatracker.ietf.org/doc/html/rfc8914) 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. @@ -50,19 +55,18 @@ Be it a home network or an organization's network, having a locally running DNS - 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 5 implementation hosted on GitHub. +- 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. -- DNSSEC support. # Installation - **Windows**: [Download setup installer](https://download.technitium.com/dns/DnsServerSetup.zip) for easy installation. - **Linux & Raspberry Pi**: Follow install instructions from [this blog post](https://blog.technitium.com/2017/11/running-dns-server-on-ubuntu-linux.html). -- **Cross-Platform**: [Download portable app](https://download.technitium.com/dns/DnsServerPortable.tar.gz) to run on any platform that has .NET 5 installed. +- **Cross-Platform**: [Download portable app](https://download.technitium.com/dns/DnsServerPortable.tar.gz) to run on any platform that has .NET 6 installed. - **Docker**: Pull the official image from [Docker Hub](https://hub.docker.com/r/technitium/dns-server). Use the [docker-compose.yml](https://github.com/TechnitiumSoftware/DnsServer/blob/master/docker-compose.yml) example to create a new container and edit it as required for your deployments. For more details and troubleshooting read the [install instructions](https://blog.technitium.com/2017/11/running-dns-server-on-ubuntu-linux.html). # Docker Environment Variables