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