From 97c16905586d835bdc568c35f276782e345a47a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20=C5=A0ijanec?= Date: Mon, 4 Mar 2019 22:23:49 +0100 Subject: creATED shortdomain.sh here you go --- shortdomains.sh | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 shortdomains.sh diff --git a/shortdomains.sh b/shortdomains.sh new file mode 100644 index 0000000..7928f28 --- /dev/null +++ b/shortdomains.sh @@ -0,0 +1,110 @@ +#!/bin/bash +if [[ $5 == true ]]; then +whoisdatadir="whoisdata" +mkdir -p $whoisdatadir +fi + +trap ctrl_c INT + +function ctrl_c() { + echo -e "\e[91m---> Terminating ...\e[0m" + exit +} + +#LOOK FOR WHOIS COMMAND +if ! whois_loc="$(type -p "whois")" || [ -z "$whois_loc" ]; then + echo "\e[31m---> Whois is missing, trying to install it with APT. + \e[31m---> You need sudo and APT.\e[0m" + sudo apt-get install whois +fi + +if [ -n "$1" ] ; then + +if [[ $1 == 'all' ]]; then + # .si domain: slovenia cctld, arnes registry, 100 queries per hour or ban + # .no domain: norwegian, uninett norid registry, 3000 queries per day wait till midnight + # .de domain: germany, no data of registry, 1000 queries per day or ban + # .it domain: italy, no data of registry, no data of requests per time amount + tlds=(si no de it) + availables=('No entries found' 'No whois information found' 'Status: free' 'Status: AVAILABLE') + denieds=('Query denied' 'limit exceeded' '55000000002' 'denied') ## idk about .it + sleeps=(36 29 87 87) # delay between requests in seconds to prevent ban + # add your domains, you get the point + spanje=${sleeps[0]} # max sleep of sleeps will be the sleep (-; + for n in "${sleeps[@]}" ; do + ((n > spanje)) && spanje=$n + done +else + tlds=($1) + if [ -n "$2" ] ; then + availables=($2) + else + availables=("No entries found") + fi + + if [ -n "$3" ] ; then + denieds=($3) + else + denieds=("Query denied") + fi + + if [ -n "$4" ] ; then + spanje=$4 + else + spanje=87 + fi +fi + + ok=true + if [ -n "$7" ] ; then + list=`cat $7` + else + list=`echo {{a..z},{0..9}}{{a..z},{0..9}}` + fi +else + echo -e "\e[93m"' /-Use at your own risk-> Short domain finder Beta <--Educational use only-\' + echo -e "\e[93m"' /------> (C) 2019 Anton Sijanec, all rights reserved, github/AstiriL <------\' + echo -e "\e[93m"'/--------> Checks all short domain names for availability using WhoIs <-------\' + echo -e "\e[93m"'\---> Usage: ./shortdomains.sh [notfound-str] [querydenied-str] <---/' + echo -e "\e[93m"' \---> [delayseconds-int] [save-whois-bool] [show-whois-bool] [list-path] <--/' + echo -e "\e[93m"' \---------> Sends out a sound alert when a free domain is found <---------/'"\e[0m" +fi + + +if [ $ok ] ; then + echo -e "\e[93m"' /-Use at your own risk-> Short domain finder Beta <--Educational use only-\' + echo -e "\e[93m"' /------> (C) 2019 Anton Sijanec, all rights reserved, github/AstiriL <------\' + echo -e "\e[93m"'/--------> Checks all short domain names for availability using WhoIs <-------\' + echo -e "\e[93m"'\---> Usage: ./shortdomains.sh [notfound-str] [querydenied-str] <---/' + echo -e "\e[93m"' \---> [delayseconds-int] [save-whois-bool] [show-whois-bool] [list-path] <--/' + echo -e "\e[93m"' \---------> Sends out a sound alert when a free domain is found <---------/'"\e[0m" + tldcount=${#tlds[@]} + for domain in $list # do for every 2 character possibility + do + for (( i=0; i<$tldcount; i++ )); # do for every tld + do + VAL=`whois $domain.${tlds[$i]}` + while [[ $VAL == *${denieds[$i]}* ]] + do + echo -e "\e[95m$domain.${tlds[$i]} DENIED\e[0m" + sleep $spanje + VAL=`whois $domain.${tlds[$i]}` + done + if [[ $5 == true ]]; then + echo $VAL > "$whoisdatadir/$domain.${tlds[$i]}" + fi + if [[ $6 == true ]]; then + echo $VAL + fi + if [[ $VAL == *${availables[$i]}* ]] + then + echo -e "\e[92m$domain.${tlds[$i]} FREE\e[0m\007" + echo "$domain.$1" >> freedomains.$1 + else + echo -e "\e[91m$domain.${tlds[$i]} TAKEN\e[0m" + fi + done + sleep $spanje + done + echo -e "\e[39m" +fi -- cgit v1.2.3