Nag Free Dynamic DNS Mac OSX

afraidDynamic DNS is a necessary part of a streamlined home media server. I used to use DynDNS until they shut down their free service. I switched to No-IP.com for dynamic dns but they nagged me every month to log in and that eventually annoyed me so much I needed another solution. I looked for alternatives and found Afraid DNS.

Afraid DNS have clients for practically every operating system and have funny subdomains like chickenkiller and crabdance. This guide will walk you through creating an account and setting up a Mac OSX free dynamic dns client. When you're done you can set up port forwarding to access services like your FTP Server, Sabnzbd, NZBGet, NzbDrone and CouchPotato from outside your home network with apps like NZB 360. This guide was tested on OSX Mavericks.

Free Dynamic DNS Mac OSX

You will need an account from FreeDNS. Then you are going to install a client on the Mac to update the IP address. You can also use your router if it has support for afraid.org

Free Dynamic DNS Signup

All you have to do is go sign up a free account at freedns.afraid.org

Create your free account and remember to click the activation link in your email.

freedns create account

Now log in to your new free account and choose a domain

Click subdomains on the left

subdomains click

Then click Add subdomain

add subdomain click

Choose your desired username, select a free domain and click Save

adding a subdomain

Free Dynamic Dns Mac OSX Client

You will need your Direct URL from the Free Dynamic DNS account you just created.
Log in to your account at afraid.freedns.org and click Dynamic dns on the left pane. Scroll down and you will see a Direct URL hyperlink. The link looks something like this http://freedns.afraid.org/dynamic/update.php?secretkey.

Right click and copy the URL of the Direct Link. You can paste this somewhere safe now or you can leave the window open and switch back to it. You will need this Direct URL shortly.

mac free dns copy direct url

Open up the Terminal. It can be found in Applications -> Utilities

mac osx nzbdrone click utilities

Scroll down and open Terminal

mac osx nzbdrone click terminal

Now you are going to copy and paste text and press Enter after each block of code

sudo nano /Library/LaunchAgents/afraid.org.freedns.plist

mac osx free dns sudo nano

It will prompt you for your password since you are requesting super user privileges. When you type your password you won't see any *s or anything but rest assured what you type in the keyboard is recorded.
Input your password and press Enter.

mac osx free dns ask password

Then you will see the nano editor screen. Paste this code by right clicking in the nano editor.

# Hey,
# 
# I appreciate the service you're running so very much. I'd like to
# share the Mac "client" that I threw together. If you change the
# "secretkey" line to the dynamic IP update Direct URL, this script
# will update your DNS record every time the network configuration
# changes. Put the edited file in /Library/LaunchAgents to go. It
# works on Macs and (jailbroken) iPhones.

--BEGIN org.afraid.freedns.plist--




        Label
        org.afraid.freedns
        Program
        /usr/bin/curl
        ProgramArguments
        
                curl
                -s
                http://freedns.afraid.org/dynamic/update.php?secretkey
        
        WatchPaths
        
                /Library/Preferences/SystemConfiguration
        


--END org.afraid.freedns.plist-

Now is where you need your DirectURL from the previous step. You cannot highlight and delete text in terminal the same way you can in other text editors. Click the area for the cursor to land and click the delete button until this text is gone http://freedns.afraid.org/dynamic/update.php?secretkey
Paste your Direct URL where the above code use to be. An example of the text to replace is highlighted in the screenshot below.

mac osx free dns pasted text

Now press Control+x
It will ask if you want to save, press y

mac osx free dns save modified

Now it will ask for the name, leave it as what you called it using the nano command
Press Enter
mac osx free dns save file name
Now you are back to the Terminal you can close it

mac osx free dns terminal done

That's it, now whenever your IP address changes it will be updated with the afraid DNS servers.