ddns-scripts: update to version 2.6.2-1
authorChristian Schoenebeck <[email protected]>
Sat, 13 Feb 2016 16:00:33 +0000 (17:00 +0100)
committerChristian Schoenebeck <[email protected]>
Sat, 13 Feb 2016 16:00:33 +0000 (17:00 +0100)
- renamed (lower case) filenames and servicenames for no-ip.com, cloudflare.com and bind_nsupdate including modifing existing configurations #2375
- updated tld_names.dat

Signed-off-by: Christian Schoenebeck <[email protected]>
net/ddns-scripts/Makefile
net/ddns-scripts/files/services
net/ddns-scripts/files/tld_names.dat
net/ddns-scripts/files/update_CloudFlare.sh [deleted file]
net/ddns-scripts/files/update_No-IP.com.sh [deleted file]
net/ddns-scripts/files/update_cloudflare_com.sh [new file with mode: 0755]
net/ddns-scripts/files/update_no-ip_com.sh [new file with mode: 0755]

index 852ab08f6be056b443f42b1694b259d7d6b13dd9..b72c55957c593cc597faeff05ba5b39389c9da52 100755 (executable)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=ddns-scripts
 # Version == major.minor.patch
 # increase on new functionality (minor) or patches (patch)
-PKG_VERSION:=2.6.1
+PKG_VERSION:=2.6.2
 # Release == build
 # increase on changes of services files or tld_names.dat
 PKG_RELEASE:=1
@@ -50,21 +50,19 @@ define Package/$(PKG_NAME)/config
                  - Proxy server support
                  - log file support
                  - support to run once
-               .
                Version: $(PKG_VERSION)-$(PKG_RELEASE)
                Info   : http://wiki.openwrt.org/doc/howto/ddns.client
-               .
                $(PKG_MAINTAINER)
 endef
 
 ##### **********************************
 define Package/$(PKG_NAME)_cloudflare
     $(call Package/$(PKG_NAME)/Default)
-    TITLE:=DDNS extension for CloudFlare
+    TITLE:=DDNS extension for CloudFlare.com
     DEPENDS:=$(PKG_NAME)
 endef
 define Package/$(PKG_NAME)_cloudflare/description
-    Dynamic DNS Client scripts extension for CloudFlare
+    Dynamic DNS Client scripts extension for CloudFlare.com
 endef
 
 ##### **********************************
@@ -164,33 +162,35 @@ endef
 ##### **********************************
 define Package/$(PKG_NAME)_cloudflare/install
        $(INSTALL_DIR) $(1)/usr/lib/ddns
-       $(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/update_CloudFlare.sh $(1)/usr/lib/ddns
+       $(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/update_cloudflare_com.sh $(1)/usr/lib/ddns
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/files/tld_names.dat.gz $(1)/usr/lib/ddns
 endef
 define Package/$(PKG_NAME)_cloudflare/postinst
        #!/bin/sh
-       echo -e '"CloudFlare"\t"update_CloudFlare.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services
-       echo -e '"CloudFlare"\t"update_CloudFlare.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services_ipv6
+       echo -e '"cloudflare.com"\t"update_cloudflare_com.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services
+       echo -e '"cloudflare.com"\t"update_cloudflare_com.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services_ipv6
+       /bin/sed -i '/service_name/s/CloudFlare/cloudflare\.com/g' $${IPKG_INSTROOT}/etc/config/ddns
 endef
 define Package/$(PKG_NAME)_cloudflare/prerm
        #!/bin/sh
-       /bin/sed -i '/update_CloudFlare\.sh/ d' $${IPKG_INSTROOT}/usr/lib/ddns/services
-       /bin/sed -i '/update_CloudFlare\.sh/ d' $${IPKG_INSTROOT}/usr/lib/ddns/services_ipv6
+       /bin/sed -i '/update_cloudflare_com\.sh/ d' $${IPKG_INSTROOT}/usr/lib/ddns/services
+       /bin/sed -i '/update_cloudflare_com\.sh/ d' $${IPKG_INSTROOT}/usr/lib/ddns/services_ipv6
 endef
 
 ##### **********************************
 define Package/$(PKG_NAME)_no-ip_com/install
        $(INSTALL_DIR) $(1)/usr/lib/ddns
-       $(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/update_No-IP.com.sh $(1)/usr/lib/ddns
+       $(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/update_no-ip_com.sh $(1)/usr/lib/ddns
 endef
 define Package/$(PKG_NAME)_no-ip_com/postinst
        #!/bin/sh
-       echo -e '"No-IP.com"\t"update_No-IP.com.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services
-       echo -e '"NoIP.com"\t"update_No-IP.com.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services
+       echo -e '"no-ip.com"\t"update_no-ip_com.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services
+       /bin/sed -i '/service_name/s/NoIP\.com/no-ip\.com/g'  $${IPKG_INSTROOT}/etc/config/ddns
+       /bin/sed -i '/service_name/s/No-IP\.com/no-ip\.com/g' $${IPKG_INSTROOT}/etc/config/ddns
 endef
 define Package/$(PKG_NAME)_no-ip_com/prerm
        #!/bin/sh
-       /bin/sed -i '/update_No-IP\.com\.sh/ d' $${IPKG_INSTROOT}/usr/lib/ddns/services
+       /bin/sed -i '/update_no-ip_com\.sh/ d' $${IPKG_INSTROOT}/usr/lib/ddns/services
 endef
 
 ##### **********************************
@@ -200,8 +200,9 @@ define Package/$(PKG_NAME)_nsupdate/install
 endef
 define Package/$(PKG_NAME)_nsupdate/postinst
        #!/bin/sh
-       echo -e '"Bind-nsupdate"\t"update_nsupdate.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services
-       echo -e '"Bind-nsupdate"\t"update_nsupdate.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services_ipv6
+       echo -e '"bind-nsupdate"\t"update_nsupdate.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services
+       echo -e '"bind-nsupdate"\t"update_nsupdate.sh"' >> $${IPKG_INSTROOT}/usr/lib/ddns/services_ipv6
+       /bin/sed -i '/service_name/s/Bind-nsupdate/bind-nsupdate/g' $${IPKG_INSTROOT}/etc/config/ddns
 endef
 define Package/$(PKG_NAME)_nsupdate/prerm
        #!/bin/sh
index 97076e59ea140b26a4947d742b1b4283eb8d046d..71f9d3a10e44fffff8cfe0c07125e70371f156ea 100644 (file)
 # Variomedia AG
 "variomedia.de"        "http://[USERNAME]:[PASSWORD]@dyndns.variomedia.de/nic/update?hostname=[DOMAIN]&myip=[IP]"      "good|nochg"
 
- #DtDNS
+DtDNS
 "dtdns.com"    "http://www.dtdns.com/api/autodns.cfm?id=[DOMAIN]&pw=[PASSWORD]&ip=[IP]"
 
 # dy.fi Dynamic DNS for finnish users (IP autodetected by provider)
index b711bc46a5efb15c333ae396174ed7373524d759..5925141222d9aa9a2eb37b0fe85ca0f936d91cde 100644 (file)
@@ -395,7 +395,7 @@ mil.bo
 tv.bo
 
 // br : http://registro.br/dominio/categoria.html
-// Submitted by registry <[email protected]> 2014-08-11
+// Submitted by registry <[email protected]>
 br
 adm.br
 adv.br
@@ -485,7 +485,7 @@ net.bt
 org.bt
 
 // bv : No registrations at this time.
-// Submitted by registry <[email protected]> 2006-06-16
+// Submitted by registry <[email protected]>
 bv
 
 // bw : http://en.wikipedia.org/wiki/.bw
@@ -598,7 +598,7 @@ gov.cm
 net.cm
 
 // cn : http://en.wikipedia.org/wiki/.cn
-// Submitted by registry <[email protected]> 2008-06-11
+// Submitted by registry <[email protected]>
 cn
 ac.cn
 com.cn
@@ -650,7 +650,7 @@ mo.cn
 tw.cn
 
 // co : http://en.wikipedia.org/wiki/.co
-// Submitted by registry <[email protected]> 2008-06-11
+// Submitted by registry <[email protected]>
 co
 arts.co
 com.co
@@ -770,7 +770,7 @@ pol.dz
 art.dz
 
 // ec : http://www.nic.ec/reg/paso1.asp
-// Submitted by registry <[email protected]> 2008-07-04
+// Submitted by registry <[email protected]>
 ec
 com.ec
 info.ec
@@ -891,7 +891,7 @@ veterinaire.fr
 ga
 
 // gb : This registry is effectively dormant
-// Submitted by registry <[email protected]> 2008-06-12
+// Submitted by registry <[email protected]>
 gb
 
 // gd : http://en.wikipedia.org/wiki/.gd
@@ -950,7 +950,7 @@ org.gl
 gm
 
 // gn : http://psg.com/dns/gn/gn.txt
-// Submitted by registry <[email protected]> 2008-06-17
+// Submitted by registry <[email protected]>
 gn
 ac.gn
 com.gn
@@ -975,7 +975,7 @@ asso.gp
 gq
 
 // gr : https://grweb.ics.forth.gr/english/1617-B-2005.html
-// Submitted by registry <[email protected]> 2008-06-09
+// Submitted by registry <[email protected]>
 gr
 com.gr
 edu.gr
@@ -1013,7 +1013,7 @@ net.gy
 org.gy
 
 // hk : https://www.hkdnr.hk
-// Submitted by registry <[email protected]> 2008-06-11
+// Submitted by registry <[email protected]>
 hk
 com.hk
 edu.hk
@@ -1156,7 +1156,7 @@ net.il
 org.il
 
 // im : https://www.nic.im/
-// Submitted by registry <[email protected]> 2013-11-15
+// Submitted by registry <[email protected]>
 im
 ac.im
 co.im
@@ -1639,7 +1639,7 @@ jobs
 
 // jp : http://en.wikipedia.org/wiki/.jp
 // http://jprs.co.jp/en/jpdomain.html
-// Submitted by registry <[email protected]> 2014-10-30
+// Submitted by registry <[email protected]>
 jp
 // jp organizational type names
 ac.jp
@@ -3610,7 +3610,7 @@ mil.kz
 com.kz
 
 // la : http://en.wikipedia.org/wiki/.la
-// Submitted by registry <[email protected]> 2008-06-10
+// Submitted by registry <[email protected]>
 la
 int.la
 net.la
@@ -3622,7 +3622,7 @@ com.la
 org.la
 
 // lb : http://en.wikipedia.org/wiki/.lb
-// Submitted by registry <[email protected]> 2008-06-17
+// Submitted by registry <[email protected]>
 lb
 com.lb
 edu.lb
@@ -3662,7 +3662,7 @@ hotel.lk
 ac.lk
 
 // lr : http://psg.com/dns/lr/lr.txt
-// Submitted by registry <[email protected]> 2008-06-17
+// Submitted by registry <[email protected]>
 lr
 com.lr
 edu.lr
@@ -3816,7 +3816,7 @@ net.ms
 org.ms
 
 // mt : https://www.nic.org.mt/go/policy
-// Submitted by registry <[email protected]> 2013-11-19
+// Submitted by registry <[email protected]>
 mt
 com.mt
 edu.mt
@@ -4423,7 +4423,7 @@ net.mw
 org.mw
 
 // mx : http://www.nic.mx/
-// Submitted by registry <[email protected]> 2008-06-19
+// Submitted by registry <[email protected]>
 mx
 com.mx
 org.mx
@@ -4492,17 +4492,18 @@ info.nf
 other.nf
 store.nf
 
-// ng : http://psg.com/dns/ng/
+// ng : http://www.nira.org.ng/index.php/join-us/register-ng-domain/189-nira-slds
 ng
 com.ng
 edu.ng
+gov.ng
+i.ng
+mil.ng
+mobi.ng
 name.ng
 net.ng
 org.ng
 sch.ng
-gov.ng
-mil.ng
-mobi.ng
 
 // ni : http://www.nic.ni/
 com.ni
@@ -5472,7 +5473,7 @@ xn--vler-qoa.hedmark.no
 *.np
 
 // nr : http://cenpac.net.nr/dns/index.html
-// Confirmed by registry <[email protected]> 2008-06-17
+// Submitted by registry <[email protected]>
 nr
 biz.nr
 info.nr
@@ -5486,7 +5487,7 @@ com.nr
 nu
 
 // nz : http://en.wikipedia.org/wiki/.nz
-// Confirmed by registry <[email protected]> 2014-05-19
+// Submitted by registry <[email protected]>
 nz
 ac.nz
 co.nz
@@ -5557,7 +5558,7 @@ edu.pf
 *.pg
 
 // ph : http://www.domains.ph/FAQ2.asp
-// Submitted by registry <[email protected]> 2008-06-13
+// Submitted by registry <[email protected]>
 ph
 com.ph
 net.ph
@@ -5586,7 +5587,7 @@ gos.pk
 info.pk
 
 // pl http://www.dns.pl/english/index.html
-// updated by .PL registry on 2015-04-28
+// Submitted by registry
 pl
 com.pl
 net.pl
@@ -5823,15 +5824,19 @@ est.pr
 prof.pr
 ac.pr
 
-// pro : http://www.nic.pro/support_faq.htm
+// pro : http://registry.pro/get-pro
 pro
+aaa.pro
 aca.pro
+acct.pro
+avocat.pro
 bar.pro
 cpa.pro
+eng.pro
 jur.pro
 law.pro
 med.pro
-eng.pro
+recht.pro
 
 // ps : http://en.wikipedia.org/wiki/.ps
 // http://www.nic.ps/registration/policy.html#reg
@@ -5865,7 +5870,7 @@ go.pw
 belau.pw
 
 // py : http://www.nic.py/pautas.html#seccion_9
-// Confirmed by registry 2012-10-03
+// Submitted by registry
 py
 com.py
 coop.py
@@ -5888,32 +5893,32 @@ sch.qa
 
 // re : http://www.afnic.re/obtenir/chartes/nommage-re/annexe-descriptifs
 re
-com.re
 asso.re
+com.re
 nom.re
 
 // ro : http://www.rotld.ro/
 ro
+arts.ro
 com.ro
-org.ro
-tm.ro
-nt.ro
-nom.ro
+firm.ro
 info.ro
+nom.ro
+nt.ro
+org.ro
 rec.ro
-arts.ro
-firm.ro
 store.ro
+tm.ro
 www.ro
 
-// rs : http://en.wikipedia.org/wiki/.rs
+// rs : https://www.rnids.rs/en/domains/national-domains
 rs
+ac.rs
 co.rs
-org.rs
 edu.rs
-ac.rs
 gov.rs
 in.rs
+org.rs
 
 // ru : http://www.cctld.ru/ru/docs/aktiv_8.php
 // Industry domains
@@ -6078,7 +6083,7 @@ edu.sa
 sch.sa
 
 // sb : http://www.sbnic.net.sb/
-// Submitted by registry <[email protected]> 2008-06-08
+// Submitted by registry <[email protected]>
 sb
 com.sb
 edu.sb
@@ -6095,7 +6100,7 @@ org.sc
 edu.sc
 
 // sd : http://www.isoc.sd/sudanic.isoc.sd/billing_pricing.htm
-// Submitted by registry <[email protected]> 2008-06-17
+// Submitted by registry <[email protected]>
 sd
 com.sd
 net.sd
@@ -6107,7 +6112,7 @@ gov.sd
 info.sd
 
 // se : http://en.wikipedia.org/wiki/.se
-// Submitted by registry <[email protected]> 2014-03-18
+// Submitted by registry <[email protected]>
 se
 a.se
 ac.se
@@ -6170,7 +6175,7 @@ mil.sh
 si
 
 // sj : No registrations at this time.
-// Submitted by registry <[email protected]> 2008-06-16
+// Submitted by registry <[email protected]>
 sj
 
 // sk : http://en.wikipedia.org/wiki/.sk
@@ -6178,7 +6183,7 @@ sj
 sk
 
 // sl : http://www.nic.sl
-// Submitted by registry <[email protected]> 2008-06-12
+// Submitted by registry <[email protected]>
 sl
 com.sl
 net.sl
@@ -6267,7 +6272,7 @@ org.sv
 red.sv
 
 // sx : http://en.wikipedia.org/wiki/.sx
-// Confirmed by registry <[email protected]> 2012-05-31
+// Submitted by registry <[email protected]>
 sx
 gov.sx
 
@@ -6306,7 +6311,7 @@ tf
 tg
 
 // th : http://en.wikipedia.org/wiki/.th
-// Submitted by registry <[email protected]> 2008-06-17
+// Submitted by registry <[email protected]>
 th
 ac.th
 co.th
@@ -6377,7 +6382,7 @@ defense.tn
 turen.tn
 
 // to : http://en.wikipedia.org/wiki/.to
-// Submitted by registry <[email protected]> 2008-06-17
+// Submitted by registry <[email protected]>
 to
 com.to
 gov.to
@@ -6388,7 +6393,7 @@ mil.to
 
 // subTLDs: https://www.nic.tr/forms/eng/policies.pdf
 // and: https://www.nic.tr/forms/politikalar.pdf
-// Submitted by <[email protected]> 2014-07-19
+// Submitted by <[email protected]>
 tr
 com.tr
 info.tr
@@ -6465,7 +6470,7 @@ xn--uc0atv.tw
 xn--czrw28b.tw
 
 // tz : http://www.tznic.or.tz/index.php/domains
-// Confirmed by registry <[email protected]> 2013-01-22
+// Submitted by registry <[email protected]>
 tz
 ac.tz
 co.tz
@@ -6481,7 +6486,7 @@ sc.tz
 tv.tz
 
 // ua : https://hostmaster.ua/policy/?ua
-// Submitted by registry <[email protected]> 2012-04-27
+// Submitted by registry <[email protected]>
 ua
 // ua 2LD
 com.ua
@@ -6851,7 +6856,7 @@ org.uz
 va
 
 // vc : http://en.wikipedia.org/wiki/.vc
-// Submitted by registry <[email protected]> 2008-06-13
+// Submitted by registry <[email protected]>
 vc
 com.vc
 net.vc
@@ -6861,8 +6866,7 @@ mil.vc
 edu.vc
 
 // ve : https://registro.nic.ve/
-// Confirmed by registry 2012-10-04
-// Updated 2014-05-20 - Bug 940478
+// Submitted by registry
 ve
 arts.ve
 co.ve
@@ -7112,7 +7116,7 @@ xn--mgbai9a5eva00b
 xn--ygbi2ammx
 
 // xn--90a3ac ("srb", Cyrillic) : RS
-// http://www.rnids.rs/en/the-.срб-domain
+// https://www.rnids.rs/en/domains/national-domains
 срб
 xn--90a3ac
 пр.срб
@@ -10997,20 +11001,21 @@ zuerich
 // (Note: these are in alphabetical order by company name)
 
 // Amazon CloudFront : https://aws.amazon.com/cloudfront/
-// Submitted by Donavan Miller <[email protected]> 2013-03-22
+// Submitted by Donavan Miller <[email protected]>
 cloudfront.net
 
 // Amazon Elastic Compute Cloud: https://aws.amazon.com/ec2/
-// Submitted by Osman Surkatty <[email protected]> 2014-12-16
+// Submitted by Luke Wells <[email protected]>
 ap-northeast-1.compute.amazonaws.com
+ap-northeast-2.compute.amazonaws.com
 ap-southeast-1.compute.amazonaws.com
 ap-southeast-2.compute.amazonaws.com
 cn-north-1.compute.amazonaws.cn
+compute-1.amazonaws.com
 compute.amazonaws.cn
 compute.amazonaws.com
-compute-1.amazonaws.com
-eu-west-1.compute.amazonaws.com
 eu-central-1.compute.amazonaws.com
+eu-west-1.compute.amazonaws.com
 sa-east-1.compute.amazonaws.com
 us-east-1.amazonaws.com
 us-gov-west-1.compute.amazonaws.com
@@ -11020,37 +11025,39 @@ z-1.compute-1.amazonaws.com
 z-2.compute-1.amazonaws.com
 
 // Amazon Elastic Beanstalk : https://aws.amazon.com/elasticbeanstalk/
-// Submitted by Adam Stein <[email protected]> 2013-04-02
+// Submitted by Adam Stein <[email protected]>
 elasticbeanstalk.com
 
 // Amazon Elastic Load Balancing : https://aws.amazon.com/elasticloadbalancing/
-// Submitted by Scott Vidmar <[email protected]> 2013-03-27
+// Submitted by Scott Vidmar <[email protected]>
 elb.amazonaws.com
 
 // Amazon S3 : https://aws.amazon.com/s3/
-// Submitted by Eric Kinolik <[email protected]> 2015-04-08
+// Submitted by Luke Wells <[email protected]>
 s3.amazonaws.com
 s3-ap-northeast-1.amazonaws.com
+s3-ap-northeast-2.amazonaws.com
 s3-ap-southeast-1.amazonaws.com
 s3-ap-southeast-2.amazonaws.com
+s3-eu-central-1.amazonaws.com
+s3-eu-west-1.amazonaws.com
 s3-external-1.amazonaws.com
 s3-external-2.amazonaws.com
 s3-fips-us-gov-west-1.amazonaws.com
-s3-eu-central-1.amazonaws.com
-s3-eu-west-1.amazonaws.com
 s3-sa-east-1.amazonaws.com
 s3-us-gov-west-1.amazonaws.com
 s3-us-west-1.amazonaws.com
 s3-us-west-2.amazonaws.com
+s3.ap-northeast-2.amazonaws.com
 s3.cn-north-1.amazonaws.com.cn
 s3.eu-central-1.amazonaws.com
 
 // BetaInABox
-// Submitted by [email protected] 2012-09-13
+// Submitted by Adrian <[email protected]>
 betainabox.com
 
 // CentralNic : http://www.centralnic.com/names/domains
-// Submitted by registry <[email protected]> 2012-09-27
+// Submitted by registry <[email protected]>
 ae.org
 ar.com
 br.com
@@ -11081,38 +11088,46 @@ za.bz
 za.com
 
 // Africa.com Web Solutions Ltd : https://registry.africa.com
-// Submitted by Gavin Brown <[email protected]> 2014-02-04
+// Submitted by Gavin Brown <[email protected]>
 africa.com
 
+// Citrix : https://citrix.com
+// Submitted by Alex Stoddard <[email protected]>
+xenapponazure.com
+
 // iDOT Services Limited : http://www.domain.gr.com
-// Submitted by Gavin Brown <[email protected]> 2014-02-04
+// Submitted by Gavin Brown <[email protected]>
 gr.com
 
 // Radix FZC : http://domains.in.net
-// Submitted by Gavin Brown <[email protected]> 2014-02-04
+// Submitted by Gavin Brown <[email protected]>
 in.net
 
 // US REGISTRY LLC : http://us.org
-// Submitted by Gavin Brown <[email protected]> 2014-02-04
+// Submitted by Gavin Brown <[email protected]>
 us.org
 
 // co.com Registry, LLC : https://registry.co.com
-// Submitted by Gavin Brown <[email protected]> 2014-02-04
+// Submitted by Gavin Brown <[email protected]>
 co.com
 
 // c.la : http://www.c.la/
 c.la
 
 // cloudControl : https://www.cloudcontrol.com/
-// Submitted by Tobias Wilken <[email protected]> 2013-07-23
+// Submitted by Tobias Wilken <[email protected]>
 cloudcontrolled.com
 cloudcontrolapp.com
 
 // co.ca : http://registry.co.ca/
 co.ca
 
+// i-registry s.r.o. : http://www.i-registry.cz/
+// Submitted by Martin Semrad <[email protected]>
+co.cz
+
 // CDN77.com : http://www.cdn77.com
-// Submitted by Jan Krpes <[email protected]> 2015-07-13
+// Submitted by Jan Krpes <[email protected]>
 c.cdn77.org
 cdn77-ssl.net
 r.cdn77.net
@@ -11124,23 +11139,23 @@ co.nl
 co.no
 
 // Commerce Guys, SAS
-// Submitted by Damien Tournoud <[email protected]> 2015-01-22
+// Submitted by Damien Tournoud <[email protected]>
 *.platform.sh
 
 // Cupcake : https://cupcake.io/
-// Submitted by Jonathan Rudenberg <[email protected]> 2013-10-08
+// Submitted by Jonathan Rudenberg <[email protected]>
 cupcake.is
 
 // DreamHost : http://www.dreamhost.com/
-// Submitted by Andrew Farmer <[email protected]> 2012-10-02
+// Submitted by Andrew Farmer <[email protected]>
 dreamhosters.com
 
 // Drobo : http://www.drobo.com/
-// Submitted by Ricardo Padilha <[email protected]> 2015-12-17
+// Submitted by Ricardo Padilha <[email protected]>
 mydrobo.com
 
 // DuckDNS : http://www.duckdns.org/
-// Submitted by Richard Harper <[email protected]> 2015-05-17
+// Submitted by Richard Harper <[email protected]>
 duckdns.org
 
 // DynDNS.com : http://www.dyndns.com/services/dns/dyndns/
@@ -11425,8 +11440,7 @@ worse-than.tv
 writesthisblog.com
 
 // EU.org https://eu.org/
-// Submitted by Pierre Beyssac <[email protected]> 2015-04-17
-
+// Submitted by Pierre Beyssac <[email protected]>
 eu.org
 al.eu.org
 asso.eu.org
@@ -11485,7 +11499,7 @@ uk.eu.org
 us.eu.org
 
 // Fastly Inc. http://www.fastly.com/
-// Submitted by Vladimir Vuksan <[email protected]> 2013-05-31
+// Submitted by Vladimir Vuksan <[email protected]>
 a.ssl.fastly.net
 b.ssl.fastly.net
 global.ssl.fastly.net
@@ -11493,28 +11507,28 @@ a.prod.fastly.net
 global.prod.fastly.net
 
 // Firebase, Inc.
-// Submitted by Chris Raynor <[email protected]> 2014-01-21
+// Submitted by Chris Raynor <[email protected]>
 firebaseapp.com
 
 // Flynn : https://flynn.io
-// Submitted by Jonathan Rudenberg <[email protected]> 2014-07-12
+// Submitted by Jonathan Rudenberg <[email protected]>
 flynnhub.com
 
 // GDS : https://www.gov.uk/service-manual/operations/operating-servicegovuk-subdomains
-// Submitted by David Illsley <[email protected]> 2014-08-28
+// Submitted by David Illsley <[email protected]>
 service.gov.uk
 
 // GitHub, Inc.
-// Submitted by Ben Toews <[email protected]> 2014-02-06
+// Submitted by Ben Toews <[email protected]>
 github.io
 githubusercontent.com
 
 // GlobeHosting, Inc.
-// Submitted by Zoltan Egresi <[email protected]> 2013-07-12
+// Submitted by Zoltan Egresi <[email protected]>
 ro.com
 
 // Google, Inc.
-// Submitted by Eduardo Vela <[email protected]> 2014-12-19
+// Submitted by Eduardo Vela <[email protected]>
 appspot.com
 blogspot.ae
 blogspot.al
@@ -11602,12 +11616,12 @@ withyoutube.com
 hashbang.sh
 
 // Heroku : https://www.heroku.com/
-// Submitted by Tom Maher <[email protected]> 2013-05-02
+// Submitted by Tom Maher <[email protected]>
 herokuapp.com
 herokussl.com
 
 // iki.fi
-// Submitted by Hannu Aronsson <[email protected]> 2009-11-05
+// Submitted by Hannu Aronsson <[email protected]>
 iki.fi
 
 // info.at : http://www.info.at/
@@ -11618,45 +11632,45 @@ info.at
 co.pl
 
 // Microsoft : http://microsoft.com
-// Submitted by Barry Dorrans <[email protected]> 2014-01-24
+// Submitted by Barry Dorrans <[email protected]>
 azurewebsites.net
 azure-mobile.net
 cloudapp.net
 
 // Mozilla Foundation : https://mozilla.org/
-// Submited by glob <[email protected]> 2015-07-06
+// Submitted by glob <[email protected]>
 bmoattachments.org
 
 // Neustar Inc.
-// Submitted by Trung Tran <[email protected]> 2015-04-23
+// Submitted by Trung Tran <[email protected]>
 4u.com
 
 // ngrok : https://ngrok.com/
-// Submitted by Alan Shreve <[email protected]> 2015-11-10
+// Submitted by Alan Shreve <[email protected]>
 ngrok.io
 
 // NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
-// Submitted by Jeff Wheelhouse <[email protected]> 2014-02-02
+// Submitted by Jeff Wheelhouse <[email protected]>
 nfshost.com
 
 // NYC.mn : http://www.information.nyc.mn
-// Submitted by Matthew Brown <[email protected]> 2013-03-11
+// Submitted by Matthew Brown <[email protected]>
 nyc.mn
 
 // One Fold Media : http://www.onefoldmedia.com/
-// Submitted by Eddie Jones <[email protected]> 2014-06-10
+// Submitted by Eddie Jones <[email protected]>
 nid.io
 
 // Opera Software, A.S.A.
-// Submitted by Yngve Pettersen <[email protected]> 2009-11-26
+// Submitted by Yngve Pettersen <[email protected]>
 operaunite.com
 
 // OutSystems
-// Submitted by Duarte Santos <[email protected]> 2014-03-11
+// Submitted by Duarte Santos <[email protected]>
 outsystemscloud.com
 
 // Pagefront : https://www.pagefronthq.com/
-// Submitted by Jason Kriss <[email protected]> 2015-12-02
+// Submitted by Jason Kriss <[email protected]>
 pagefrontapp.com
 
 // .pl domains (grandfathered)
@@ -11668,45 +11682,49 @@ wroc.pl
 zakopane.pl
 
 // Pantheon Systems, Inc. : https://pantheon.io/
-// Submitted by Gary Dylina <[email protected]> 2015-09-14
+// Submitted by Gary Dylina <[email protected]>
 pantheon.io
 gotpantheon.com
 
+// prgmr.com : https://prgmr.com/
+// Submitted by Sarah Newman <[email protected]>
+xen.prgmr.com
+
 // priv.at : http://www.nic.priv.at/
-// Submitted by registry <[email protected]> 2008-06-09
+// Submitted by registry <[email protected]>
 priv.at
 
 // QA2
-// Submitted by Daniel Dent (https://www.danieldent.com/) 2015-07-16
+// Submitted by Daniel Dent (https://www.danieldent.com/)
 qa2.com
 
 // Rackmaze LLC : https://www.rackmaze.com
-// Submitted by Kirill Pertsev <[email protected]> 2015-12-02
+// Submitted by Kirill Pertsev <[email protected]>
 rackmaze.com
 rackmaze.net
 
 // Red Hat, Inc. OpenShift : https://openshift.redhat.com/
-// Submitted by Tim Kramer <[email protected]> 2012-10-24
+// Submitted by Tim Kramer <[email protected]>
 rhcloud.com
 
 // Sandstorm Development Group, Inc. : https://sandcats.io/
-// Submitted by Asheesh Laroia <[email protected]> 2015-07-21
+// Submitted by Asheesh Laroia <[email protected]>
 sandcats.io
 
 // Service Online LLC : http://drs.ua/
-// Submitted by Serhii Bulakh <[email protected]> 2015-07-30
+// Submitted by Serhii Bulakh <[email protected]>
 biz.ua
 co.ua
 pp.ua
 
 // SinaAppEngine : http://sae.sina.com.cn/
-// Submitted by SinaAppEngine <[email protected]> 2015-02-02
+// Submitted by SinaAppEngine <[email protected]>
 sinaapp.com
 vipsinaapp.com
 1kapp.com
 
 // Synology, Inc. : https://www.synology.com/
-// Submitted by Rony Weng <[email protected]> 2015-12-02
+// Submitted by Rony Weng <[email protected]>
 diskstation.me
 dscloud.biz
 dscloud.me
@@ -11729,18 +11747,18 @@ med.pl
 sopot.pl
 
 // UDR Limited : http://www.udr.hk.com
-// Submitted by registry <[email protected]> 2014-11-07
+// Submitted by registry <[email protected]>
 hk.com
 hk.org
 ltd.hk
 inc.hk
 
 // Yola : https://www.yola.com/
-// Submitted by Stefano Rivera <[email protected]> 2014-07-09
+// Submitted by Stefano Rivera <[email protected]>
 yolasite.com
 
 // ZaNiC : http://www.za.net/
-// Submitted by registry <[email protected]> 2009-10-03
+// Submitted by registry <[email protected]>
 za.net
 za.org
 
diff --git a/net/ddns-scripts/files/update_CloudFlare.sh b/net/ddns-scripts/files/update_CloudFlare.sh
deleted file mode 100644 (file)
index 15f3afd..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-#
-#.Distributed under the terms of the GNU General Public License (GPL) version 2.0
-#
-# script for sending updates to cloudflare.com
-#.2014-2015 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
-# many thanks to Paul for testing and feedback during development
-#
-# This script is parsed by dynamic_dns_functions.sh inside send_update() function
-#
-# using following options from /etc/config/ddns
-# option username - your cloudflare e-mail
-# option password - cloudflare api key, you can get it from cloudflare.com/my-account/
-# option domain   - your full hostname to update, in cloudflare its subdomain.domain
-#                      i.e. myhost.example.com where myhost is the subdomain and example.com is your domain
-#
-# variable __IP already defined with the ip-address to use for update
-#
-[ $use_https -eq 0 ] && write_log 14 "Cloudflare only support updates via Secure HTTP (HTTPS). Please correct configuration!"
-[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing 'username'"
-[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing 'password'"
-
-local __RECID __URL __KEY __KEYS __FOUND __SUBDOM __DOMAIN __TLD
-
-# split given Host/Domain into TLD, registrable domain, and subdomain
-split_FQDN $domain __TLD __DOMAIN __SUBDOM
-[ $? -ne 0 -o -z "$__DOMAIN" ] && \
-       write_log 14 "Wrong Host/Domain configuration ($domain). Please correct configuration!"
-
-# put together what we need
-__DOMAIN="$__DOMAIN.$__TLD"
-
-# parse OpenWrt script with
-# functions for parsing and generating json
-. /usr/share/libubox/jshn.sh
-
-# function copied from /usr/share/libubox/jshn.sh
-# from BB14.09 for backward compatibility to AA12.09
-grep -i "json_get_keys" /usr/share/libubox/jshn.sh >/dev/null 2>&1 || json_get_keys() {
-       local __dest="$1"
-       local _tbl_cur
-
-       if [ -n "$2" ]; then
-               json_get_var _tbl_cur "$2"
-       else
-               _json_get_var _tbl_cur JSON_CUR
-       fi
-       local __var="${JSON_PREFIX}KEYS_${_tbl_cur}"
-       eval "export -- \"$__dest=\${$__var}\"; [ -n \"\${$__var+x}\" ]"
-}
-
-# function to "sed" unwanted string parts from DATFILE
-cleanup() {
-       # based on the sample output on cloudflare.com homepage we need to do some cleanup
-       sed -i 's/^[ \t]*//;s/[ \t]*$//' $DATFILE       # remove invisible chars at beginning and end of lines
-       sed -i '/^-$/d' $DATFILE                        # remove lines with "-" (dash)
-       sed -i '/^$/d' $DATFILE                         # remove empty lines
-       sed -i "#'##g" $DATFILE                         # remove "'" (single quote)
-}
-
-[ -n "$rec_id" ] && __RECID="$rec_id" || {
-       # build url according to cloudflare client api at https://www.cloudflare.com/docs/client-api.html
-       # to "rec_load_all" to detect rec_id needed for update
-       __URL="https://www.cloudflare.com/api_json.html"        # https://www.cloudflare.com/api_json.html
-       __URL="${__URL}?a=rec_load_all"                         #  -d 'a=rec_load_all'
-       __URL="${__URL}&tkn=$password"                          #  -d 'tkn=8afbe6dea02407989af4dd4c97bb6e25'
-       __URL="${__URL}&email=$username"                        #  -d '[email protected]'
-       __URL="${__URL}&z=$__DOMAIN"                            #  -d 'z=example.com'
-
-       # lets request the data
-       do_transfer "$__URL" || return 1
-
-       cleanup                         # cleanup dat file
-       json_load "$(cat $DATFILE)"     # lets extract data
-       __FOUND=0                       # found record indicator
-       json_get_var __RES "result"     # cloudflare result of last request
-       json_get_var __MSG "msg"        # cloudflare error message
-       [ "$__RES" != "success" ] && {
-               write_log 4 "'rec_load_all' failed with error: \n$__MSG"
-               return 1
-       }
-
-       json_select "response"
-       json_select "recs"
-       json_select "objs"
-       json_get_keys __KEYS
-       for __KEY in $__KEYS; do
-               local __ZONE __DISPLAY __NAME __TYPE
-               json_select "$__KEY"
-       #       json_get_var __ZONE "zone_name"         # for debugging
-       #       json_get_var __DISPLAY "display_name"   # for debugging
-               json_get_var __NAME "name"
-               json_get_var __TYPE "type"
-               if [ "$__NAME" = "$domain" ]; then
-                       # we must verify IPv4 and IPv6 because there might be both for the same host
-                       [ \( $use_ipv6 -eq 0 -a "$__TYPE" = "A" \) -o \( $use_ipv6 -eq 1 -a "$__TYPE" = "AAAA" \) ] && {
-                               __FOUND=1       # mark found
-                               break           # found leave for loop
-                       }
-               fi
-               json_select ..
-       done
-       [ $__FOUND -eq 0 ] && {
-               # we don't need to continue trying to update cloudflare because record to update does not exist
-               # user has to setup record first outside ddns-scripts
-               write_log 14 "No valid record found at Cloudflare setup. Please create first!"
-       }
-       json_get_var __RECID "rec_id"   # last thing to do get rec_id
-       json_cleanup                    # cleanup
-       write_log 7 "rec_id '$__RECID' detected for host/domain '$domain'"
-}
-
-# build url according to cloudflare client api at https://www.cloudflare.com/docs/client-api.html
-# for "rec_edit" to update IP address
-__URL="https://www.cloudflare.com/api_json.html"       # https://www.cloudflare.com/api_json.html
-__URL="${__URL}?a=rec_edit"                            #  -d 'a=rec_edit'
-__URL="${__URL}&tkn=$password"                         #  -d 'tkn=8afbe6dea02407989af4dd4c97bb6e25'
-__URL="${__URL}&id=$__RECID"                           #  -d 'id=9001'
-__URL="${__URL}&email=$username"                       #  -d '[email protected]'
-__URL="${__URL}&z=$__DOMAIN"                           #  -d 'z=example.com'
-
-[ $use_ipv6 -eq 0 ] && __URL="${__URL}&type=A"         #  -d 'type=A'          (IPv4)
-[ $use_ipv6 -eq 1 ] && __URL="${__URL}&type=AAAA"      #  -d 'type=AAAA'       (IPv6)
-
-# handle subdomain or domain record
-[ -n "$__SUBDOM" ] && __URL="${__URL}&name=$__SUBDOM"  #  -d 'name=sub'        (HOST/SUBDOMAIN)
-[ -z "$__SUBDOM" ] && __URL="${__URL}&name=$__DOMAIN"  #  -d 'name=example.com'(DOMAIN)
-
-__URL="${__URL}&content=$__IP"                         #  -d 'content=1.2.3.4'
-__URL="${__URL}&service_mode=0"                                #  -d 'service_mode=0'
-__URL="${__URL}&ttl=1"                                 #  -d 'ttl=1'
-
-# lets do the update
-do_transfer "$__URL" || return 1
-
-cleanup                                # cleanup tmp file
-json_load "$(cat $DATFILE)"    # lets extract data
-json_get_var __RES "result"    # cloudflare result of last request
-json_get_var __MSG "msg"       # cloudflare error message
-[ "$__RES" != "success" ] && {
-       write_log 4 "'rec_edit' failed with error:\n$__MSG"
-       return 1
-}
-write_log 7 "Update of rec_id '$__RECID' successful"
-return 0
diff --git a/net/ddns-scripts/files/update_No-IP.com.sh b/net/ddns-scripts/files/update_No-IP.com.sh
deleted file mode 100644 (file)
index 9d73448..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-#.Distributed under the terms of the GNU General Public License (GPL) version 2.0
-#
-# script for sending updates to no-ip.com / noip.com
-#.2014-2015 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
-#
-# This script is parsed by dynamic_dns_functions.sh inside send_update() function
-#
-# provider did not reactivate records, if no IP change was recognized
-# so we send a dummy (localhost) and a seconds later we send the correct IP addr
-#
-local __DUMMY
-local __UPDURL="http://[USERNAME]:[PASSWORD]@dynupdate.no-ip.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
-# inside url we need username and password
-[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing 'username'"
-[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing 'password'"
-
-# set IP version dependend dummy (localhost)
-[ $use_ipv6 -eq 0 ] && __DUMMY="127.0.0.1" || __DUMMY="::1"
-
-# lets do DUMMY transfer
-write_log 7 "sending dummy IP to 'no-ip.com'"
-__URL=$(echo $__UPDURL | sed -e "s#\[USERNAME\]#$URL_USER#g" -e "s#\[PASSWORD\]#$URL_PASS#g" \
-                              -e "s#\[DOMAIN\]#$domain#g" -e "s#\[IP\]#$__DUMMY#g")
-[ $use_https -ne 0 ] && __URL=$(echo $__URL | sed -e 's#^http:#https:#')
-
-do_transfer "$__URL" || return 1
-
-write_log 7 "'no-ip.com' answered:\n$(cat $DATFILE)"
-# analyse provider answers
-# "good [IP_ADR]"      = successful
-# "nochg [IP_ADR]"     = no change but OK
-grep -E "good|nochg" $DATFILE >/dev/null 2>&1 || return 1
-
-# lets wait a seconds
-sleep 1
-
-# now send the correct data
-write_log 7 "sending real IP to 'no-ip.com'"
-__URL=$(echo $__UPDURL | sed -e "s#\[USERNAME\]#$URL_USER#g" -e "s#\[PASSWORD\]#$URL_PASS#g" \
-                              -e "s#\[DOMAIN\]#$domain#g" -e "s#\[IP\]#$__IP#g")
-[ $use_https -ne 0 ] && __URL=$(echo $__URL | sed -e 's#^http:#https:#')
-
-do_transfer "$__URL" || return 1
-
-write_log 7 "'no-ip.com' answered:\n$(cat $DATFILE)"
-# analyse provider answers
-# "good [IP_ADR]"      = successful
-# "nochg [IP_ADR]"     = no change but OK
-grep -E "good|nochg" $DATFILE >/dev/null 2>&1
-return $?      # "0" if "good" or "nochg" found
-
diff --git a/net/ddns-scripts/files/update_cloudflare_com.sh b/net/ddns-scripts/files/update_cloudflare_com.sh
new file mode 100755 (executable)
index 0000000..15f3afd
--- /dev/null
@@ -0,0 +1,144 @@
+#
+#.Distributed under the terms of the GNU General Public License (GPL) version 2.0
+#
+# script for sending updates to cloudflare.com
+#.2014-2015 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
+# many thanks to Paul for testing and feedback during development
+#
+# This script is parsed by dynamic_dns_functions.sh inside send_update() function
+#
+# using following options from /etc/config/ddns
+# option username - your cloudflare e-mail
+# option password - cloudflare api key, you can get it from cloudflare.com/my-account/
+# option domain   - your full hostname to update, in cloudflare its subdomain.domain
+#                      i.e. myhost.example.com where myhost is the subdomain and example.com is your domain
+#
+# variable __IP already defined with the ip-address to use for update
+#
+[ $use_https -eq 0 ] && write_log 14 "Cloudflare only support updates via Secure HTTP (HTTPS). Please correct configuration!"
+[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing 'username'"
+[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing 'password'"
+
+local __RECID __URL __KEY __KEYS __FOUND __SUBDOM __DOMAIN __TLD
+
+# split given Host/Domain into TLD, registrable domain, and subdomain
+split_FQDN $domain __TLD __DOMAIN __SUBDOM
+[ $? -ne 0 -o -z "$__DOMAIN" ] && \
+       write_log 14 "Wrong Host/Domain configuration ($domain). Please correct configuration!"
+
+# put together what we need
+__DOMAIN="$__DOMAIN.$__TLD"
+
+# parse OpenWrt script with
+# functions for parsing and generating json
+. /usr/share/libubox/jshn.sh
+
+# function copied from /usr/share/libubox/jshn.sh
+# from BB14.09 for backward compatibility to AA12.09
+grep -i "json_get_keys" /usr/share/libubox/jshn.sh >/dev/null 2>&1 || json_get_keys() {
+       local __dest="$1"
+       local _tbl_cur
+
+       if [ -n "$2" ]; then
+               json_get_var _tbl_cur "$2"
+       else
+               _json_get_var _tbl_cur JSON_CUR
+       fi
+       local __var="${JSON_PREFIX}KEYS_${_tbl_cur}"
+       eval "export -- \"$__dest=\${$__var}\"; [ -n \"\${$__var+x}\" ]"
+}
+
+# function to "sed" unwanted string parts from DATFILE
+cleanup() {
+       # based on the sample output on cloudflare.com homepage we need to do some cleanup
+       sed -i 's/^[ \t]*//;s/[ \t]*$//' $DATFILE       # remove invisible chars at beginning and end of lines
+       sed -i '/^-$/d' $DATFILE                        # remove lines with "-" (dash)
+       sed -i '/^$/d' $DATFILE                         # remove empty lines
+       sed -i "#'##g" $DATFILE                         # remove "'" (single quote)
+}
+
+[ -n "$rec_id" ] && __RECID="$rec_id" || {
+       # build url according to cloudflare client api at https://www.cloudflare.com/docs/client-api.html
+       # to "rec_load_all" to detect rec_id needed for update
+       __URL="https://www.cloudflare.com/api_json.html"        # https://www.cloudflare.com/api_json.html
+       __URL="${__URL}?a=rec_load_all"                         #  -d 'a=rec_load_all'
+       __URL="${__URL}&tkn=$password"                          #  -d 'tkn=8afbe6dea02407989af4dd4c97bb6e25'
+       __URL="${__URL}&email=$username"                        #  -d '[email protected]'
+       __URL="${__URL}&z=$__DOMAIN"                            #  -d 'z=example.com'
+
+       # lets request the data
+       do_transfer "$__URL" || return 1
+
+       cleanup                         # cleanup dat file
+       json_load "$(cat $DATFILE)"     # lets extract data
+       __FOUND=0                       # found record indicator
+       json_get_var __RES "result"     # cloudflare result of last request
+       json_get_var __MSG "msg"        # cloudflare error message
+       [ "$__RES" != "success" ] && {
+               write_log 4 "'rec_load_all' failed with error: \n$__MSG"
+               return 1
+       }
+
+       json_select "response"
+       json_select "recs"
+       json_select "objs"
+       json_get_keys __KEYS
+       for __KEY in $__KEYS; do
+               local __ZONE __DISPLAY __NAME __TYPE
+               json_select "$__KEY"
+       #       json_get_var __ZONE "zone_name"         # for debugging
+       #       json_get_var __DISPLAY "display_name"   # for debugging
+               json_get_var __NAME "name"
+               json_get_var __TYPE "type"
+               if [ "$__NAME" = "$domain" ]; then
+                       # we must verify IPv4 and IPv6 because there might be both for the same host
+                       [ \( $use_ipv6 -eq 0 -a "$__TYPE" = "A" \) -o \( $use_ipv6 -eq 1 -a "$__TYPE" = "AAAA" \) ] && {
+                               __FOUND=1       # mark found
+                               break           # found leave for loop
+                       }
+               fi
+               json_select ..
+       done
+       [ $__FOUND -eq 0 ] && {
+               # we don't need to continue trying to update cloudflare because record to update does not exist
+               # user has to setup record first outside ddns-scripts
+               write_log 14 "No valid record found at Cloudflare setup. Please create first!"
+       }
+       json_get_var __RECID "rec_id"   # last thing to do get rec_id
+       json_cleanup                    # cleanup
+       write_log 7 "rec_id '$__RECID' detected for host/domain '$domain'"
+}
+
+# build url according to cloudflare client api at https://www.cloudflare.com/docs/client-api.html
+# for "rec_edit" to update IP address
+__URL="https://www.cloudflare.com/api_json.html"       # https://www.cloudflare.com/api_json.html
+__URL="${__URL}?a=rec_edit"                            #  -d 'a=rec_edit'
+__URL="${__URL}&tkn=$password"                         #  -d 'tkn=8afbe6dea02407989af4dd4c97bb6e25'
+__URL="${__URL}&id=$__RECID"                           #  -d 'id=9001'
+__URL="${__URL}&email=$username"                       #  -d '[email protected]'
+__URL="${__URL}&z=$__DOMAIN"                           #  -d 'z=example.com'
+
+[ $use_ipv6 -eq 0 ] && __URL="${__URL}&type=A"         #  -d 'type=A'          (IPv4)
+[ $use_ipv6 -eq 1 ] && __URL="${__URL}&type=AAAA"      #  -d 'type=AAAA'       (IPv6)
+
+# handle subdomain or domain record
+[ -n "$__SUBDOM" ] && __URL="${__URL}&name=$__SUBDOM"  #  -d 'name=sub'        (HOST/SUBDOMAIN)
+[ -z "$__SUBDOM" ] && __URL="${__URL}&name=$__DOMAIN"  #  -d 'name=example.com'(DOMAIN)
+
+__URL="${__URL}&content=$__IP"                         #  -d 'content=1.2.3.4'
+__URL="${__URL}&service_mode=0"                                #  -d 'service_mode=0'
+__URL="${__URL}&ttl=1"                                 #  -d 'ttl=1'
+
+# lets do the update
+do_transfer "$__URL" || return 1
+
+cleanup                                # cleanup tmp file
+json_load "$(cat $DATFILE)"    # lets extract data
+json_get_var __RES "result"    # cloudflare result of last request
+json_get_var __MSG "msg"       # cloudflare error message
+[ "$__RES" != "success" ] && {
+       write_log 4 "'rec_edit' failed with error:\n$__MSG"
+       return 1
+}
+write_log 7 "Update of rec_id '$__RECID' successful"
+return 0
diff --git a/net/ddns-scripts/files/update_no-ip_com.sh b/net/ddns-scripts/files/update_no-ip_com.sh
new file mode 100755 (executable)
index 0000000..9d73448
--- /dev/null
@@ -0,0 +1,52 @@
+#
+#.Distributed under the terms of the GNU General Public License (GPL) version 2.0
+#
+# script for sending updates to no-ip.com / noip.com
+#.2014-2015 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
+#
+# This script is parsed by dynamic_dns_functions.sh inside send_update() function
+#
+# provider did not reactivate records, if no IP change was recognized
+# so we send a dummy (localhost) and a seconds later we send the correct IP addr
+#
+local __DUMMY
+local __UPDURL="http://[USERNAME]:[PASSWORD]@dynupdate.no-ip.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
+# inside url we need username and password
+[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing 'username'"
+[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing 'password'"
+
+# set IP version dependend dummy (localhost)
+[ $use_ipv6 -eq 0 ] && __DUMMY="127.0.0.1" || __DUMMY="::1"
+
+# lets do DUMMY transfer
+write_log 7 "sending dummy IP to 'no-ip.com'"
+__URL=$(echo $__UPDURL | sed -e "s#\[USERNAME\]#$URL_USER#g" -e "s#\[PASSWORD\]#$URL_PASS#g" \
+                              -e "s#\[DOMAIN\]#$domain#g" -e "s#\[IP\]#$__DUMMY#g")
+[ $use_https -ne 0 ] && __URL=$(echo $__URL | sed -e 's#^http:#https:#')
+
+do_transfer "$__URL" || return 1
+
+write_log 7 "'no-ip.com' answered:\n$(cat $DATFILE)"
+# analyse provider answers
+# "good [IP_ADR]"      = successful
+# "nochg [IP_ADR]"     = no change but OK
+grep -E "good|nochg" $DATFILE >/dev/null 2>&1 || return 1
+
+# lets wait a seconds
+sleep 1
+
+# now send the correct data
+write_log 7 "sending real IP to 'no-ip.com'"
+__URL=$(echo $__UPDURL | sed -e "s#\[USERNAME\]#$URL_USER#g" -e "s#\[PASSWORD\]#$URL_PASS#g" \
+                              -e "s#\[DOMAIN\]#$domain#g" -e "s#\[IP\]#$__IP#g")
+[ $use_https -ne 0 ] && __URL=$(echo $__URL | sed -e 's#^http:#https:#')
+
+do_transfer "$__URL" || return 1
+
+write_log 7 "'no-ip.com' answered:\n$(cat $DATFILE)"
+# analyse provider answers
+# "good [IP_ADR]"      = successful
+# "nochg [IP_ADR]"     = no change but OK
+grep -E "good|nochg" $DATFILE >/dev/null 2>&1
+return $?      # "0" if "good" or "nochg" found
+