From 1910fb361ce24ca36167c7197997fde380063b8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 11 Mar 2019 14:24:24 +0100 Subject: [PATCH 1/5] Add perl modules to install instructions --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 055b3c3..eba1a90 100644 --- a/README.md +++ b/README.md @@ -71,17 +71,19 @@ INSTALLATION: cp sample-etc_rc.d_init.d_ddclient.alpine /etc/init.d/ddclient ## enable automatic startup when booting rc-update add ddclient - ## make sure you have perl installed + ## make sure you have perl installed apk add perl ## start the first time by hand rc-service ddclient start - + ## For those using Ubuntu style rc files and using daemon-mode: cp sample-etc_rc.d_init.d_ddclient.ubuntu /etc/init.d/ddclient ## enable automatic startup when booting update-rc.d ddclient defaults - ## make sure you have perl installed - apt-get install perl + ## make sure you have perl and the required modules installed + apt-get install perl libdata-validate-ip-perl + ## if you plan to use cloudflare or feedns you need the perl json module + apt-get install libjson-any-perl ## start the first time by hand service ddclient start From 3feaf02ebbd48878bd89c307cdc49ad118b4ed0a Mon Sep 17 00:00:00 2001 From: Bumsik Kim Date: Wed, 20 Mar 2019 12:29:47 +0000 Subject: [PATCH 2/5] Add systemd sample and instruction --- README.md | 7 +++++++ sample-etc_systemd.service | 11 +++++++++++ 2 files changed, 18 insertions(+) create mode 100644 sample-etc_systemd.service diff --git a/README.md b/README.md index 055b3c3..e522256 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,13 @@ INSTALLATION: vi /etc/ddclient/ddclient.conf -- and change hostnames, logins, and passwords appropriately + ## For those using systemd: + cp sample-etc_systemd.service /etc/systemd/system/ddclient.service + ## enable automatic startup when booting + systemctl enable ddclient.service + ## start the first time by hand + systemctl start ddclient.service + ## For those using Redhat style rc files and using daemon-mode: cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient ## enable automatic startup when booting diff --git a/sample-etc_systemd.service b/sample-etc_systemd.service new file mode 100644 index 0000000..c6418a4 --- /dev/null +++ b/sample-etc_systemd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Dynamic DNS Update Client +After=network.target + +[Service] +Type=forking +PIDFile=/var/run/ddclient.pid +ExecStart=/usr/sbin/ddclient + +[Install] +WantedBy=multi-user.target From d90d6799d319e9c4fb09ab255602353548a15d51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sat, 6 Apr 2019 13:14:47 +0200 Subject: [PATCH 3/5] Fix fritz box example for newer routers --- sample-get-ip-from-fritzbox | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sample-get-ip-from-fritzbox b/sample-get-ip-from-fritzbox index 87b986e..c17e775 100755 --- a/sample-get-ip-from-fritzbox +++ b/sample-get-ip-from-fritzbox @@ -15,6 +15,6 @@ curl -s -H 'Content-Type: text/xml; charset="utf-8"' \ -H 'SOAPAction: urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress' \ - --data-binary '' \ - http://169.254.1.1:49000/upnp/control/WANCommonIFC1 | \ - sed -n -e 's#^.*\(.*\).*$#\1#p' + -d ' ' \ + 'http://fritz.box:49000/igdupnp/control/WANIPConn1' | \ + grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>' From 30dce80ad051f67c3b567569795303c7b6ee4ee3 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 6 Apr 2019 17:27:22 +0200 Subject: [PATCH 4/5] Add support for dondominio.com --- README.md | 1 + README.ssl | 1 + ddclient | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) diff --git a/README.md b/README.md index 055b3c3..45efe4a 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ Dynamic DNS services currently supported include: Duckdns - See https://duckdns.org/ for details Freemyip - See https://freemyip.com for details woima.fi - See https://woima.fi/ for details + DonDominio - See https://www.dondominio.com for details DDclient now supports many of cable/dsl broadband routers. diff --git a/README.ssl b/README.ssl index ed8d19b..34497b9 100644 --- a/README.ssl +++ b/README.ssl @@ -9,3 +9,4 @@ On alpine, you need perl-io-socket-ssl to have IO::Socket::SSL ssl support is tested on folowing dynamic dns providers: - dyndns.com - freemyip.com +- dondominio.com diff --git a/ddclient b/ddclient index 5f65d95..0e89215 100755 --- a/ddclient +++ b/ddclient @@ -483,6 +483,9 @@ my %variables = ( 'warned-min-interval' => setv(T_ANY, 0, 1, 0, 0, undef), 'warned-min-error-interval' => setv(T_ANY, 0, 1, 0, 0, undef), }, + 'dondominio-common-defaults' => { + 'server' => setv(T_FQDNP, 1, 0, 1, 'dondns.dondominio.com', undef), + }, ); my %services = ( 'dyndns1' => { @@ -685,6 +688,15 @@ my %services = ( $variables{'woima-service-common-defaults'}, ), }, + 'dondominio' => { + 'updateable' => undef, + 'update' => \&nic_dondominio_update, + 'examples' => \&nic_dondominio_examples, + 'variables' => merge( + $variables{'dondominio-common-defaults'}, + $variables{'service-common-defaults'}, + ), + }, ); $variables{'merged'} = merge($variables{'global-defaults'}, $variables{'service-common-defaults'}, @@ -4676,6 +4688,83 @@ sub nic_woima_update { } } +###################################################################### +## nic_dondominio_examples +###################################################################### +sub nic_dondominio_examples { + return < Date: Tue, 25 Jun 2019 14:16:37 -0400 Subject: [PATCH 5/5] update readme, document Data::Validate::IP --- README.md | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 055b3c3..4d35ee7 100644 --- a/README.md +++ b/README.md @@ -29,28 +29,29 @@ Dynamic DNS services currently supported include: Freemyip - See https://freemyip.com for details woima.fi - See https://woima.fi/ for details -DDclient now supports many of cable/dsl broadband routers. +DDclient now supports many of cable/dsl broadband routers. -Comments, suggestions and requests: use the forums on +Comments, suggestions and requests: use the forums on http://sourceforge.net/projects/ddclient/ -The code was originally written by Paul Burry and is now hosted and maintained +The code was originally written by Paul Burry and is now hosted and maintained through sourceforge.net. Please check out http://ddclient.sf.net ------------------------------------------------------------------------------- -REQUIREMENTS: +## 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, - JSON::PP perl library for JSON support and - IO::Socket:INET6 perl library for ipv6-support) + - `Data::Validate::IP` perl library + - `IO::Socket::SSL` perl library for ssl-support + - `JSON::PP` perl library for JSON support + - `IO::Socket:INET6` perl library for ipv6-support - Linux or probably any common Unix system ------------------------------------------------------------------------------- -INSTALLATION: +## INSTALLATION: cp ddclient /usr/sbin/ mkdir /etc/ddclient @@ -71,16 +72,16 @@ INSTALLATION: cp sample-etc_rc.d_init.d_ddclient.alpine /etc/init.d/ddclient ## enable automatic startup when booting rc-update add ddclient - ## make sure you have perl installed + ## make sure you have perl installed apk add perl ## start the first time by hand rc-service ddclient start - + ## For those using Ubuntu style rc files and using daemon-mode: cp sample-etc_rc.d_init.d_ddclient.ubuntu /etc/init.d/ddclient ## enable automatic startup when booting update-rc.d ddclient defaults - ## make sure you have perl installed + ## make sure you have perl installed apt-get install perl ## start the first time by hand service ddclient start @@ -89,7 +90,7 @@ INSTALLATION: ## as described below. ------------------------------------------------------------------------------- -TROUBLESHOOTING: +## TROUBLESHOOTING: 1. enable debugging and verbose messages. ``$ ddclient -daemon=0 -debug -verbose -noquiet`` @@ -109,10 +110,10 @@ TROUBLESHOOTING: ``fw=url-to-your-router``'s-status-page ``fw-skip=any-string-preceding-your-IP-address`` - ddclient does something like this to provide builtin support for + ddclient does something like this to provide builtin support for common routers. For example, the Linksys routers could have been added with: - + fw=192.168.1.1/Status.htm fw-skip=WAN.*?IP Address @@ -134,7 +135,7 @@ TROUBLESHOOTING: while some others accept anything. ------------------------------------------------------------------------------- -USING DDCLIENT WITH ppp +## USING DDCLIENT WITH ppp If you are using a ppp connection, you can easily update your DynDNS entry with each connection, with: @@ -146,7 +147,7 @@ Alternatively, you may just configure ddclient to operate as a daemon and monitor your ppp interface. ------------------------------------------------------------------------------- -USING DDCLIENT WITH cron +## USING DDCLIENT WITH cron If you have not configured ddclient to use daemon-mode, you'll need to configure cron to force an update once a month so that the dns entry will @@ -157,7 +158,7 @@ not become stale. vi /etc/cron.d/ddclient ------------------------------------------------------------------------------- -USING DDCLIENT WITH dhcpcd-1.3.17 +## USING DDCLIENT WITH dhcpcd-1.3.17 If you are using dhcpcd-1.3.17 or thereabouts, you can easily update your DynDNS entry automatically every time your lease is obtained @@ -171,19 +172,19 @@ In my case, it is named dhcpcd-eth0.exe and contains the lines: #!/bin/sh PATH=/usr/sbin:/root/bin:${PATH} logger -t dhcpcd IP address changed to $1 - ddclient -proxy fasthttp.sympatico.ca -wildcard -ip $1 | logger -t ddclient + ddclient -proxy fasthttp.sympatico.ca -wildcard -ip $1 | logger -t ddclient exit 0 Other DHCP clients may have another method of calling out to programs -for updating DNS entries. +for updating DNS entries. Alternatively, you may just configure ddclient to operate as a daemon and monitor your ethernet interface. ------------------------------------------------------------------------------- -USING DDCLIENT WITH dhclient +## USING DDCLIENT WITH dhclient -If you are using the ISC DHCP client (dhclient), you can update +If you are using the ISC DHCP client (dhclient), you can update your DynDNS entry automatically every time your lease is obtained or renewed by creating an executable file named: /etc/dhclient-exit-hooks