summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Šijanec <sijanecantonluka@gmail.com>2019-03-04 22:23:49 +0100
committerGitHub <noreply@github.com>2019-03-04 22:23:49 +0100
commit97c16905586d835bdc568c35f276782e345a47a1 (patch)
tree4cbbaf514822ac8da75395a108cd2fb370eea9ed
parentInitial commit (diff)
downloadshort-domain-finder-97c16905586d835bdc568c35f276782e345a47a1.tar
short-domain-finder-97c16905586d835bdc568c35f276782e345a47a1.tar.gz
short-domain-finder-97c16905586d835bdc568c35f276782e345a47a1.tar.bz2
short-domain-finder-97c16905586d835bdc568c35f276782e345a47a1.tar.lz
short-domain-finder-97c16905586d835bdc568c35f276782e345a47a1.tar.xz
short-domain-finder-97c16905586d835bdc568c35f276782e345a47a1.tar.zst
short-domain-finder-97c16905586d835bdc568c35f276782e345a47a1.zip
-rw-r--r--shortdomains.sh110
1 files changed, 110 insertions, 0 deletions
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 <TLD|all> [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 <TLD|all> [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