Dynamic 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.
Now log in to your new free account and choose a domain
Click subdomains on the left
Then click Add subdomain
Choose your desired username, select a free domain and click Save
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.
Open up the Terminal. It can be found in Applications -> Utilities
Scroll down and open 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
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.
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.
Now press Control+x
It will ask if you want to save, press y
Now it will ask for the name, leave it as what you called it using the nano command
Press Enter
Now you are back to the Terminal you can close it
That's it, now whenever your IP address changes it will be updated with the afraid DNS servers.