diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rwxr-xr-x | sh/dnd | 30 | 
2 files changed, 31 insertions, 1 deletions
| @@ -7,7 +7,7 @@  # For a command not to echo itself, prefix @ to the command  # https://unix.stackexchange.com/a/740226/459013 -SH = alarm backlight bell ccgp cfg chmodef curlqb dateft dirnameall gita gitfork gitmetap gitmetar gitpu grrc il lastarg loop lsp mll mmi mpra mpva mpvy mvln mvtr mvtu news o orgext pa pq px qg qw rate reco rfp sbar ta time-uuid topa upd vinfo wh wtr xmq prp vip vpn +SH = alarm backlight bell ccgp cfg chmodef curlqb dateft dirnameall gita gitfork gitmetap gitmetar gitpu grrc il lastarg loop lsp mll mmi mpra mpva mpvy mvln mvtr mvtu news o orgext pa pq px qg qw rate reco rfp sbar ta time-uuid topa upd vinfo wh wtr xmq prp vip vpn dnd  PACMAN_HOOKS = setcap-intel_gpu_top.hook setcap-iotop-c.hook setcap-nethogs.hook  PREFIX = /usr/local @@ -0,0 +1,30 @@ +#!/bin/sh +# DNs Drill + +# Usage: dnd, dnd -c, dnd 192.168.0.1, dnd 8.8.8.8 + +cache=false +while getopts c opt; do +	case $opt in +		c)cache=true;; +		\?)exit 1;; +	esac +done +shift $((OPTIND-1)) + +if [ "$1" ]; then  +	echo "$1" +else +	echo "default" +fi + +for domain in www.google.com www.baidu.com github.com gitlab.com codeberg.org www.douyu.com flylightning.xyz mirrors.flylightning.xyz git.flylightning.xyz one.sjsu.edu discord.com www.youtube.com mail.google.com mail.yahoo.com en.wikipedia.org zh.wikipedia.org archlinux.org gitlab.archlinux.org aur.archlinux.org wiki.archlinux.org wiki.gentoo.org unix.stackexchange.com stackoverflow.com superuser.com www.reddit.com kyun.host panel.ihostart.com; do +	if [ "$1" ]; then  +		drill -- "$domain" "@$1" | awk -F: -v domain="$domain" '/^;; Query time: /{printf("%s%s\n",domain,$2)}' +	else +		# awk substr and length: +		# https://stackoverflow.com/a/14840991 +		# https://unix.stackexchange.com/a/305192 +		resolvectl --cache="$cache" query "$domain" | awk -v domain="$domain" '/Information acquired via protocol DNS in/{printf("%s %s\n",domain,substr($NF,0,length($NF)-1))}' +	fi +done | 
