A Caching DNS Proxy with Advanced Security Features

EtchDNS is a high-performance DNS proxy designed for security and reliability. It acts as a protective layer between clients and upstream DNS servers, providing robust caching, intelligent load balancing, and comprehensive security features.

Open Source and Super Easy to Use!

Key Features

Performance

Efficient caching using the SIEVE algorithm, query aggregation to reduce upstream load, and smart load balancing strategies to distribute queries optimally.

Security

Domain filtering with whitelist and blacklist support, client IP validation, rate limiting for each protocol, transaction ID masking, and thorough request validation.

Reliability

Automatic failover with immediate detection of server outages, serve stale capability during upstream failures, and health monitoring of upstream servers.

Monitoring

Comprehensive observability with Prometheus metrics, remote control API for status monitoring and cache management, and detailed query logging.

Extensibility

Create custom plugins in any language that compiles to WebAssembly, implement advanced filtering logic, and modify DNS responses based on custom business logic.

Protocol Support

Support for UDP/TCP (standard DNS) and basic DoH (DNS-over-HTTP), with planned support for DNSCrypt, PQDNSCrypt, and Anonymized DNSCrypt.

Perfect For

Secondary DNS Server

Reduce load on your primary DNS servers and ensure continuity of service. Compatible with any DNS provider without requiring zone transfers.

Learn More

Local or Public DNS Cache

Improve performance and reliability for local devices or provide a public DNS service with caching and load distribution.

Learn More

DNS Firewall

Create a protective layer for your network by blocking malicious domains, ads, or unwanted content with configurable blocklists.

Learn More

Quickstart

  1. Download or clone the repository
  2. Edit a copy of the etchdns.toml configuration file
  3. Run EtchDNS:
etchdns -c /path/to/etchdns.toml
Full Documentation

Open Source

Transparent and Adaptable

EtchDNS is open source software, allowing you to inspect, modify, and adapt its functionality to suit your needs. The MIT license makes it suitable for both personal and commercial use.

Simple Configuration

EtchDNS uses a straightforward configuration file with sensible defaults. Basic setup requires minimal changes to the example configuration, making it accessible for most users.

View on GitHub

Explore the source code, report issues, or contribute