21 lines
475 B
Perl
Executable File
21 lines
475 B
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use Martnet::DDNS;
|
|
use Regexp::Common qw/net/;
|
|
|
|
my $host = shift || die "No zonename provided";
|
|
my $master = shift;
|
|
$master ||= '74.109.12.14';
|
|
|
|
die "Zonename must end in a dot"
|
|
unless ($host =~ /^[a-zA-Z0-9\.\-\_]+\.$/);
|
|
|
|
my $regex = $RE{net}{IPv4} . '|' . $RE{net}{IPv6};
|
|
die "Master must be an IPv4 or IPv6 address"
|
|
unless ($master =~ /^$regex$/);
|
|
|
|
my $ddns = Martnet::DDNS->new();
|
|
$ddns->add($host, $master, '_custom');
|