This is a dynamic dns updater for a domain one has listed in their Domain Manager on Linode. It updates with the current IP address of the machine this script is executed from.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



This script,, is a python script that automatically updates a subdomain in your Domain Manager on your Linode account with the current IP address. This script was designed to be executed from a cronjob. It can also be executed on it's own and it will update the appropriate settings.

Package requires:

  • python-pycurl
  • python >= 2.6
  • argparse (pip install argparse if python < 2.7)


./ -ak your_api_key -dn -sd foo

This will create a subdomain '' that points to your existing IP address on the machine that it is executed from.

Trouble / Help

1.) If you get the error message, using urllib instead of pycurl, urllib does not verify SSL remote certificates, there is a risk of compromised communication

You'll need to install pycurl.

2.) If you get the error message, api.ApiError: [{u'ERRORCODE': 4, u'ERRORMESSAGE': u'Authentication failed'}]

Double check your API key, as Linode was unable to authenticate your key.


This script is license under the GNU GPL v3.