Generates Domain Names based on a Dictionary File
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl | |
# This script is designed to create potential domain names for my company | |
# There seems to be a ton of companies that have been created by joining | |
# two words together to create a domain, so I figured I'd try this little | |
# script myself. | |
# ----------------------------------------------------------------------- | |
# Open the dictionary text file for input | |
# Open the domain text file for output | |
system "touch a_all.txt a_available.txt a_taken.txt"; | |
open (DICTIONARY, "dictionary.txt") || die "Couldn't open dictionary file\n"; | |
open (ALL, ">>a_all.txt") || die die "Couldn't open all file\n"; | |
open (AVAILABLE, ">>a_available.txt") || die "Couldn't open available file\n"; | |
open (TAKEN, ">>a_taken.txt") || die "Couldn't open available file\n"; | |
# Create an array of all the values in the dictionary | |
@wordsindictionary = <DICTIONARY>; | |
# Now Set Our Loop Condition | |
for ($count=1; $count<1000; $count++) | |
{ | |
# Set a random number seed | |
srand(time() ^ ($$ + ($$ << 15)) ); | |
# generate two integer random numbers with | |
# NumberOfWordsInDictionary as the upper limit | |
$rand1= int rand($#wordsindictionary); | |
$rand2= int rand($#wordsindictionary); | |
# get the random word | |
$w = $wordsindictionary[$rand1]; | |
$x = $wordsindictionary[$rand2]; | |
$y = $w.$x; | |
$z = $x.$w; | |
#remove the breaking spaces and append | |
$w =~ s/\n//sg; | |
$x =~ s/\n//sg; | |
$y =~ s/\n//sg; | |
$z =~ s/\n//sg; | |
#execute the whois query and assign the results to a variable | |
@domains = ($w,$x,$y,$z); | |
foreach $domain (@domains) | |
{ | |
# whois results are uppercase | |
$domain = uc $domain; | |
# execute the whois search and pipe it to a tmp file | |
system("whois $domain.com | egrep 'No match for' > /tmp/holder.txt\n"); | |
# create our a string | |
$a = "No match for \"$domain.COM\"."; | |
# create our b string | |
open (HOLDER, "/tmp/holder.txt"); | |
$b = <HOLDER>; | |
close(HOLDER); | |
# print all domains | |
print ALL "$domain\n"; | |
# now if they equal, domain is free | |
if ($a=$b) | |
{ | |
print AVAILABLE "$domain\n"; | |
} | |
else | |
{ | |
print TAKEN "$domain\n"; | |
} | |
} | |
} | |
close(DICTIONARY); | |
close(AVAILABLE); | |
close(TAKEN); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment