WHMCS Addons: Domain Blocker

After few trials, I finally decided to publish some information on a small add-on I’ve been working on a month ago for WHMCS platform.

Domain blocker settings panel

Domain Blocker add-on emerged from attempts of cutting down the number of phishing domain registrations, that’s been received on daily basis for the last couple of months.

Domain Blocker addon logs

It uses CartValidation hooks that prevent any domain registrations that use “offensive”/”blacklisted” words, and tiny eye-candy for the backend with Twitter Bootstrap v2. Unfortunately, Bootstrap v3 everts the admin page with  style overwrites, thus it’ll be used only when WHMCS reaches 6.x version. Of course, any feedback, bugs spotted will be highly appreciated on GitHub issue tracker.

WHMCS API: heritage of whmcs-ruby gem

Joshua Priddle did a great job back in DotBlock accomplishing Ruby binding for WHMCS API.  Unfortunately, last signs of activity were 3 years ago. It’s a pity, as gem is great, and works like charm, but it became massively outdated, and piled with pull requests no one merged in the master branch for ages.

The code was published by MIT license on 2011, thus whmcs-api gem will be its descendant, which I’ll try to keep updated as much as possible.

For now it’s being tested on Ruby 2.x and WHMCS 5.3.x without any problems. The source code and any issues are better be reported on the Github repo.

 

WHMCS: IPv6 issues

I suspect that input filtering is being done on ALL the variables at the moment of initialization now, and that an IPv6 address containing colons `:` is being wiped from the server array. This would explain no IP address being returned back to the client.(c)

It seems that WHMCS has problems using Whitelists/API restrictions. It can’t digest IPv6 addresses. Pity, as IPv6 are next door and hosting industry is quite sensible for this issue.

Some might argue on the fact that IPv6 is not here yet, but the standard of IPv6 addressing has been here for ages, and it’s not that hard to implement one. At least for the future.