From e7fb14f3280e7908403e16c1d9719f31d24b39af Mon Sep 17 00:00:00 2001 From: epgdatacapbon Date: Sun, 26 Feb 2017 17:32:44 +0900 Subject: [PATCH] Updated to the latest https://github.com/wimpunk/ddclient/commit/94dc35984f42f2b239ea2763fc58f63d30a07217 --- README.md | 6 ++++-- ddclient | 26 +++++++++++--------------- sample-etc_ddclient.conf | 24 ++++++++++++++++++++++-- 3 files changed, 37 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 0cfb76a..ca8343f 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/ddclient b/ddclient index 398d847..f0f8754 100755 --- a/ddclient +++ b/ddclient @@ -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"; - } + $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 : diff --git a/sample-etc_ddclient.conf b/sample-etc_ddclient.conf index 64ebfe3..594c44a 100644 --- a/sample-etc_ddclient.conf +++ b/sample-etc_ddclient.conf @@ -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