Get started with EtchDNS by downloading pre-built binaries or building from source.
Download pre-built binaries for your platform from the GitHub releases page. These binaries are compiled without WebAssembly hooks support to keep the file size smaller.
Build EtchDNS from source to get the latest features or to enable WebAssembly hooks support.
# Clone the repository
git clone https://github.com/dnscrypt/etchdns.git
cd etchdns
# Build the release version
cargo build --release
# The executable will be available at target/release/etchdns
# Build with the hooks feature flag
cargo build --release --features hooks
Note that enabling the hooks feature includes a WebAssembly runtime which significantly increases the binary size. Only enable this feature if you plan to use WebAssembly extensions.
Run EtchDNS in a Docker container for easy deployment and isolation.
# Pull the latest image
docker pull jedisct1/etchdns:latest
# Run EtchDNS with a custom configuration
docker run -v /path/to/config.toml:/etc/etchdns/config.toml -p 53:53/udp -p 53:53/tcp jedisct1/etchdns
After downloading or building EtchDNS, follow these steps to get started:
config.toml
etchdns -c /path/to/config.toml