Skip to content

shivamsouravjha/gothdns

Repository files navigation

Unit tests codecov

gothDNS (short version of Go Authoritative DNS) is a DNS authoritative server written in Go able to re-play a list of DNS unusual cases in order to test the resilience of DNS resolvers.

gothDNS is highly inspired from PolarDNS.

What the difference with PolarDNS?

A tool by developers for developers

PolarDNS is more oriented research with a python code and a lot of customisable options of the DNS packet. gothDNS focus on scenarios that would act as end-to-end & resilience tests.

gothDNS also offers a very clear API and testing framework that allows to write quickly any modules by any Go developers.

New features

  • Docker image is publicly available
  • entirely fully tested, along with the proper CI
  • DNS violations as a new feature
  • a clear SDK to write custom modules. It can manipulate whole messages thanks to miekg/dns or raw bytes of DNS packet with the PacketParser
  • reusable GitHub Workflow to test your own resolver
  • integration with PowerDNS recursor
  • automatic plugins documentation generation

How to run it?

docker run -d -p 53:53/udp -p 53:53/tcp --name gothdns learndnssecurity/gothdns:main

dig @127.0.0.1 -p 53 staticip.foo.com

Documentation

  1. Difference with PolarDNS
  2. Plugins

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages