Authoritative DNS Server
  • Zig 68.9%
  • Perl 24.7%
  • DIGITAL Command Language 4.4%
  • Go Template 1.7%
  • Shell 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Brandon L Black 7f6342fd37
Some checks failed
/ Install and Test (push) Has been cancelled
Control socket code refactors
The init fns here were the original inspiration for the previous
commit, but proved to be a tricker subset of cases due to the
buffers previously embedded inside of CtlStream, which can't be
moved once they're attached to Io.net.Stream.Reader and .Writer.

A lot of other refactoring, renaming, and re-organizing of this
code happened along the way!
2026-07-11 06:21:11 -05:00
.forgejo/workflows CI: switch back to Zig master 2026-05-31 05:19:46 +00:00
docs Add "istart" and "replace" CLI action verbs 2026-07-11 06:21:11 -05:00
gdmaps Some refactoring related to init fns 2026-07-11 06:21:11 -05:00
gks Refac dns header size calc 2026-06-28 08:14:17 -05:00
init Remove syslog + daemonization 2026-02-25 12:00:00 -06:00
legplug Some refactoring related to init fns 2026-07-11 06:21:11 -05:00
LICENSES Copyright/License modernization 2025-11-24 13:48:59 -06:00
src Control socket code refactors 2026-07-11 06:21:11 -05:00
t Portability work for BSD and 32-bit, etc 2026-06-28 08:14:17 -05:00
tools subst: fix tests, target the host 2026-06-28 08:14:17 -05:00
.gitattributes dnssec: implement loading keys from files 2026-05-31 01:25:41 +00:00
.gitignore Various minor cleanups, mostly commentary 2026-02-17 09:36:53 -06:00
AUTHORS Copyright/License modernization 2025-11-24 13:48:59 -06:00
build.zig subst: fix tests, target the host 2026-06-28 08:14:17 -05:00
COPYRIGHT Copyright/License modernization 2025-11-24 13:48:59 -06:00
INSTALL.md Upstream adapt: SoA @typeInfo 2026-05-31 02:33:10 +00:00
NEWS Fixups for NEWS and configure.ac 2024-11-27 08:33:27 -06:00
README-Zig.md Split structures between root-of-dns and Zone, etc 2026-04-22 14:19:41 -05:00
README.md readme: Fix Bug report link 2026-04-09 19:19:29 +02:00
REUSE.toml REUSE: Add a few missing exception cases 2026-04-22 14:19:34 -05:00
VERSION4.md Add "istart" and "replace" CLI action verbs 2026-07-11 06:21:11 -05:00

Overview

gdnsd is an Authoritative-only DNS server. The initial g stands for Geographic, as gdnsd offers a plugin system for geographic (or other sorts of) balancing, redirection, and service-state-conscious failover. The plugin system can also do things like weighted address/cname records. If you don't care about these features you can ignore them :).

gdnsd is written in Zig and is designed to attain very high performance, resilient, low latency service. It focuses solely on the authserver role, and does not offer any form of caching or recursive service. It also does not (quite yet!) support DNSSEC, but that is coming. The code has a decent regression testsuite with full branch coverage on the core packet parsing and generation code, and a growing set of Zig unit tests.

The geographically-aware features also support the EDNS Client Subnet spec from RFC 7871 for receiving more-precise network location information from intermediate shared caches.

Codeberg

Currently the project is mid-transition from Github to Codeberg. Many links are not yet updated in various places. Most active development is happening on this Zig port in the 3.99-alpha branch for now, and I'll be mainly focused on Codeberg for that (since Zig lives in Codeberg too!). I may still push older 3.x releases of the C codebase through Github for a little while longer, if needed.

Resources

Project site: https://gdnsd.org/

Project: https://codeberg.org/gdnsd/gdnsd

Bug reports: https://codeberg.org/gdnsd/gdnsd/issues

See the INSTALL file for details on prerequisites and build procedure for working from the source tree or a source tarball.

The 3.x (and older) releases of the C codebase were all originally released on Github, and any further minor version bumps needed in 3.x will probably still happen here for continuity.

Project: https://github.com/gdnsd/gdnsd/

Release downloads: https://github.com/gdnsd/gdnsd/releases/

Bug reports: https://github.com/gdnsd/gdnsd/issues

Wikified docs: https://github.com/gdnsd/gdnsd/wiki