Loudwhisper

GoDaddy Goes

(Yak) shaving GoDaddy from my life

"Table of Contents"

The day before yesterday I was going for an evening walk around the neighborhood. After my downloaded podcast episodes ended, I wanted to get some fresh ones, so I turned on my home VPN and went to my podcast application that I selfhost. All of a sudden I was presented a Could not resolve address error.

Immediately, I understood that something was off with the VPN itself, because I am quite sure that all the services were up and running. But what could it be? Yesterday I started looking into it with the intention to fix the issue, since the VPN home is not very used, but it is still a nice way to access services that I run home, given that I don't expose anything to the internet.

The Wireguard service on the firewall was fine, the client configuration was OK and just when I was getting confused I remembered: it's always DNS. My setup works basically as follows: I have a small tool that I run with a cron job on one of my home servers which periodically updates a DNS record for a domain I control with the public IP of my home network. Then, all my clients' Wireguard configuration have the DNS name in the endpoint field. When a new connection is established, the DNS name is resolved to what is the current IP of my firewall and Bob's your uncle.

Enters GoDaddy

I will do a weird confession, for one of my domains, I used GoDaddy. Actually I used to have more of them there, but only one is left. I know it's a terrible company, it has a terrible reputation, but my domain was purchased there ages ago and the hassle of moving it, paying for the transfer etc. was just not justified. For other domains I own (like this one!) I started to use Porkbun, which is one of the recommended ones by the Selfhosted community and which, in fact, just works. However, the DNS record for the Wireguard configuration was in the domain hosted in GoDaddy, which was also used for the DNS configuration. All good and well, until GoDaddy decided, completely out of the blue, without any notification to change the terms of use for their API, including the fact that now the API is available only for customers that have a certain numbers of domains. And no, it's not me living under a rock, this was not communicated at all, no notice of any type, and in fact I did find quite a lot of people who were confused and pissed off about this.

Specifically, this is the change: "Access to parts of our Domains API in Production may require meeting certain criteria: Availability API: Limited to accounts with 50 or more domains. Management and DNS APIs: Limited to accounts with 10 or more domains and/or an active Discount Domain Club – Premier Membership plan." I like the "may" part the most.

So according to GoDaddy, I should own 10 domains to access an API which already exists and that can do the same thing that I can do through the console. WHY?! I know there are people who buy domains in the same way people bought toilet paper during the first Covid lockdown, but as a hobbyist what I should do with 10 different domains?! Most importantly, if the problem is cost, rate limit the calls! The current limit is already 1 requests/s per each endpoint, make so that "basic" users can only do -say- 10 requests/minute? 1 request/minute? I am sure that Dynamic DNS is something a lot of people (with less than 10 domains) were using the API for. I don't know what it is like for other folks, but my address changes maybe once every few days, I am happy to run a handful of calls per hour.

Instead, the company that everyone called shitty, terrible, "the worst" etc., and that for me worked fine enough for a while, ended up living up to its (terrible) reputation. I can already hear some C-level or middle-manager pitching this great idea to save a fortune for what I am sure it's a very expensive API. We will be all very glad to know that all those money will go to improve the already wonderful support, right? Right.

Moving Away - Yak Shaving

I don't own 10 domains (let alone 50), but I still own a few, and I could use any of them to have the DDNS record updated, so technically I could just change the domain to one I have on Porkbun, and be done with it. Despite the temptation to quit my job and spend all my wake time just clicking through the GoDaddy console and (apparently) bleed them dry out of a few hundreds web requests, I decided that this was a tipping point, and that I would finally move the last domain to Porkbun.

As with all the "slightly more future-proof" decisions, this involved quite a lot of yak shaving. Pretty much it went like this:

Once I jumped all these hoops, the VPN started working fine again, so the last thing left was deleting GoDaddy account. I checked that I had no products left, and then I vaporized the whole account, very happy that I won't have anything to do with it anymore.

The Silver Lining

Despite all the above took maybe 3-4 hours of work, I think there are a few nice things that came out of it. The first, obviously, is that not only all my domains sit now within Porkbun, but I am also done with GoDaddy in general. The second, is that the transfer took maybe half an hour. GoDaddy in their email mentioned 5-7 working days, which is why I took my time before updating DNS records, but then I had to rush once I received confirmation the transfer was complete! Never trust GoDaddy... Finally, the transfer itself costed about 5 Euros. On the other hand, I recently renewed the same domain paying 17 Pounds (20 Euros) for 2 years. In Porkbun, I immediately renewed the domain for 7 more years at about 5 Euros/year. This means that every year I am saving 5 Euros, so I will compensate the cost of the transfer very soon.

Conclusion

I am honestly completely surprised by how such a big company can afford to be so obnoxious to their customers and get away with it. It's completely absurd to gate the API behind a subscription that costs £15/month! And even in that case, you get 20000 calls/month. That's 27.75 calls/hour, which is 1/129th of what the previous rate limit is. Dear GoDaddy, how the fuck did you implement this API that you are so stingy with it? Is it just a way to squeeze customers by crippling the functionalities you offer? Is there a technical reason behind it? You don't get any API calls even with the damn subscription that costs £6/month!

I think after this I will join the chorus of voices that I ignored for far too long: use everything, but for the love of God, don't use GoDaddy.


If you find an error, want to propose a correction, or you simply have any kind of comment and observation, feel free to reach out via email or via Mastodon.

Categories: #tech Tags: #selfhosting #domain