Skip to content

bernoussama/mercury

Repository files navigation

Mercury

Mercury is a light DNS server implementation from scratch in Go

Capabilities

  • 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

🚀 Quick Start

Install

Docker compose:

  • 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

systemd service

WIP

⚙️ Usage

⚠️ 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

👏 Contributing

Comments and pull requests are welcome and encouraged.

You can contribute by forking the repo and opening pull requests.

About

light DNS server

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors