Remix.run Logo
Show HN: Shiddns a DNS learning experience in Python(github.com)
6 points by vvm2 15 hours ago | 2 comments

Hi HN, as a learning experience, I created a small DNS resolver with blocking capabilities and resolution of local host names. There are already tons of good ad-blocking DNS implementations out there. And they do this much better than my implementation. Great examples are Blocky or pihole.

So when I set out to "play around", I looked at these projects and tried to modify them. Fortunately for them, but unfortunately for beginners, these are already quite far developed and complex projects. So impatient me set out to "quickly write something in Python". Almost two weekends later, I put in so much time that I thought I might as well share this for others to explore (and hopefully enjoy). I tried keeping things simple and without external dependencies. In the end it was a good experience but became much bigger than I intended.

So I hope you enjoy: https://github.com/vvm2/shiddns

westurner 13 hours ago | parent [-]

It looks like dnspython has DNSSEC, DoH, and DoQ support: test_dnssec.py: https://github.com/rthalley/dnspython/blob/main/tests/test_d... , dnssec.py: https://github.com/rthalley/dnspython/blob/main/dns/dnssec.p...

  man delv
vvm2 10 hours ago | parent [-]

thank you for linking this, i took a peek and i will look at the DNSSEC pieces in more detail. this is something i did not dare to touch when i saw the RFC jungle around DNS.