# Usage: domains_list.sh <input> <output> <combos> <suffix> <delay> <retries>
input=$1; thruput=$2; output=$3; combos=$4; suffix=$5; delay=$6; retries=$7
# Mix the names together
#
function mix () {
if (($1 < 1)); then echo "$2.$suffix"
else for x in "$input"; do echo "$(mix $(($1-1)) $x$2)"; done
fi
}
names=$(mix $combos)
# If they're available, let us know
#
for name in $names; do
tries=0
while ((tries<retries)); do
result=$(whois "$name" 2>&1) || { ((tries++)); sleep 1; continue; }
if grep -q 'No match' <<< "$result"; then
echo "+ $name"; echo $name >> "$output"
else echo "- $name"
fi
break
done
# Server error?
#
if ((tries==3)); then echo "/ $name"; fi
# Sleep for a while
#
sleep $delay
done