ddns-scripts: Update to version 2.2.0-1
authorChristian Schoenebeck <redacted>
Thu, 5 Feb 2015 20:33:02 +0000 (21:33 +0100)
committerChristian Schoenebeck <redacted>
Thu, 5 Feb 2015 20:33:02 +0000 (21:33 +0100)
modified source directory structure
  - files for production files
  - samples for sample files (not installed in final build)
modified Makefile
  - separate options for additional provider scripts
  - remove comments and empty lines from final build
add IPv4 100.64/10 (RFC 6598) and 169.254/16 (RFC 5735) to the range of default blocked IP's.
new option "bind_network" to force GNU Wget or cURL to use specific network/interface for communication
new "domains.google.com" as IPv4 DDNS provider #822

Signed-off-by: Christian Schoenebeck <redacted>
15 files changed:
net/ddns-scripts/Makefile
net/ddns-scripts/files/ddns.config [moved from net/ddns-scripts/files/etc/config/ddns with 100% similarity]
net/ddns-scripts/files/ddns.hotplug [moved from net/ddns-scripts/files/etc/hotplug.d/iface/95-ddns with 100% similarity]
net/ddns-scripts/files/ddns.init [moved from net/ddns-scripts/files/etc/init.d/ddns with 100% similarity]
net/ddns-scripts/files/dynamic_dns_functions.sh [moved from net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh with 95% similarity]
net/ddns-scripts/files/dynamic_dns_lucihelper.sh [moved from net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_lucihelper.sh with 94% similarity]
net/ddns-scripts/files/dynamic_dns_updater.sh [moved from net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh with 98% similarity]
net/ddns-scripts/files/services [moved from net/ddns-scripts/files/usr/lib/ddns/services with 95% similarity]
net/ddns-scripts/files/services_ipv6 [moved from net/ddns-scripts/files/usr/lib/ddns/services_ipv6 with 97% similarity]
net/ddns-scripts/files/tld_names.dat [moved from net/ddns-scripts/files/usr/lib/ddns/tld_names.dat with 97% similarity]
net/ddns-scripts/files/update_CloudFlare.sh [moved from net/ddns-scripts/files/usr/lib/ddns/update_cloudflare.sh with 93% similarity]
net/ddns-scripts/files/update_No-IP.com.sh [moved from net/ddns-scripts/files/usr/lib/ddns/update_no-ip.sh with 92% similarity]
net/ddns-scripts/samples/ddns.config_sample [moved from net/ddns-scripts/files/etc/config/ddns.sample with 96% similarity]
net/ddns-scripts/samples/getlocalip_sample.sh [moved from net/ddns-scripts/files/usr/lib/ddns/getlocalip_sample.sh with 100% similarity]
net/ddns-scripts/samples/update_sample.sh [moved from net/ddns-scripts/files/usr/lib/ddns/update_sample.sh with 100% similarity]

index 231d1ca196c572de76be998304da23e7c9ca2086..d0d9fad7f73a2dbc9df008b5e592fb179250377b 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ddns-scripts
-PKG_VERSION:=2.1.0
-PKG_RELEASE:=5
+# Version == major.minor.patch
+# increase on new functionality (minor) or patches (patch)
+PKG_VERSION:=2.2.0
+# Release == build
+# increase on changes of services files or tld_names.dat
+PKG_RELEASE:=1
+
 PKG_LICENSE:=GPL-2.0
 PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
-
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/ddns-scripts
+define Package/$(PKG_NAME)/Default
     SECTION:=net
     CATEGORY:=Network
     SUBMENU:=IP Addresses and Names
-    TITLE:=Dynamic DNS Scripts (with IPv6 support)
     PKGARCH:=all
 endef
 
-define Package/ddns-scripts/description
-A highly configurable set of scripts for doing dynamic dns updates.
-       - IPv6 support
-       - force communication to IPv4 or IPv6 only
-       - DNS server support
-       - using BIND host if installed
-       - DNS requests via TCP
-       - Proxy server support
-       - log file support
-       - support to run once
+define Package/$(PKG_NAME)
+    $(call Package/$(PKG_NAME)/Default)
+    TITLE:=Dynamic DNS Client scripts (with IPv6 support)
+endef
+# shown in LuCI package description
+define Package/$(PKG_NAME)/description
+    Dynamic DNS Client scripts (with IPv6 support) - Info: http://wiki.openwrt.org/doc/howto/ddns.client
+endef
+# shown in menuconfig <Help>
+define Package/$(PKG_NAME)/config
+       help
+               A highly configurable set of scripts for doing dynamic dns updates.
+                 - IPv6 support
+                 - force communication to IPv4 or IPv6 only
+                 - DNS server support
+                 - using BIND host if installed
+                 - DNS requests via TCP
+                 - 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 Build/Prepare
+define Package/$(PKG_NAME)_CloudFlare
+    $(call Package/$(PKG_NAME)/Default)
+    TITLE:=DDNS extension for CloudFlare
+    DEPENDS:=+$(PKG_NAME)
+endef
+define Package/$(PKG_NAME)_CloudFlare/description
+    Dynamic DNS Client scripts extension for CloudFlare
 endef
 
-define Build/Configure
+define Package/$(PKG_NAME)_No-IP_com
+    $(call Package/$(PKG_NAME)/Default)
+    TITLE:=DDNS extension for No-IP.com
+    DEPENDS:=+$(PKG_NAME)
+endef
+define Package/$(PKG_NAME)_No-IP_com/description
+    Dynamic DNS Client scripts extension for No-IP.com
 endef
 
+define Build/Configure
+endef
 define Build/Compile
+       $(CP) ./files $(PKG_BUILD_DIR)
+       for FILE in `find $(PKG_BUILD_DIR)/files -type f`; do \
+               $(SED) 's/^\s*#/#/' \
+               -e '/^#\s\|^#$$$$/d' \
+               -e 's/\s#\s.*$$$$//' \
+               -e 's/\s*$$$$//' \
+               -e '/^\/\/\s/d' \
+               -e '/^\s*$$$$/d'        $$$$FILE; \
+       done
 endef
 
-define Package/ddns-scripts/conffiles
+define Package/$(PKG_NAME)/conffiles
 /etc/config/ddns
 endef
 
-define Package/ddns-scripts/install
-       $(INSTALL_DIR) $(1)/etc/config
-       $(INSTALL_CONF) ./files/etc/config/* $(1)/etc/config
-
+define Package/$(PKG_NAME)/install
        $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
-       $(INSTALL_BIN) ./files/etc/hotplug.d/iface/* $(1)/etc/hotplug.d/iface
-
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.hotplug $(1)/etc/hotplug.d/iface/95-ddns
        $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_BIN) ./files/etc/init.d/* $(1)/etc/init.d/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.init $(1)/etc/init.d/ddns
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_CONF) $(PKG_BUILD_DIR)/files/ddns.config $(1)/etc/config/ddns
 
        $(INSTALL_DIR) $(1)/usr/lib/ddns
-       $(INSTALL_DATA) ./files/usr/lib/ddns/* $(1)/usr/lib/ddns
-       $(INSTALL_BIN)  ./files/usr/lib/ddns/*.sh $(1)/usr/lib/ddns
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/files/services* $(1)/usr/lib/ddns
+       $(INSTALL_BIN)  $(PKG_BUILD_DIR)/files/dynamic_*.sh $(1)/usr/lib/ddns
+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_DATA) $(PKG_BUILD_DIR)/files/tld_names.dat $(1)/usr/lib/ddns
+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
 endef
 
-define Package/ddns-scripts/postinst
+define Package/$(PKG_NAME)/postinst
        #!/bin/sh
        # if run within buildroot exit
        [ -n "$${IPKG_INSTROOT}" ] && exit 0
@@ -75,8 +123,18 @@ define Package/ddns-scripts/postinst
 
        exit 0
 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
+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
+endef
 
-define Package/ddns-scripts/prerm
+define Package/$(PKG_NAME)/prerm
        #!/bin/sh
        # if run within buildroot exit
        [ -n "$${IPKG_INSTROOT}" ] && exit 0
@@ -90,5 +148,16 @@ define Package/ddns-scripts/prerm
 
        exit 0
 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
+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
+endef
 
-$(eval $(call BuildPackage,ddns-scripts))
+$(eval $(call BuildPackage,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)_CloudFlare))
+$(eval $(call BuildPackage,$(PKG_NAME)_No-IP_com))
similarity index 95%
rename from net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh
rename to net/ddns-scripts/files/dynamic_dns_functions.sh
index 4160911197a20b63ee6ac232f106e489e3087db1..2df699ac6257584b2783aa594bbbcdd9e389aa39 100644 (file)
@@ -2,12 +2,12 @@
 # /usr/lib/ddns/dynamic_dns_functions.sh
 #
 # Original written by Eric Paul Bishop, January 2008
-# Distributed under the terms of the GNU General Public License (GPL) version 2.0
+#.Distributed under the terms of the GNU General Public License (GPL) version 2.0
 # (Loosely) based on the script on the one posted by exobyte in the forums here:
 # http://forum.openwrt.org/viewtopic.php?id=14040
 #
-# extended and partial rewritten in August 2014
-# by Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
+# extended and partial rewritten in August 2014 by
+#.Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
 # to support:
 # - IPv6 DDNS services
 # - setting DNS Server to retrieve current IP including TCP transport
@@ -235,6 +235,7 @@ write_log() {
        fi
        [ $LUCI_HELPER ]   && return    # nothing else todo when running LuCI helper script
        [ $__LEVEL -eq 7 ] && return    # no syslog for debug messages
+       __CMD=$(echo -e "$__CMD" | tr -d '\n' | tr '\t' '     ')        # remove \n \t chars
        [ $__EXIT  -eq 1 ] && {
                $__CMD          # force syslog before exit
                exit 1
@@ -342,7 +343,7 @@ get_seconds() {
 }
 
 timeout() {
-       # copied from http://www.ict.griffith.edu.au/anthony/software/timeout.sh
+       #.copied from http://www.ict.griffith.edu.au/anthony/software/timeout.sh
        # only did the following changes
        #       - commented out "#!/bin/bash" and usage section
        #       - replace exit by return for usage as function
@@ -357,8 +358,6 @@ timeout() {
        # Example use
        #    timeout 5 countdown
        #
-       ###
-       #
        # Based on notes in my "Shell Script Hints", section "Command Timeout"
        #   http://www.ict.griffith.edu.au/~anthony/info/shell/script.hints
        #
@@ -369,9 +368,7 @@ timeout() {
        # It took years of occasional trials, errors and testing to get a pure bash
        # timeout command working as well as this does.
        #
-       ###
-       #
-       # Anthony Thyssen     6 April 2011
+       #.Anthony Thyssen     6 April 2011
        #
 #      PROGNAME=$(type $0 | awk '{print $3}')  # search for executable on path
 #      PROGDIR=$(dirname $PROGNAME)            # extract directory of program
@@ -638,6 +635,16 @@ do_transfer() {
        # lets prefer GNU Wget because it does all for us - IPv4/IPv6/HTTPS/PROXY/force IP version
        if /usr/bin/wget --version 2>&1 | grep "\+ssl" >/dev/null 2>&1 ; then
                __PROG="/usr/bin/wget -nv -t 1 -O $DATFILE -o $ERRFILE" # non_verbose no_retry outfile errfile
+               # force network/ip to use for communication
+               if [ -n "$bind_network" ]; then
+                       local __BINDIP
+                       # set correct program to detect IP
+                       [ $use_ipv6 -eq 0 ] && __RUNPROG="network_get_ipaddr" || __RUNPROG="network_get_ipaddr6"
+                       eval "$__RUNPROG __BINDIP $bind_network" || \
+                               write_log 13 "Can not detect local IP using '$__RUNPROG $bind_network' - Error: '$?'"
+                       write_log 7 "Force communication via IP '$__BINDIP'"
+                       __PROG="$__PROG --bind-address=$__BINDIP"
+               fi
                # force ip version to use
                if [ $force_ipversion -eq 1 ]; then
                        [ $use_ipv6 -eq 0 ] && __PROG="$__PROG -4" || __PROG="$__PROG -6"       # force IPv4/IPv6
@@ -664,6 +671,14 @@ do_transfer() {
        # libcurl might be compiled without Proxy Support (default in trunk)
        elif [ -x /usr/bin/curl ]; then
                __PROG="/usr/bin/curl -RsS -o $DATFILE --stderr $ERRFILE"
+               # force network/interface-device to use for communication
+               if [ -n "$bind_network" ]; then
+                       local __DEVICE
+                       network_get_physdev __DEVICE $bind_network || \
+                               write_log 13 "Can not detect local device using 'network_get_physdev $bind_network' - Error: '$?'"
+                       write_log 7 "Force communication via device '$__DEVICE'"
+                       __PROG="$__PROG --interface $__DEVICE"
+               fi
                # force ip version to use
                if [ $force_ipversion -eq 1 ]; then
                        [ $use_ipv6 -eq 0 ] && __PROG="$__PROG -4" || __PROG="$__PROG -6"       # force IPv4/IPv6
@@ -697,9 +712,12 @@ do_transfer() {
        # busybox Wget (did not support neither IPv6 nor HTTPS)
        elif [ -x /usr/bin/wget ]; then
                __PROG="/usr/bin/wget -q -O $DATFILE"
+               # force network/ip not supported
+               [ -n "$__BINDIP" ] && \
+                       write_log 14 "BusyBox Wget: FORCE binding to specific address not supported"
                # force ip version not supported
                [ $force_ipversion -eq 1 ] && \
-                       write_log 14 "BusyBox Wget: can not force IP version to use"
+                       write_log 14 "BusyBox Wget: Force connecting to IPv4 or IPv6 addresses not supported"
                # https not supported
                [ $use_https -eq 1 ] && \
                        write_log 14 "BusyBox Wget: no HTTPS support"
@@ -752,7 +770,7 @@ send_update() {
 
        if [ $ALLOW_LOCAL_IP -eq 0 ]; then
                # verify given IP / no private IPv4's / no IPv6 addr starting with fxxx of with ":"
-               [ $use_ipv6 -eq 0 ] && __IP=$(echo $1 | grep -v -E "(^0|^10\.|^127|^172\.1[6-9]\.|^172\.2[0-9]\.|^172\.3[0-1]\.|^192\.168)")
+               [ $use_ipv6 -eq 0 ] && __IP=$(echo $1 | grep -v -E "(^0|^10\.|^100\.6[4-9]\.|^100\.[7-9][0-9]\.|^100\.1[0-1][0-9]\.|^100\.12[0-7]\.|^127|^169\.254|^172\.1[6-9]\.|^172\.2[0-9]\.|^172\.3[0-1]\.|^192\.168)")
                [ $use_ipv6 -eq 1 ] && __IP=$(echo $1 | grep "^[0-9a-eA-E]")
                [ -z "$__IP" ] && write_log 14 "Private or invalid or no IP '$1' given! Please check your configuration"
        else
@@ -788,7 +806,7 @@ get_local_ip () {
        local __RUNPROG __DATA __URL __ERR
 
        [ $# -ne 1 ] && write_log 12 "Error calling 'get_local_ip()' - wrong number of parameters"
-       write_log 7 "Detect local IP"
+       write_log 7 "Detect local IP on '$ip_source'"
 
        while : ; do
                case $ip_source in
@@ -796,8 +814,8 @@ get_local_ip () {
                                # set correct program
                                [ $use_ipv6 -eq 0 ] && __RUNPROG="network_get_ipaddr" \
                                                    || __RUNPROG="network_get_ipaddr6"
-                               write_log 7 "#> $__RUNPROG __DATA '$ip_network'"
-                               eval "$__RUNPROG __DATA $ip_network" || write_log 3 "$__RUNPROG Error: '$?'"
+                               eval "$__RUNPROG __DATA $ip_network" || \
+                                       write_log 13 "Can not detect local IP using $__RUNPROG '$ip_network' - Error: '$?'"
                                [ -n "$__DATA" ] && write_log 7 "Local IP '$__DATA' detected on network '$ip_network'"
                                ;;
                        interface)
@@ -857,7 +875,7 @@ get_local_ip () {
                                [ $use_ipv6 -eq 0 ] \
                                        && __DATA=$(grep -m 1 -o "$IPV4_REGEX" $DATFILE) \
                                        || __DATA=$(grep -m 1 -o "$IPV6_REGEX" $DATFILE)
-                               [ -n "$__DATA" ] && write_log 7 "Local IP '$__DATA' detected on web at '$__URL'"
+                               [ -n "$__DATA" ] && write_log 7 "Local IP '$__DATA' detected on web at '$ip_url'"
                                ;;
                        *)
                                write_log 12 "Error in 'get_local_ip()' - unhandled ip_source '$ip_source'"
similarity index 94%
rename from net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_lucihelper.sh
rename to net/ddns-scripts/files/dynamic_dns_lucihelper.sh
index 0c5449217890137ed8c224613aed2d8a3b24d8ca..cc22d25e6afe2a9045b8e5feacbcde49055ffd8a 100755 (executable)
@@ -1,8 +1,10 @@
 #!/bin/sh
 # /usr/lib/ddns/luci_dns_helper.sh
 #
-# Written in August 2014
-# by Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
+#.Distributed under the terms of the GNU General Public License (GPL) version 2.0
+#
+# Written in August 2014 by
+#.Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
 # This script is used by luci-app-ddns
 # - getting registered IP
 # - check if possible to get local IP
similarity index 98%
rename from net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh
rename to net/ddns-scripts/files/dynamic_dns_updater.sh
index 8127f5b86825d5e2b36e47a0ef606a5aea2fee66..d4941a133d05033d3f9a8eb55464a0c382302336 100644 (file)
@@ -2,12 +2,12 @@
 # /usr/lib/ddns/dynamic_dns_updater.sh
 #
 # Original written by Eric Paul Bishop, January 2008
-# Distributed under the terms of the GNU General Public License (GPL) version 2.0
+#.Distributed under the terms of the GNU General Public License (GPL) version 2.0
 # (Loosely) based on the script on the one posted by exobyte in the forums here:
 # http://forum.openwrt.org/viewtopic.php?id=14040
 #
-# extended and partial rewritten in August 2014
-# by Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
+# extended and partial rewritten in August 2014 by
+#.Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
 # to support:
 # - IPv6 DDNS services
 # - DNS Server to retrieve registered IP including TCP transport (Ticket 7820)
@@ -147,7 +147,7 @@ ERR_LAST=$? # save return code - equal 0 if SECTION_ID found
 write_log 7 "************ ************** ************** **************"
 write_log 5 "PID '$$' started at $(eval $DATE_PROG)"
 write_log 7 "uci configuration:\n$(uci -q show ddns.$SECTION_ID | sort)"
-write_log 7 "ddns version  : $(opkg list-installed ddns-scripts | awk '{print $3}')"
+write_log 7 "ddns version  : $(opkg list-installed ddns-scripts | cut -d ' ' -f 3)"
 case $VERBOSE_MODE in
        0) write_log  7 "verbose mode  : 0 - run normal, NO console output";;
        1) write_log  7 "verbose mode  : 1 - run normal, console mode";;
similarity index 95%
rename from net/ddns-scripts/files/usr/lib/ddns/services
rename to net/ddns-scripts/files/services
index 830bf2895555321355c360326acfac1d16841d2c..b3ac40564c3601ff5fbbc7b25d1efedde843f74b 100644 (file)
 "zoneedit.com"         "http://[USERNAME]:[PASSWORD]@dynamic.zoneedit.com/auth/dynamic.html?host=[DOMAIN]&dnsto=[IP]"
 "free.editdns.net"     "http://dyndns-free.editdns.net/api/dynLinux.php?p=[PASSWORD]&r=[DOMAIN]"
 
-# noip is an alias of no-ip, so allow both names for the same service
-# use provider specific update script
-"no-ip.com"    "update_no-ip.sh"
-"noip.com"     "update_no-ip.sh"
-
 # freedns.afraid.org is weird, you just need an update code, for which we use the password variable
 "freedns.afraid.org"   "http://freedns.afraid.org/dynamic/update.php?[PASSWORD]&address=[IP]"
 
 # LoopiaDNS
 "loopia.se" "http://[USERNAME]:[PASSWORD]@dns.loopia.se/XDynDNSServer/XDynDNS.php?system=custom&hostname=[DOMAIN]&myip=[IP]"
 
-# Cloudflare
-"cloudflare.com"       "update_cloudflare.sh"
-
 # SelfHost.de
 "selfhost.de"  "http://carol.selfhost.de/update?username=[USERNAME]&password=[PASSWORD]&myip=[IP]&hostname=1"
 
 # no-ip.pl nothing to do with no-ip.com (domain registered to www.domeny.tv) (IP autodetected by provider)
 "no-ip.pl"     "http://[USERNAME]:[PASSWORD]@update.no-ip.pl/?hostname=[DOMAIN]"
+
+# domains.google.com   non free service - require HTTPS communication
+"domains.google.com"   "https://[USERNAME]:[PASSWORD]@domains.google.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
similarity index 97%
rename from net/ddns-scripts/files/usr/lib/ddns/services_ipv6
rename to net/ddns-scripts/files/services_ipv6
index 798e11e42e12a860b6ed1df54452197150b29d8d..88831e9e7badc601d8891e986d68870ab2d22dc6 100644 (file)
@@ -33,9 +33,6 @@
 # IPv6 @ MyDNS.JP
 "mydns.jp"     "http://www.mydns.jp/directip.html?MID=[USERNAME]&PWD=[PASSWORD]&IPV6ADDR=[IP]"
 
-# IPv6 @ Cloudflare
-"cloudflare.com"       "update_cloudflare.sh"
-
 # IPv6 @ no-ip.pl nothing to do with no-ip.com (domain registered to www.domeny.tv) (IP autodetected by provider)
 "no-ip.pl"     "http://[USERNAME]:[PASSWORD]@update.no-ip.pl/?hostname=[DOMAIN]"
 
similarity index 97%
rename from net/ddns-scripts/files/usr/lib/ddns/tld_names.dat
rename to net/ddns-scripts/files/tld_names.dat
index 92e65e6b27461bf6e6b3fada335dc118d3b6c93a..7e1959f42580c3ada24c69f989dd6b1f4c2db6c3 100644 (file)
@@ -1149,7 +1149,7 @@ tt.im
 tv.im
 
 // in : http://en.wikipedia.org/wiki/.in
-// see also: http://www.inregistry.in/policies/
+// see also: https://registry.in/Policies
 // Please note, that nic.in is not an offical eTLD, but used by most
 // government institutions.
 in
@@ -7081,7 +7081,7 @@ xxx
 *.zw
 
 
-// List of new gTLDs imported from https://newgtlds.icann.org/newgtlds.csv on 2014-12-22T18:02:07Z
+// List of new gTLDs imported from https://newgtlds.icann.org/newgtlds.csv on 2015-01-27T00:02:07Z
 
 // abb : 2014-10-24 ABB Ltd
 abb
@@ -7104,6 +7104,9 @@ accountant
 // accountants : 2014-03-20 Knob Town, LLC
 accountants
 
+// aco : 2015-01-08 ACO Severin Ahlmann GmbH & Co. KG
+aco
+
 // active : 2014-05-01 The Active Network, Inc
 active
 
@@ -7134,6 +7137,12 @@ airforce
 // airtel : 2014-10-24 Bharti Airtel Limited
 airtel
 
+// alibaba : 2015-01-15 Alibaba Group Holding Limited
+alibaba
+
+// alipay : 2015-01-15 Alibaba Group Holding Limited
+alipay
+
 // allfinanz : 2014-07-03 Allfinanz Deutsche Vermögensberatung Aktiengesellschaft
 allfinanz
 
@@ -7149,6 +7158,9 @@ analytics
 // android : 2014-08-07 Charleston Road Registry Inc.
 android
 
+// anquan : 2015-01-08 QIHOO 360 TECHNOLOGY CO. LTD.
+anquan
+
 // apartments : 2014-12-11 June Maple, LLC
 apartments
 
@@ -7188,12 +7200,18 @@ auto
 // autos : 2014-01-09 DERAutos, LLC
 autos
 
+// avianca : 2015-01-08 Aerovias del Continente Americano S.A. Avianca
+avianca
+
 // axa : 2013-12-19 AXA SA
 axa
 
 // azure : 2014-12-18 Microsoft Corporation
 azure
 
+// baidu : 2015-01-08 Baidu, Inc.
+baidu
+
 // band : 2014-06-12
 band
 
@@ -7299,6 +7317,9 @@ bond
 // boo : 2014-01-30 Charleston Road Registry Inc.
 boo
 
+// boots : 2015-01-08 THE BOOTS COMPANY PLC
+boots
+
 // bot : 2014-12-18 Amazon EU S.à r.l.
 bot
 
@@ -7311,6 +7332,9 @@ bradesco
 // bridgestone : 2014-12-18 Bridgestone Corporation
 bridgestone
 
+// broadway : 2014-12-22 Celebrate Broadway, Inc.
+broadway
+
 // broker : 2014-12-11 IG Group Holdings PLC
 broker
 
@@ -7365,6 +7389,9 @@ capetown
 // capital : 2014-03-06 Delta Mill, LLC
 capital
 
+// car : 2015-01-22 Charleston Road Registry Inc.
+car
+
 // caravan : 2013-12-12 Caravan International, Inc.
 caravan
 
@@ -7443,6 +7470,9 @@ church
 // circle : 2014-12-18 Amazon EU S.à r.l.
 circle
 
+// cisco : 2014-12-22 Cisco Technology, Inc.
+cisco
+
 // citic : 2014-01-09 CITIC Group Corporation
 citic
 
@@ -7497,6 +7527,9 @@ company
 // computer : 2013-10-24 Pine Mill, LLC
 computer
 
+// comsec : 2015-01-08 VeriSign, Inc.
+comsec
+
 // condos : 2013-12-05 Pine House, LLC
 condos
 
@@ -7506,6 +7539,9 @@ construction
 // consulting : 2013-12-05
 consulting
 
+// contact : 2015-01-08 Top Level Spectrum, Inc.
+contact
+
 // contractors : 2013-09-10 Magic Woods, LLC
 contractors
 
@@ -7530,6 +7566,9 @@ credit
 // creditcard : 2014-03-20 Binky Frostbite, LLC
 creditcard
 
+// creditunion : 2015-01-22 CUNA Performance Resources, LLC
+creditunion
+
 // cricket : 2014-10-09 dot Cricket Limited
 cricket
 
@@ -7551,6 +7590,9 @@ cuisinella
 // cymru : 2014-05-08 Nominet UK
 cymru
 
+// cyou : 2015-01-22 Beijing Gamease Age Digital Technology Co., Ltd.
+cyou
+
 // dabur : 2014-02-06 Dabur India Limited
 dabur
 
@@ -7575,6 +7617,9 @@ day
 // dclk : 2014-11-20 Charleston Road Registry Inc.
 dclk
 
+// dealer : 2014-12-22 Dealer Dot Com, Inc.
+dealer
+
 // deals : 2014-05-22 Sand Sunset, LLC
 deals
 
@@ -7644,6 +7689,9 @@ doosan
 // download : 2014-11-20 dot Support Limited
 download
 
+// dubai : 2015-01-01 Dubai Smart Government Department
+dubai
+
 // durban : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
 durban
 
@@ -7749,6 +7797,9 @@ feedback
 // ferrero : 2014-12-18 Ferrero Trading Lux S.A.
 ferrero
 
+// film : 2015-01-08 Motion Picture Domain Registry Pty Ltd
+film
+
 // final : 2014-10-16 Núcleo de Informação e Coordenação do Ponto BR - NIC.br
 final
 
@@ -7881,6 +7932,9 @@ gmo
 // gmx : 2014-04-24 1&1 Mail & Media GmbH
 gmx
 
+// gold : 2015-01-22 June Edge, LLC
+gold
+
 // goldpoint : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
 goldpoint
 
@@ -8001,6 +8055,9 @@ ibm
 // ice : 2014-10-30 IntercontinentalExchange, Inc.
 ice
 
+// icu : 2015-01-08 One.com A/S
+icu
+
 // ifm : 2014-01-30 ifm electronic gmbh
 ifm
 
@@ -8109,6 +8166,12 @@ kiwi
 // koeln : 2014-01-09 NetCologne Gesellschaft für Telekommunikation mbH
 koeln
 
+// komatsu : 2015-01-08 Komatsu Ltd.
+komatsu
+
+// kpn : 2015-01-08 Koninklijke KPN N.V.
+kpn
+
 // krd : 2013-12-05 KRG Department of Information Technology
 krd
 
@@ -8133,6 +8196,9 @@ lat
 // latrobe : 2014-06-16 La Trobe University
 latrobe
 
+// law : 2015-01-22 Minds + Machines Group Limited
+law
+
 // lawyer : 2014-03-20
 lawyer
 
@@ -8160,6 +8226,9 @@ lidl
 // life : 2014-02-06 Trixy Oaks, LLC
 life
 
+// lifeinsurance : 2015-01-15 American Council of Life Insurers
+lifeinsurance
+
 // lifestyle : 2014-12-11 Lifestyle Domain Holdings, Inc.
 lifestyle
 
@@ -8202,6 +8271,9 @@ lotte
 // lotto : 2014-04-10 Afilias Limited
 lotto
 
+// love : 2014-12-22 Merchant Law Group LLP
+love
+
 // ltd : 2014-09-25 Over Corner, LLC
 ltd
 
@@ -8226,6 +8298,9 @@ maif
 // maison : 2013-12-05 Victor Frostbite, LLC
 maison
 
+// makeup : 2015-01-15 L'Oréal
+makeup
+
 // man : 2014-12-04 MAN SE
 man
 
@@ -8334,6 +8409,9 @@ nagoya
 // navy : 2014-03-06 United TLD Holdco Ltd.
 navy
 
+// nec : 2015-01-08 NEC Corporation
+nec
+
 // netbank : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
 netbank
 
@@ -8367,6 +8445,9 @@ ninja
 // nissan : 2014-03-27 NISSAN MOTOR CO., LTD.
 nissan
 
+// nokia : 2015-01-08 Nokia Corporation
+nokia
+
 // norton : 2014-12-04 Symantec Corporation
 norton
 
@@ -8391,6 +8472,9 @@ obi
 // okinawa : 2013-12-05 BusinessRalliart Inc.
 okinawa
 
+// omega : 2015-01-08 The Swatch Group Ltd
+omega
+
 // one : 2014-11-07 One.com A/S
 one
 
@@ -8400,6 +8484,9 @@ ong
 // onl : 2013-09-16 I-Registry Ltd.
 onl
 
+// online : 2015-01-15 DotOnline Inc.
+online
+
 // ooo : 2014-01-09 INFIBEAM INCORPORATION LIMITED
 ooo
 
@@ -8469,6 +8556,9 @@ pictet
 // pictures : 2014-03-06 Foggy Sky, LLC
 pictures
 
+// pid : 2015-01-08 Top Level Spectrum, Inc.
+pid
+
 // pin : 2014-12-18 Amazon EU S.à r.l.
 pin
 
@@ -8625,6 +8715,9 @@ saarland
 // safe : 2014-12-18 Amazon EU S.à r.l.
 safe
 
+// safety : 2015-01-08 Safety Registry Services, LLC.
+safety
+
 // sakura : 2014-12-18 SAKURA Internet Inc.
 sakura
 
@@ -8724,12 +8817,21 @@ shiksha
 // shoes : 2013-10-02 Binky Galley, LLC
 shoes
 
+// shouji : 2015-01-08 QIHOO 360 TECHNOLOGY CO. LTD.
+shouji
+
 // shriram : 2014-01-23 Shriram Capital Ltd.
 shriram
 
 // singles : 2013-08-27 Fern Madison, LLC
 singles
 
+// site : 2015-01-15 DotSite Inc.
+site
+
+// skin : 2015-01-15 L'Oréal
+skin
+
 // sky : 2014-06-19 Sky IP International Ltd, a company incorporated in England and Wales, operating via its registered Swiss branch
 sky
 
@@ -8754,6 +8856,9 @@ solar
 // solutions : 2013-11-07 Silver Cover, LLC
 solutions
 
+// sony : 2015-01-08 Sony Corporation
+sony
+
 // soy : 2014-01-23 Charleston Road Registry Inc.
 soy
 
@@ -8769,6 +8874,9 @@ spreadbetting
 // stada : 2014-11-13 STADA Arzneimittel AG
 stada
 
+// star : 2015-01-08 Star India Private Limited
+star
+
 // statoil : 2014-12-04 Statoil ASA
 statoil
 
@@ -8781,12 +8889,18 @@ stcgroup
 // stockholm : 2014-12-18 Stockholms kommun
 stockholm
 
+// storage : 2014-12-22 Self Storage Company LLC
+storage
+
 // study : 2014-12-11 OPEN UNIVERSITIES AUSTRALIA PTY LTD
 study
 
 // style : 2014-12-04 Binky Moon, LLC
 style
 
+// sucks : 2014-12-22 Vox Populi Registry Inc.
+sucks
+
 // supplies : 2013-12-19 Atomic Fields, LLC
 supplies
 
@@ -8805,6 +8919,9 @@ surgery
 // suzuki : 2014-02-20 SUZUKI MOTOR CORPORATION
 suzuki
 
+// swatch : 2015-01-08 The Swatch Group Ltd
+swatch
+
 // swiss : 2014-10-16 Swiss Confederation
 swiss
 
@@ -8823,6 +8940,9 @@ tab
 // taipei : 2014-07-10 Taipei City Government
 taipei
 
+// taobao : 2015-01-15 Alibaba Group Holding Limited
+taobao
+
 // tatar : 2014-04-24 Limited Liability Company
 tatar
 
@@ -8859,6 +8979,9 @@ tires
 // tirol : 2014-04-24 punkt Tirol GmbH
 tirol
 
+// tmall : 2015-01-15 Alibaba Group Holding Limited
+tmall
+
 // today : 2013-09-20 Pearl Woods, LLC
 today
 
@@ -8877,6 +9000,9 @@ toray
 // toshiba : 2014-04-10 TOSHIBA Corporation
 toshiba
 
+// tours : 2015-01-22 Sugar Station, LLC
+tours
+
 // town : 2014-03-06 Koko Moon, LLC
 town
 
@@ -8940,6 +9066,9 @@ video
 // villas : 2013-12-05 New Sky, LLC
 villas
 
+// vip : 2015-01-22 Minds + Machines Group Limited
+vip
+
 // virgin : 2014-09-25 Virgin Enterprises Limited
 virgin
 
@@ -8988,6 +9117,12 @@ wanggou
 // watch : 2013-11-14 Sand Shadow, LLC
 watch
 
+// watches : 2014-12-22 Richemont DNS Inc.
+watches
+
+// weather : 2015-01-08 The Weather Channel, LLC
+weather
+
 // webcam : 2014-01-23 dot Webcam Limited
 webcam
 
@@ -9042,9 +9177,16 @@ xbox
 // xerox : 2014-10-24 Xerox DNHC LLC
 xerox
 
+// xihuan : 2015-01-08 QIHOO 360 TECHNOLOGY CO. LTD.
+xihuan
+
 // xin : 2014-12-11 Elegant Leader Limited
 xin
 
+// xn--11b4c3d : 2015-01-15 VeriSign Sarl
+कॉम
+xn--11b4c3d
+
 // xn--1qqw23a : 2014-01-09 Guangzhou YU Wei Information Technology Co., Ltd.
 佛山
 xn--1qqw23a
@@ -9061,6 +9203,14 @@ xn--3bst00m
 在线
 xn--3ds443g
 
+// xn--3pxu8k : 2015-01-15 VeriSign Sarl
+点看
+xn--3pxu8k
+
+// xn--42c2d9a : 2015-01-15 VeriSign Sarl
+คอม
+xn--42c2d9a
+
 // xn--45q11c : 2013-11-21 Zodiac Scorpio Limited
 八卦
 xn--45q11c
@@ -9077,6 +9227,10 @@ xn--55qw42g
 公司
 xn--55qx5d
 
+// xn--5tzm5g : 2014-12-22 Global Website TLD Asia Limited
+网站
+xn--5tzm5g
+
 // xn--6frz82g : 2013-09-23 Afilias Limited
 移动
 xn--6frz82g
@@ -9097,6 +9251,10 @@ xn--80asehdb
 сайт
 xn--80aswg
 
+// xn--9dbq2a : 2015-01-15 VeriSign Sarl
+קום
+xn--9dbq2a
+
 // xn--9et52u : 2014-06-12 RISE VICTORY LIMITED
 时尚
 xn--9et52u
@@ -9109,6 +9267,10 @@ xn--b4w605ferd
 орг
 xn--c1avg
 
+// xn--c2br7g : 2015-01-15 VeriSign Sarl
+नेट
+xn--c2br7g
+
 // xn--cg4bki : 2013-09-27 SAMSUNG SDS CO., LTD
 삼성
 xn--cg4bki
@@ -9137,6 +9299,10 @@ xn--eckvdtc9d
 新闻
 xn--efvy88h
 
+// xn--fhbei : 2015-01-15 VeriSign Sarl
+كوم
+xn--fhbei
+
 // xn--fiq228c5hs : 2013-09-08 TLD REGISTRY LIMITED
 中文网
 xn--fiq228c5hs
@@ -9169,10 +9335,22 @@ xn--imr513n
 网络
 xn--io0a7i
 
+// xn--j1aef : 2015-01-15 VeriSign Sarl
+ком
+xn--j1aef
+
+// xn--jlq61u9w7b : 2015-01-08 Nokia Corporation
+诺基亚
+xn--jlq61u9w7b
+
 // xn--kcrx77d1x4a : 2014-11-07 Koninklijke Philips N.V.
 飞利浦
 xn--kcrx77d1x4a
 
+// xn--kpu716f : 2014-12-22 Richemont DNS Inc.
+手表
+xn--kpu716f
+
 // xn--kput3i : 2014-02-13 Beijing RITT-Net Technology Development Co., Ltd
 手机
 xn--kput3i
@@ -9193,6 +9371,10 @@ xn--mgbb9fbpob
 همراه
 xn--mgbt3dhd
 
+// xn--mk1bu44c : 2015-01-15 VeriSign Sarl
+닷컴
+xn--mk1bu44c
+
 // xn--mxtq1m : 2014-03-06 Net-Chinese Co., Ltd.
 政府
 xn--mxtq1m
@@ -9221,6 +9403,14 @@ xn--nyqy26a
 рус
 xn--p1acf
 
+// xn--pbt977c : 2014-12-22 Richemont DNS Inc.
+珠宝
+xn--pbt977c
+
+// xn--pssy2u : 2015-01-15 VeriSign Sarl
+大拿
+xn--pssy2u
+
 // xn--q9jyb4c : 2013-09-17 Charleston Road Registry Inc.
 みんな
 xn--q9jyb4c
@@ -9233,10 +9423,18 @@ xn--qcka1pmc
 世界
 xn--rhqv96g
 
-// xn--ses554g : 2014-01-16 HU YI GLOBAL INFORMATION RESOURCES (HOLDING) COMPANY. HONGKONG LIMITED
+// xn--ses554g : 2014-01-16
 网址
 xn--ses554g
 
+// xn--t60b56a : 2015-01-15 VeriSign Sarl
+닷넷
+xn--t60b56a
+
+// xn--tckwe : 2015-01-15 VeriSign Sarl
+コム
+xn--tckwe
+
 // xn--unup4y : 2013-07-14 Spring Fields, LLC
 游戏
 xn--unup4y
@@ -9289,6 +9487,9 @@ yokohama
 // youtube : 2014-05-01 Charleston Road Registry Inc.
 youtube
 
+// yun : 2015-01-08 QIHOO 360 TECHNOLOGY CO. LTD.
+yun
+
 // zara : 2014-11-07 Industria de Diseño Textil, S.A. (INDITEX, S.A.)
 zara
 
@@ -9304,6 +9505,7 @@ zone
 // zuerich : 2014-11-07 Kanton Zürich (Canton of Zurich)
 zuerich
 
+
 // ===END ICANN DOMAINS===
 // ===BEGIN PRIVATE DOMAINS===
 
@@ -9430,6 +9632,10 @@ co.ca
 co.nl
 co.no
 
+// Commerce Guys, SAS
+// Submitted by Damien Tournoud <damien@commerceguys.com> 2015-01-22
+*.platform.sh
+
 // Cupcake : https://cupcake.io/
 // Submitted by Jonathan Rudenberg <jonathan@cupcake.io> 2013-10-08
 cupcake.is
similarity index 93%
rename from net/ddns-scripts/files/usr/lib/ddns/update_cloudflare.sh
rename to net/ddns-scripts/files/update_CloudFlare.sh
index 93098bc094da98c1d065b0dc7fe3e34494cfac09..22817404af00d4c88a5ac1e6ea48d5f45e20e22c 100644 (file)
@@ -1,6 +1,8 @@
 #
+#.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>
+#.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
@@ -34,16 +36,16 @@ __DOMAIN="$__DOMAIN.$__TLD"
 # 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}\" ]"
+       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
similarity index 92%
rename from net/ddns-scripts/files/usr/lib/ddns/update_no-ip.sh
rename to net/ddns-scripts/files/update_No-IP.com.sh
index 4fefb965c4942ecf465f2d02f0d55d0858651489..9d73448e0165a5fc21c4023e6b687749b0c496d2 100644 (file)
@@ -1,6 +1,8 @@
 #
+#.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>
+#.2014-2015 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
 #
 # This script is parsed by dynamic_dns_functions.sh inside send_update() function
 #
similarity index 96%
rename from net/ddns-scripts/files/etc/config/ddns.sample
rename to net/ddns-scripts/samples/ddns.config_sample
index 8d59ab8595cddb97c9180c2ff85b71d9e6b8ed03..b96a7af4547ab6a5b57d177642059f96b30b0604 100644 (file)
@@ -245,6 +245,17 @@ config service "myddns"
        # default: none
 #      option proxy ''
 
+       ###########
+       # In some very special configurations i.e. Multi WAN environment
+       # in a NAT cascade it might be necessary to define
+       # a network to use for communication.
+       # should use option ip_source "web" (see above)
+       # Needs GNU Wget (with SSL support) or cURL to be installed.
+       # GNU Wget will use IP address and cURL the physical device 
+       # of the given network
+       # default: none
+#      option bind_network "wan7"
+
        ########### Timer settings ########################
 
        ###########
git clone https://git.99rst.org/PROJECT