Add notes
This commit is contained in:
parent
7d8327fa0f
commit
0384caa1e2
|
@ -1,5 +1,15 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# TODO:
|
||||||
|
# + trap exit signals to cleanup all temp files and cancel all jobs
|
||||||
|
# + run in batches to prevent spawning way too many processes
|
||||||
|
# + detect when piping into another application and suppress colors?
|
||||||
|
# + temp file control (or none for no disk space)?
|
||||||
|
# + command line options or env vars?
|
||||||
|
# + --tlds "com,net,org"
|
||||||
|
# + --max-concurrent-whois-jobs
|
||||||
|
# + --avail-regex and --timeout-regex
|
||||||
|
|
||||||
# suggested usage: ./check_domain | tee /tmp/chkdmn && sort /tmp/chkdmn
|
# suggested usage: ./check_domain | tee /tmp/chkdmn && sort /tmp/chkdmn
|
||||||
|
|
||||||
# constants
|
# constants
|
||||||
|
@ -44,23 +54,27 @@ check_domain() {
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DOMAIN="$1"
|
local domain="$1"
|
||||||
TMP=$(mktemp "check_domain_whois_${DOMAIN}_XXX")
|
# create a unique temporary file
|
||||||
whois "$DOMAIN" > "$TMP" 2>&1
|
TMP=$(mktemp "${domain}_XXX")
|
||||||
if egrep -q "$AVAIL_REGEX" "$TMP"; then
|
# dump whois output into temp file
|
||||||
echo -e "$COLOR_GREEN$DOMAIN / probably available$COLOR_RESET"
|
whois "$domain" > "$TMP" 2>&1
|
||||||
elif egrep -q "$TIMEOUT_REGEX" "$TMP"; then
|
# check contents and output appropriately
|
||||||
echo -e "$COLOR_YELLOW$DOMAIN / timed out$COLOR_RESET"
|
if egrep -q "$AVAIL_REGEX" "$TMP" > /dev/null 2>&1; then
|
||||||
|
echo -e "$COLOR_GREEN$domain / probably available$COLOR_RESET"
|
||||||
|
elif egrep -q "$TIMEOUT_REGEX" "$TMP" > /dev/null 2>&1; then
|
||||||
|
echo -e "$COLOR_YELLOW$domain / timed out$COLOR_RESET"
|
||||||
else
|
else
|
||||||
echo -e "$COLOR_RED$DOMAIN / unavailable$COLOR_RESET"
|
echo -e "$COLOR_RED$domain / unavailable$COLOR_RESET"
|
||||||
fi
|
fi
|
||||||
|
rm "$TMP"
|
||||||
}
|
}
|
||||||
|
|
||||||
# iterate all provided domain names combined with all TLDs and check them
|
# iterate all provided domain names combined with all TLDs and check them
|
||||||
# concurrently
|
# concurrently
|
||||||
elements=${#DOMAINS[@]}
|
elements=${#DOMAINS[@]}
|
||||||
while (( "$#" )); do
|
while (( "$#" )); do
|
||||||
for (( i=0; i<$ELEMENTS; i++ )); do
|
for (( i=0; i<$elements; i++ )); do
|
||||||
D="$1${DOMAINS[${i}]}"
|
D="$1${DOMAINS[${i}]}"
|
||||||
check_domain "${D}" &
|
check_domain "${D}" &
|
||||||
done
|
done
|
||||||
|
|
Reference in a new issue