All Projects → lun-4 → zigdig

lun-4 / zigdig

Licence: MIT license
naive dns client library in zig

Programming Languages

Zig
133 projects

Projects that are alternatives of or similar to zigdig

mach-glfw
Ziggified GLFW bindings with 100% API coverage, zero-fuss installation, cross compilation, and more.
Stars: ✭ 186 (+615.38%)
Mutual labels:  zig-package
sdk
TinyVG software development kit
Stars: ✭ 135 (+419.23%)
Mutual labels:  zig-package
zlm
Zig linear mathemathics
Stars: ✭ 67 (+157.69%)
Mutual labels:  zig-package
zig-args
Simple-to-use argument parser with struct-based config
Stars: ✭ 106 (+307.69%)
Mutual labels:  zig-package
mecha
A parser combinator library for Zig
Stars: ✭ 220 (+746.15%)
Mutual labels:  zig-package
ansi-term
Zig library for dealing with ANSI terminals
Stars: ✭ 25 (-3.85%)
Mutual labels:  zig-package
zetaframe
lightweight zig game framework.
Stars: ✭ 14 (-46.15%)
Mutual labels:  zig-package
IUPforZig
IUP (Portable User Interface Toolkit) bindings for the Zig language.
Stars: ✭ 56 (+115.38%)
Mutual labels:  zig-package
art.zig
An Adaptive Radix Tree ported from c
Stars: ✭ 35 (+34.62%)
Mutual labels:  zig-package
SDL.zig
A shallow wrapper around SDL that provides object API and error handling
Stars: ✭ 102 (+292.31%)
Mutual labels:  zig-package
zig-opengl
OpenGL binding generator based on the opengl registry
Stars: ✭ 29 (+11.54%)
Mutual labels:  zig-package
qml zig
QML bindings for the Zig programming language
Stars: ✭ 25 (-3.85%)
Mutual labels:  zig-package
zero-graphics
Application framework based on OpenGL ES 2.0. Runs on desktop machines, Android phones and the web
Stars: ✭ 72 (+176.92%)
Mutual labels:  zig-package
zig-eddsa-key-blinding
A Zig implementation of EdDSA signatures with blind keys.
Stars: ✭ 15 (-42.31%)
Mutual labels:  zig-package
zacho
Zig's Mach-O parser
Stars: ✭ 27 (+3.85%)
Mutual labels:  zig-package
zgt
Zig GUI Toolkit: Portable library for making native GUIs in Zig
Stars: ✭ 218 (+738.46%)
Mutual labels:  zig-package
zbox
termbox like terminal UI library for zig
Stars: ✭ 30 (+15.38%)
Mutual labels:  zig-package

zigdig

naive dns client library in zig

what does it do

  • serialization and deserialization of dns packets as per rfc1035
  • supports a subset of rdata (A and AAAA are there, so, for most cases, this will be enough)
  • has helpers for reading /etc/resolv.conf (not that much, really)

what does it not do

  • no edns0
  • can deserialize pointer labels (seamless for library user), but does not serialize into pointers
  • follow CNAME records

how do

  • zig zag zog https://ziglang.org
  • have a /etc/resolv.conf
  • (theoretical) posix os w/ sockets, tested on linux
  • have The Internet (TM) at your disposal
zig build test

# on debug mode it gets debug stuff to stdout. compile in
# release-safe or above if you're not developing with this lib
zig build install --prefix ~/.local/
zigdig google.com a

using the library

TODO docs

it is recommended to look at zigdig's source on src/main.zig to understand how things tick using the library, but it boils down to three things:

  • packet generation and serialization
  • sending/receiving (via a small shim on top of std.os.socket)
  • packet deserialization
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].