Mercury is a light DNS server implementation from scratch in Go
- Recursive resolver - resolves directly using the Internet root servers by default, eliminating the need to trust any external name servers.
- Authoritative server for your own zones.
- DNS sinkhole - (dns-level ad-block)
- Caches DNS queries
- Handles concurrent clients
compose.yaml
services:
mercury:
image: ghcr.io/bernoussama/mercury:latest
ports:
- "${PORT}:53153/udp"
- "${PORT}:53153/tcp"
volumes:
- ./zones:/opt/mercury/zones
- run the container in the background
PORT=53 docker compose up -d
WIP
⚠️ still in development
if you want to use just send dns requests to the server
example:
dig google.com @server-ip -p 53
cli comming soon
Comments and pull requests are welcome and encouraged.
You can contribute by forking the repo and opening pull requests.