Return to Snippet

Revision: 53988
at December 5, 2011 21:02 by alexsancho


Updated Code
#!/usr/bin/env bash
# *********************************************************
# file: dns
# date: 18.10.2011
# author: (c) by Alex Sancho - <[email protected]>
# description: Checks domain availability.
# *********************************************************

function usage()
{
	prname=$(basename $0)
	log "\t$prname: checks domain availability"
	log "\tUsage: $prname <domain>"
	log "\tExamp: $prname example.com"
}

function _main_()
{
	if [[ "$1" == '-h' || "$1" == '--help' ]]; then
		usage
		exit 0
	else
		local domain=${1}
		local tld=${domain##*.}

		if [[ "$tld" = "$domain" ]]; then
			DOMAINS=('.com' '.com.es' '.cat' '.net' '.info' '.mobi' '.org' '.tel' '.biz' '.tv' '.cc' '.eu' '.es')
			ELEMENTS=${#DOMAINS[@]}

			for (( i=0;i<$ELEMENTS;i++)); do 
				dig soa $domain${DOMAINS[${i}]} | grep -q ^$domain${DOMAINS[${i}]} && echo "$domain${DOMAINS[${i}]} Registered" || echo "$domain${DOMAINS[${i}]} Available"
			done
		else
			dig soa $domain | grep -q ^$domain && echo "$domain Registered" || echo "$domain Available"
		fi
	fi
}

## Run script...
_main_ "$@"

Revision: 53987
at December 5, 2011 21:00 by alexsancho


Initial Code
#!/usr/bin/env bash
# *********************************************************
# file: dns
# date: 18.10.2011
# author: (c) by Alex Sancho - <[email protected]>
# description: Checks domain availability.
# *********************************************************

function usage()
{
	prname=$(basename $0)
	log "\t$prname: checks domain availability"
	log "\tUsage: $prname <domain>"
	log "\tExamp: $prname example.com"
}

function _main_()
{
	if [[ "$1" == '-h' || "$1" == '--help' ]]; then
		usage
		exit 0
	else
		local domain=${1:-`pbpaste`}
		local tld=${domain##*.}

		if [[ "$tld" = "$domain" ]]; then
			DOMAINS=('.com' '.com.es' '.cat' '.net' '.info' '.mobi' '.org' '.tel' '.biz' '.tv' '.cc' '.eu' '.es')
			ELEMENTS=${#DOMAINS[@]}

			for (( i=0;i<$ELEMENTS;i++)); do 
				dig soa $domain${DOMAINS[${i}]} | grep -q ^$domain${DOMAINS[${i}]} && error "$domain${DOMAINS[${i}]} Registered" || log "$domain${DOMAINS[${i}]} Available"
			done
		else
			dig soa $domain | grep -q ^$domain && error "$domain Registered" || log "$domain Available"
		fi
	fi
}

## Run script...
_main_ "$@"

Initial URL


Initial Description
Helper to cheek if a given domain is available for registration. If tld is omitted the script uses a predefined tld array to check multiple domains.

To use copy the code to a standalone file, call it whatever you wants and make it executable (+x)

Initial Title
Checks if domain is registered

Initial Tags
Bash

Initial Language
Bash