DNS::ZoneEdit - Update your ZoneEdit dynamic DNS entries
This module allows you to update your ZoneEdit ( http://www.zoneedit.com/ ) dynamic DNS records. This is done via an http get using the LWP::UserAgent module.
LWP::UserAgent
use DNS::ZoneEdit; my $ze = DNS::ZoneEdit->new(); $ze->update( hostname => "cpan.org", username => "foo", password => "bar" ) || die "Failed: $@";
Create a new ZoneEdit object. This is actually an inheritted LWP::UserAgent object so you can use any of the methods defined in that class. For example, if you are behind a proxy server:
my $ze = DNS::ZoneEdit->new(); $ze->proxy('http', 'http://proxy.sn.no:8001/');
Updates your ZoneEdit dynamic DNS records. Valid %args are:
%args
username - Your ZoneEdit login name. This is required.
username
password - The corresponding password. This is required.
password
hostname - The FQDN of host being updated. This is required.
hostname
Contains a comma-delimited list of hosts that have IP addresses. This parameter may be *.domain.com to update a wildcard A-record.
*.domain.com
myip - The IP address of the client to be updated. This defaults to the IP address of the incoming connection (handy if you are being natted).
myip
tld - The root domain of your hostname, for example if your hostname is example.co.uk you can set tld to co.uk. This is to support an undocumented "feature" of zoneedit where you sometimes need to specify it to to update your zone.
tld
example.co.uk
co.uk
secure - Values are either 1 or 0. If 1, then SSL https is used to connect to ZoneEdit. The SSL connection has the big advantage that your passwords are not passed in plain-text accross the internet. Secure is on by default if Crypt::SSLeay is installed. A warning will be generated if it's not installed unless you set secure to 0. If you set secure to 1 and the module is unavailable, the module will croak.
secure
1
0
croak
Returns TRUE on success. On failure it returns FALSE and sets $@.
TRUE
FALSE
$@
Since a ZoneEdit object is an subclass of LWP::UserAgent, it overrides this UserAgent method for your convenience. It uses the credentials passed in the update method. There is no real reason to call, or override this method.
There are some example scripts in the examples directory of the module distribution. These are designed to run out of cron (or similar). You should not run them too often to avoid overloading the ZoneEdit servers. Ideally your code should cache the existing value for your IP, and only update ZoneEdit when it changes.
examples
This module is based on Gavin Brock's excellent DNS::EasyDNS.
For more information about the ZoneEdit services please visit http://www.zoneedit.com/. This module is not written nor supported by ZoneEdit LLC.
Copyright (c) 2003-2006 Gavin Brock gbrock@cpan.org, Copyright 2009-2010 Evan Giles.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
LWP::UserAgent, DNS::EasyDNS
To install DNS::ZoneEdit, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DNS::ZoneEdit
CPAN shell
perl -MCPAN -e shell install DNS::ZoneEdit
For more information on module installation, please visit the detailed CPAN module installation guide.