Skip to content

Web service for Dynamic DNS service

Last in my small series about running your own Dynamic DNS service: how to support clients which can't use the "nsupdate" tool directly.



  • A webserver with a scripting language
  • A dumb client which a browser or browser emulation (like lynx or curl)

On the server side you need a little script, plus the "" from this posting plus the Bind key for the zone you want to update. Here is the script, let's say the name is "update-zone.php":


if ($_GET['key'] == 'cryptic_key') {
    system("/srv/www/updates.domain/ /srv/www/updates.domain/entry1-transfer.key entry1.updates.domain " . $_SERVER['REMOTE_ADDR']);


The "cryptic_key" should be a random value, it's only required to identify the client. Then the "" script is executed with the Bind key, the hostname which should be updated and the IP address of the client. Note: if you want the client to supply it's name as well (the second parameter), make sure you sanitize the input.

Now all the client has to do is open a website from time to time:

lynx -source -dump 'http://<webserver>/update-zone.php?key=cryptic_key'

It's a good idea to protect the website with https as well.


No Trackbacks


Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
Form options