1. 39
  1.  

  2. 8

    Looks great!

    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 oppurtunity to experiment with writing a DNS Client from scratch in Go myself.

    On the other hand, I know Rust. What are missing features you added? Sounds like a nice opportunity for me to exercise my Rust!

    1. 5
      • I work with K8s a lot and for me “ndots” and “search lists” are two parameters that I play around with a lot when debugging issues. I’ve to resort to dig or nslookup for it but that’s something dog can support :)

      • Few minor things like only sending IPv4 traffic. Or showing which nameserver was used. (Although there’s an issue opened on dog, for the same last I checked).

      • Even my tool doesn’t support DNSSec right now, but it’d be great to add that in dog as well. I’m planning to work on it for doggo as the primary feature for the next release.

      1. 5

        You successfully dared me to implement search list for dog. Let’s see how it goes.

    2. 6

      The rust dog dns client has an awfully familiar name :)

      1. 19

        Well, README says outright “It’s totally inspired from dog which is written in Rust”.

      2. 4

        The optional -- stops option parsing i.e. allowing arguments to start with -, in the usage this should come after options and before arguments.

        1. 2

          Sorry. I didn’t quite grasp that. You mean in the help text?

          1. 2

            Yes in the help screenshot: https://github.com/mr-karan/doggo/blob/main/www/static/help.png

            doggo [query options] [--] [arguments...] would be more correct, the other types of arguments are also not listed.

        2. 1

          Windows release doesn’t seem to work…

          PS C:\Users\zach>  doggo -q mrkaran.dev -t MX -n 1.1.1.1 --debug
          time="2020-12-19T13:25:08+10:00" level=debug msg="initiating UDP resolver"
          time="2020-12-19T13:25:08+10:00" level=debug msg="Starting doggo 🐶"
          time="2020-12-19T13:25:08+10:00" level=debug msg="Attmepting to resolve" domain=mrkaran.dev ndots=0
          time="2020-12-19T13:25:08+10:00" level=error msg="error looking up DNS records" error="dns: domain must be fully qualified"
          
          1. 3

            Oops. I realised the issue. My bad. Will fix it soon.

            P.S. Fixed it with https://github.com/mr-karan/doggo/commit/8d1b6ad9fa205675b86818f0affccd28d2256686.

            You can try v0.1.1 now :)

            1. 1

              🤌 perfecto!

              PS C:\Users\zach> doggo -q mrkaran.dev -t MX -n 1.1.1.1
              NAME            TYPE    CLASS   TTL     ADDRESS                         NAMESERVER
              mrkaran.dev.    MX      IN      291s    10                              1.1.1.1:53
                                                      in1-smtp.messagingengine.com.
              mrkaran.dev.    MX      IN      291s    20                              1.1.1.1:53
                                                      in2-smtp.messagingengine.com.