Live data from Hacker News

Show HN: Doggo – A powerful, human-friendly DNS client for the command line

doggo.mrkaran.dev

1–10 of 138 posts

Re: Show HN: Doggo – A powerful, human-friendly DNS client for the command line

#7

Looks super cool! Can you share more about why you built this, design decisions, and other behind the scenes context?

Thanks! I pretty much did this as a learning/hobby side project. Back in 2021, I was dealing with a lot of K8s clusters and had recently learnt what about ndots[1]. That prompted me to build an easy to use DNS client which can avoid surprises about the host environment.

I've built this using Go, my daily driver. It doesn't use any CLI frameworks, that was mostly out of choice as I didn't want to add external deps unless really required. My favourite part was to build this small help.go[3] utility which renders colored/formatted help text.

Over the time I got some good quality external contributions, especially the one from @jedisct1 for adding DNSCrypt[2] support to it.

Releasing a v1.0 has been on the back burner forever (like, a whole year+ :'). Life, other projects, and probably a bit of procrastination got in the way. Finally sat down last week and forced myself to come up with a deadline to push this out.

[1]: https://mrkaran.dev/posts/ndots-kubernetes/

[2]: https://github.com/mr-karan/doggo/pull/17

[3]: https://github.com/mr-karan/doggo/blob/main/cmd/help.go

Re: Show HN: Doggo – A powerful, human-friendly DNS client for the command line

#8

Looks super cool! Can you share more about why you built this, design decisions, and other behind the scenes context?

[flagged]

> "doggo is a modern command-line DNS client (like dig) written in Golang. It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well.

It's totally inspired from dog which is written in Rust. I wanted to add some features to it but since I don't know Rust, I found it as a nice opportunity to experiment with writing a DNS Client from scratch in Go myself. Hence the name dog +go => doggo."

Post reply on HN