doggo/TODO.md

1.9 KiB

doggo - Initial Release Milestone

Resolver

  • Create a DNS Resolver struct
  • Add methods to initialise the config, set defaults
  • Add a resolve method
  • Make it separate from Hub
  • Parse output into separate fields
  • Test IPv6/IPv4 only options
  • Add DOH support
  • Add DOT support
  • Add DNS protocol on TCP mode support.
    • Change lookup method.
  • Major records supported
  • Support multiple resolvers
    • Take multiple transport options and initialise resolvers accordingly.
  • Add timeout support
  • Support SOA/NXDOMAIN

CLI Features

  • ndots support
  • search list support
  • JSON output
  • Colorized output
  • Table output
  • Parsing options free-form

CLI Grunt

  • Query args
  • Neatly package them to load args in different functions
  • Upper case is not mandatory for query type/classes
  • Output
  • Custom Help Text
    • Add examples
    • Colorize
    • Add different commands
  • Add client transport options
  • Fix an issue while loading free form args, where the same records are being added twice
  • Remove urfave/cli in favour of pflag + koanf
  • Flags - Remove unneeded ones

Documentation

  • README
    • Usage
    • Installation
    • Features

Release Checklist

  • Goreleaser
    • Snap
    • Docker

Future Release

  • Support obscure protocol tweaks in dig
  • Support more DNS Record Types
  • Shell completions
    • zsh
    • fish
  • Add tests for Resolvers.
  • Add tests for CLI Output.
  • Homebrew - Goreleaser
  • Add support for dig +trace like functionality.
  • Add dig +x short output
  • Add --strategy for picking nameservers.
  • Explore dig.rc kinda file
  • Separate Authority/Answer in JSON output.
  • Error on NXDomain (Related upstream bug)