Last night, I opensource’d my first Ruby project using github – it’s a bulk domain name lookup tool named Domainblob. of course, I’ve released code before via examples on this blog and such, but I have never really started a github repo just for a project. I am very excited by this, I know it’s a baby step but hey I am just happy to have figured out the basics of git! (One another note: Expect a super basic beginner git article soon). If you want to jump right to the technical details and source code, here is the Domainblob Git Repo.
So what is this Domainblob thing?
Well, it’s no Gem or webserver — it’s just a simple bulk domain name availability tool setup to check over 5,000 different potential domain names for every phrase you give to it. This project started several months ago when I was really getting into Domain Name purchasing. This started with writing a little script named Quickcheck which would do a domain availability lookup for a single query. This was cool but I really wanted to check alot of domains and it was kind of annoying doing the one-at-a-time. Eventually, I wanted to be able to check for a number of domains all centered around the same seed word. This is where Domainblob’s first came into play.
When I first wrote Domainblob it was simpler, and it took a argument seed word and use that against a preset list of prefixes and suffixes (of which I picked because I liked them). This would check a hundred or so potential domain names for availability.
Soon I wanted to do more, I made it so that it used 2 different txt files to grab the users prefix list and suffix list. This allowed me to add or substract prefixes/suffixes on the fly. I liked this alot, so in the same vein I created a new text document to queue up seed words for Domainblob to run against. This made it possible to write like 20 seed words in the phraselist text and to allow my script to run on my home PC 24/7 just chugging along check domain names for me. The results of each run get output into a text file put into a folder called blobs.
Why didn’t you release Domainblob months ago then?
Well — I got distracted. Worked on other stuff. A few months pass and I don’t do much with it. Suddenly one day I see a website named LeanDomainSearch.com on the HackerNews front page. This blew me away, because it basically did all the same things my Domainblob script did except it was an online app and mine was a script.
At this point I decided my tool didn’t really have a commercial future because LeanDomainSearch was executing very well on the same premise and was getting great PR from HackerNews. Well — it just so happen that one of these articles on HackerNews was “Calculating the 5,000 most frequently used Domain Name Prefixes and Suffixes”
This article really caught my eye, because I had been dealing with this issue a few months earlier. How do you choose what prefixes and suffixes to use? Before this I had been using a self-curated list of prefixes and suffixes, but this article was really interesting because they used a zone file to compute the most common prefixes and suffixes in registered domains.
SO what did I do? I scraped them up!
I wrote a quick script to scrape those prefixes and suffixes from the blog post, and would print out a version of them I could easily paste into a new version of domainblob. Yes, that is correct – I have Domainblob setup by default to use all 5,000 of the LeanDomainSearch most common prefixes and suffixes.
Then I re-wrote Domainblob
After all this time my Ruby skills have increased somewhat, but more importantly — I worked on a similar problem on a recent project and I figured out a better Domain Name Availability Checking system. I rewrote Domainblob to use some of this other code I wrote, and wrote some new stuff of course. It ended up being much smaller than my prototype in terms of actual code, and it is alot simpler/more efficient.
I have decided to give Domainblob to the world. Anyone who wants to use this script can use it, and especially anyone who wants to help work on it with me is welcome to fork it.
Where’s the space for Domainblob?
I think Lean Domain Search does a great job at what they do, however for me personally it does not fit my workstyle. I wanted a tool that would produce real reports for me that I can keep around and possible run scripts against in the future. The results of the Domain Name lookups are interesting to me after the fact, but theres no real way to monetize these results from the webapp perspective if they are not linked from the web to registrar websites. That’s why I think Domainblob is a good opensource project, and I think others can derive benefit from using it instead of writing their own.
Checkout Domainblob on Github here: http://github.com/joenorton/domainblob
Posted: April 30th, 2012 under Ruby Scripts.