| Choose subsite: | [ Homepage | vPOP3 | rICMP | Interventi | Linux hacks ] |
| Choose section: | [ LegoPC HOWTO | EveryDNS dynamic service ] |
So the secnario is to setup the modem to update using the PHP script you can download here (rename .PHP, of course, instructions on how to configure it are below.) or see in source format here. You have two cases.
First: your modem supports custom services, where you can specify the hostname, password, and url. You are on the straight and good way, and you just have to specify the script URL like a DynDNS service. The script itself will bounce your request translate the answer.
Second: your modem supports only the ORIGINAL dyndns.org. If the modem hasn't an hardcoded IP you can act this way. Put a DNS server on one of your internal machine, a caching nameserver serving only one extra domain: everydns.org. Then, poison the IP address of 'members.dyndns.org' to be the IP address of the computer you installed the PHP script on. In this case, you will have to name the script as '/nic/update' (no extension, look at apache confs).
The script is very simple. I assume you know a little PHP. You have to create sets of username and passwords and associate them to the informations necessary for the EveryDNS update. That is, each element in the associative array $users is named from an username (your choice) and maps to an anonymous associative array of data. The 'password' field shuld be the result of the crypt() call on your password (just run the CLI command php -r "echo(crypt('your_password_here'));").
The 'outuser' and 'outpass' fields contain plaintext login and password for the everydns service. If not specified, the original login and password will be forwarded to the everydns service (maybe a more elegant solution).
The 'domain' mandatory field contains the domain to be updated on everydns.
If you want to try the script, the query syntax from your browswer is:
http://username:password@yourhost/dyndns.php?myip=ip_address
If all it's ok you shold read the string 'good ip_address'