Updated to the latest

94dc35984f
This commit is contained in:
epgdatacapbon 2017-02-26 17:32:44 +09:00
parent 357bc6ff0d
commit e7fb14f328
3 changed files with 37 additions and 19 deletions

View file

@ -26,6 +26,7 @@ Dynamic DNS services currently supported include:
CloudFlare - See https://www.cloudflare.com/ for details
Google - See http://www.google.com/domains for details
Duckdns - See https://duckdns.org/ for details
Freemyip - See https://freemyip.com for details
woima.fi - See https://woima.fi/ for details
MyDNS.JP - See http://www.mydns.jp/ for details
@ -43,8 +44,9 @@ REQUIREMENTS:
- one or more accounts from one of the dynamic DNS services
- Perl 5.014 or later
(you need the IO::Socket::SSL perl library for ssl-support
and JSON::Any perl library for JSON support)
(you need the IO::Socket::SSL perl library for ssl-support,
JSON::PP perl library for JSON support and
IO::Socket:INET6 perl library for ipv6-support)
- Linux or probably any common Unix system

View file

@ -26,7 +26,7 @@ use Sys::Hostname;
use IO::Socket;
use Data::Validate::IP;
my $version = "3.9.0";
my $version = "3.8.3";
my $programd = $0;
$programd =~ s%^.*/%%;
my $program = $programd;
@ -3614,14 +3614,14 @@ Configuration variables applicable to the 'namecheap' protocol are:
server=fqdn.of.service ## defaults to dynamicdns.park-your-domain.com
login=service-login ## login name and password registered with the service
password=service-password ##
hostname ## the hostname to update.
fully.qualified.host ## the host registered with the service.
Example ${program}.conf file entries:
## single host update
protocol=namecheap, \\
login=my-namecheap.com-login, \\
password=my-namecheap.com-password \\
myhost
myhost.namecheap.com
EoEXAMPLE
}
@ -3630,10 +3630,9 @@ EoEXAMPLE
##
## written by Dan Boardman
##
## based on https://www.namecheap.com/support/knowledgebase/
## article.aspx/29/11/how-to-use-the-browser-to-dynamically-update-hosts-ip
## based on http://www.namecheap.com/resources/help/index.asp?t=dynamicdns
## needs this url to update:
## https://dynamicdns.park-your-domain.com/update?host=host_name&
## http://dynamicdns.park-your-domain.com/update?host=host_name&
## domain=domain.com&password=domain_password[&ip=your_ip]
##
######################################################################
@ -3649,9 +3648,11 @@ sub nic_namecheap_update {
verbose("UPDATE:","updating %s", $h);
my $url;
$url = "https://$config{$h}{'server'}/update";
$url = "http://$config{$h}{'server'}/update";
my $domain = $config{$h}{'login'};
$url .= "?host=$h";
my $host = $h;
$host =~ s/(.*)\.$domain(.*)/$1$2/;
$url .= "?host=$host";
$url .= "&domain=$domain";
$url .= "&password=$config{$h}{'password'}";
$url .= "&ip=";
@ -4160,8 +4161,6 @@ sub nic_nsupdate_update {
my $binary = $config{$h}{'login'};
my $keyfile = $config{$h}{'password'};
my $server = $config{$h}{'server'};
## nsupdate requires a port number to be separated by whitepace, not colon
$server =~ s/:/ /;
my $zone = $config{$h}{'zone'};
my $ip = $config{$h}{'wantip'};
my $recordtype = '';
@ -4304,11 +4303,7 @@ sub nic_cloudflare_update {
# Get DNS record ID
$url = "https://$config{$key}{'server'}/zones/$zone_id/dns_records?";
if (is_ipv6($ip)) {
$url .= "type=AAAA&name=$domain";
} else {
$url .= "type=A&name=$domain";
}
$reply = geturl(opt('proxy'), $url, undef, undef, $headers);
unless ($reply) {
@ -4770,6 +4765,7 @@ sub nic_mydns_update {
}
}
######################################################################
# vim: ai ts=4 sw=4 tw=78 :

View file

@ -200,7 +200,6 @@ ssl=yes # use ssl-support. Works with
##
#protocol=cloudflare, \
#zone=domain.tld, \
#server=www.cloudflare.com, \
#login=your-login-email, \
#password=APIKey, \
#ttl=1 \
@ -221,6 +220,27 @@ ssl=yes # use ssl-support. Works with
# password=my-auto-generated-password
# protocol=duckdns hostwithoutduckdnsorg
##
## Freemyip (http://freemyip.com/)
##
#
# protocol=freemyip,
# password=my-token
# myhost
##
## MyOnlinePortal (http://myonlineportal.net)
##
# protocol=dyndns2
# ssl=yes
# # ipv6=yes # optional
# use=web, web=myonlineportal.net/checkip
# # use=if, if=eth0 # alternative to use=web
# # if-skip=Scope:Link # alternative to use=web
# login=your-myonlineportal-username
# password=your-myonlineportal-password
# domain.myonlineportal.net
##
## MyDNS (www.mydns.jp)
##
@ -228,4 +248,4 @@ ssl=yes # use ssl-support. Works with
# server=www.mydns.jp
# login=my-mydns.jp-login
# password=my-mydns.jp-password
# your-host.mydns.jp
# myhost.mydns.jp