Nag Free Dynamic DNS on Raspberry Pi

afraidStatic IPs on the internet usually cost extra from your ISP. Many of us have dynamic IPs which change every so often. This can be annoying if you want remote access to our Raspberry Pi our home media servers. Dynamic DNS solves this by automatically registering your new IP address with a domain like crabdance.com.

I have tried several free dynamic DNS providers over the years. They have been increasingly getting annoying to manage because they nag your free account to log in once a month to reactivate their account. Fortunately, freedns.afraid.org have a completely nag free gratis dyndns service and it is very easy to setup for your Raspberry Pi home media server. If you have a separate HTPC that you don't leave on all the time then using the low powered Raspberry Pi to keep your dynamic DNS address updated without increasing your electricity bill significantly.

If you are trying to figure out which hardware would work best for you, consider reading the Pi benchmarks.

Pi Unit
Processor
RAM
RAM Bus
Network
WiFi
USB
SATA
Cost
Raspberry Pi 3
1.2 GHz ARMv8
Quad Core
1 GB DDR2
450 MHz
100 Mbit
Yes
4
No
$35
Raspberry Pi 2
900 MHz ARMv7
Quad Core
1 GB DDR2
450 MHz
100 Mbit
No
4
No
$35.00
Raspberry Pi
700 MHz ARMv6
Single Core
512 MB SDRAM
400 MHz
100 Mbit
No
4
No
$25
Banana Pi
1 GHz ARMv7
Dual Core
1 GB DDR3
432 MHz
Gigabit
No
2
Yes
$36.99
Banana Pi Pro
1 GHz ARMv7
Dual Core
1 GB DDR3
432 MHz
Gigabit
Yes
2
Yes
$45.00

Nag Free Dynamic DNS on Raspberry Pi

Sign up for a free account first
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

Your new Dynamic DNS address will be username.chickenkiller.com, there are other domains available like crabdance.com

adding a subdomain

Free Dynamic DNS Raspberry Pi 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?HTPCGuidesSecretKey.

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.

We will create a cronjob to run every 5 minutes and update your free dynamic DNS with your current IP address

Paste the code below but replace the URL http://freedns.afraid.org/dynamic/update.php?HTPCGuides with your direct link URL you copied to the clipboard.

crontab -l | { cat; echo "*/5 * * * * curl http://freedns.afraid.org/dynamic/update.php?HTPCGuides"; } | crontab -

You will get a message that looks like an error but it isn't so don't worry.

no crontab for pi

To verify that the command before added the cronjob you can list the cron jobs to make sure the freedns job is there

crontab -l

It should show

*/5 * * * * curl http://freedns.afraid.org/dynamic/update.php?HTPCGuides

Restart the cron service

sudo service cron restart

I tested this several times and it is consistent, you can change the update interval by changing the */5 to */20 for every 20 minutes or whatever interval you choose.

If you are using the Raspberry Pi as a media server now you can access all of its services and programs from outside your home network. You will need to set up port forwarding of course.