awl: drill, writ small
Find a file
grumbulon 98a14b1bf8 Merge logawl package into master (#10)
This PR is to bring in the new logging package for awl, I wanted to do some refinements before I opened this to upstream

logawl works in the following ways

1. It prints logs directly to std.err
1. The default log level is Info (this can be changed multiple ways)
1. It supports four log levels Error, Fatal, Info, Debug
1. It differs from the syslog package in the stdlib wherin it default to std.err you do not _need_ to define an out file (syslog for example)
1. I added a "debug" flag so now we can go through and define verbose logging through the app
5.5 I made it so we can call `Logger.debug("message")` anywhere in the query file but unless the debug flag is set to true it will not print a message (it is working as intended finally).

Co-authored-by: grumbulon <grumbulon@dismail.de>
Reviewed-on: sam/awl#10
Co-authored-by: grumbulon <grumbulon@grumbulon.xyz>
Co-committed-by: grumbulon <grumbulon@grumbulon.xyz>
2022-06-29 22:57:03 +00:00
logawl Merge logawl package into master (#10) 2022-06-29 22:57:03 +00:00
query I am still somehow getting paid to do this 2022-06-23 23:12:48 +02:00
util hehe off-by-one 2022-06-23 23:18:54 +02:00
.drone.yml I am still somehow getting paid to do this 2022-06-23 23:12:48 +02:00
.gitignore Rewrite in Go :^) 2022-06-21 22:54:50 +02:00
awl.go I got paid to write this 2022-06-22 22:59:17 +02:00
cli.go Merge logawl package into master (#10) 2022-06-29 22:57:03 +00:00
cli_test.go I am still somehow getting paid to do this 2022-06-23 23:12:48 +02:00
docs.go I got paid to write this 2022-06-22 22:59:17 +02:00
go.mod Update module github.com/stretchr/testify to v1.8.0 2022-06-29 06:00:21 -05:00
go.sum Update module github.com/stretchr/testify to v1.8.0 2022-06-29 06:00:21 -05:00
query.go Merge logawl package into master (#10) 2022-06-29 22:57:03 +00:00
README.md I am still somehow getting paid to do this 2022-06-23 23:12:48 +02:00
renovate.json Add renovate.json 2022-06-22 11:55:52 +00:00

awl

awl is a command-line DNS client, much like drill, dig, dog, doggo, or q

This was made as my first major experiment with Go, so there are probably things that can be improved

The excellent dns library for Go does most of the heavy lifting.

What works

  • UDP
  • TCP
  • TLS
  • HTTPS (maybe)
  • QUIC (extreme maybe)

What doesn't

  • Your sanity after reading my awful code
  • A motivation for making this after finding q and doggo

What should change

  • Make the CLI less abysmal (migrate to cobra? or just use stdlib's flags)
  • Optimize everything
  • Make the code less spaghetti (partially completed)
  • Feature parity with drill
    • Making a drop-in replacement for drill?