RDCD v1.1 (c) Copyright 2001 - HaZrD
Use this at own risk - I will NOT be held responsible for ANYTHING that
happens WHATSOEVER by using or NOT using this piece of shellscript.
The way this code works :
The code does an HTML dump of the COZA whois page, and does a check for a
specific line "Match: One" or "Match: Zero" ... Based on this,
we can determine whether or not a domain has been registered or not. If the
match is equal to "Zero", we send in a registration form. If the match is
equal to "One" we revert back to the loop, wait a while, and try again.
The point behind this code, is to demonstrate the ease of registering a
domain (specifically co.za) if someone else has taken it already ... they
forget to pay, and we want it - at the time of writing, a co.za domain will
last a full 7 months before it gets removed (hmmmm....) and since the
deletion run is done on a "erm, do i have time for this NOW, or should i
wait another 10 minutes" basis, we don't have a clue when the domain will
be available for us .... so .... well .... we use this little VERY untidy
The recommended value for 'sleep', is 600 btw, and is default to all the
versions that are released. If you lower this, COZA would shit itself. We
do NOT want this !! (This would make a very easy-to-use system become one of
those eletist systems where everything happens VERY SLOWLY!!!)
Please, do NOT abuse this !
As a side-note, filling the "domains" variable with more domains, also
helps with extra automation, but creates extra load on co.za's side ...
I'm reasonably sure that the code doesn't add too much heavy stress on the
database machine, but please be carefull !
Variables that are used, and their descriptions :
|log ||Simple logfile to keep track (Date, Time, Count, Error Message)
|base ||Where are we running from and where are the .reg files ?
||domains ||A space " " seperated string with domains we want (a .co.za will
be appended automatically to the domain, SO DON'T ADD ONE !
|cnt ||A simple counter for statistical purposes
|regcount || A registration count. If this is equal to 2, we assume that we
were successfull, and exit.
|snooze ||The sleep value - erm, don't play with this ! it'll break things !
If you want to register "uniforum.co.za", you would create a file with the
filename of "uniforum.reg" and put in in the $base directory, for example :
This file is a complete CO.ZA registration form, available from :
An application form is included in this package, named : coza_reg.txt
The coza_reg.txt file is a duplicate of uniforum.reg, since they are pretty
much the EXACT SAME THING ! I have taken the time to fill the form in the
way it SHOULD be filled in. So take note, and try and fill the CO.ZA forms
in correctly to avoid problems with domains. It's not difficult people, just
READ DAMNIT! Don't use my form ! It won't work !
You're paying for the domain, so don't be shy about having it !
Domain Name Servers (DNS) :
First set up your DNS. You need a MINIMUM of 2 (two) Domain Name Servers.
If you have problems setting these up, consult :
NO, I don't give a damn about Windows DNS !!! You're on your own with that !
The exploit :
At the time of writing this code, Uniforum SA had implemented a whois
restriction, in that you could do 30 whois query's before being shut out of
the system (ie. You couldn't do more than 30 whois queries in under an hour).
The good thing is, that they still returned the "Match: One" or "Match: Zero"
which we are after. This allowed us to STILL check to see if the domain has
been taken (ie. they havn't deleted it yet), and give us a sporting chance.
Only future related. If Uniforum stopped sending us the "Match" strings, we
would have to find another way of registering badly wanted domains. It would
be a damn shame too ! This is the most NON-intrusive code I could make work.
Uniforum would shoot themselves in the foot if they made it more "difficult"
for us to grab up domains which other people obviously don't want !!!!!
OK, this is where the politics gets involved. I do not see why a company would
make it so damn difficult for a user/company to register domains that other
people don't want. Don't get me wrong, Uniforum SA has made every attempt to
make registration of domains as easy as "read this form, think!, fill it in,
and off you go, under 1 minute - you have your domain!" I cannot find any other
registrar that has ever been able to even come close to what they've
pulled off - For this, I congratulate them WHOLEHEARTEDLY !
BUT!!! If someone registers a domain, and doesn't pay for it, why the
hell can't I get that domain ??? I am after all willing to pay for it !
I have NO time or space for Domain Sqautters who register domains, and just
sit on them, waiting for some company who really WANTS to use it, to pay a
fortune for it ! That's just plain stupid ! THINK PEOPLE !
rdcd-1.1.tgz is available currently, and forms the first public
release of the code.
The file currently contains :
|COPYING ||The GPL (License) Read this !
|README ||RTFM !!! It contains all you need to know :)
|coza_reg.txt ||The original CO.ZA registration form
|rdcd ||The shell code
|uniforum.reg ||A SAMPLE registration form
MD5 Checksum : ae0ab26debc77562b45e0508693430d7 rdcd-1.1.tar.gz
Special thanks to Uniforum SA for making this code so easy :-) as well
as my current employer who taught me tricky shell code *grin*
ETRiGEN, Kilo, TKC (where ARE you these days?), PersonXX, LXR, Fister,
Milamber, Low-Key and all the other nice peoples who have ever helped,
irretated or otherwise made my life interesting !
Space/time/effort and hosting supplied graciously by :
This site was entirely designed in 'vi' hence the functional, but
lack of "pretty"