We provide free dynamic DNS services. Simple.
Every computer on the internet has a number attached to it, which is used when communicating on the internet to identify that particular computer. The numbers are in the format 126.96.36.199 (and are called IP addresses) and are quite hard to remember. To make it worse, your external IP address of your home network could change from time to time.
That is exactly where the internet Domain Name System (or DNS for short) comes in. It provides a way of using names (like matt.rpi.fun) instead of numbers which point to the IP addresses (a bit like a phone book).
Our service lets you register up to 5 different names and point them at differnt IP adresses (although most people will probably only want to point them at a single IP address - their home network). We provide a script that can be used to run on your computer every few minutes to ensure if your Internet company changes your home's IP address that we'll update our records accordingly.
Once you have a dynamic DNS name which points to your home network, you can set up websites on your Raspberry Pi (or other single board computer). Or maybe even remotely connect to your PC or home security system?
NameMyPi.com was developed and is operated by Matt Bohan, a full-time software developer and system administrator (with over 20 years experience).
Our service is hosted on real servers, hosted in real two data centres located 300 miles apart in Europe, and one data centre in North America. If the service proves popular we may add more servers in different locations as we add capacity.
We also have continuous monitoring of our service in place from 3 completely different locations/networks. Including Los Angeles, France and UK. The UK based monitor is actually hosted on a Raspberry Pi using a residential broadband connection to simulate a typical use of the service.
Most of our code was written in house, but we have to say a big thank you to the extremely talented David Cutting for his excellent PHP DNS library.
Pre-requisites The only software that is needed by the NameMyPi service is a program called wget. To edit the script we are going to use an editor called nano. On Raspbian these are installed by default, but just in case it isn't on your computer, you can do the following.
Open a terminal window, if not using the command line already and type the following commands:
sudo apt-get update
sudo-apt get install wget nano
From a terminal window, type the following:
chmod 700 namemypi.sh
Copy and paste the following script, changing the example.namemypi.net domain to your NameMyPi name, and TOKEN with your security TOKEN from your NameMyPi Control Panel.
wget -O namemypi.log "https://api.namemypi.com/simple_update.php?domain=example.namemypi.net&token=TOKEN" >/dev/null 2>&1
Type Ctrl + O and press enter when prompted to save the script.
To change the permissions, so this can be executed as a shell script do the following:
chmod 700 namemypi.sh
Next we want to run the script to see if it works, so type the following:
To check whether it worked, type the following:
You are looking for the words OK. If you see anything other than OK then the script might not be right . Recheck the above steps to ensure your domain and token are correct (check this against what is shown in your control panel).
If it worked, the internet domain name example.namemypi.net should point at your exernal IP address.
Although running the script manually would work fine, it would be better if we didn't have to think about it. So we can automate this using something called cron. It can be used to run command at particular intervals.
Paste the following as the last line in the file:
*/5 * * * * php -f /home/pi/namemypi.sh > /dev/null 2>&1
Ctrl+O and return to save the file. This will run our update script every 5 minutes. You can change the 5 to any value between 5-59, depending on how often you want the script to run.