I've been working on these two packages for some time and finally managed to finish them in a satisfactory and well-documented way.
dnsprotocol - dns protocol
ndns - dns client
The need for these two packages was to replace an IRC network control bot. The bot checks countries of the IPs that connect and also looks for whether the IPs are included in a blacklist through DnsBL. The bot has been running for almost 8 months and, since then, I've been improving the packages and documenting them. Because of this bot and packages, I also made some contributions to the Nim project.
I would like to hear your opinion on possible improvements (it could be anything!).
I performed some minor updates to ndns, but the interesting addition is initSystemDnsClient()
This procedure starts a DNS client with the IP used by the operating system to resolve DNS requests.
Obviously I couldn't support all platforms, but Windows, Linux and BSD are already supported.
Note: I believe macOS can be supported with Linux and BSD implementation (resolv), but I don't have a mac to test.
Happy New Year!