From 5b263822734ecbfda3584078608af94fb23f5502 Mon Sep 17 00:00:00 2001 From: Christian Schoenebeck Date: Thu, 5 Feb 2015 21:33:02 +0100 Subject: [PATCH] ddns-scripts: Update to version 2.2.0-1 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 --- net/ddns-scripts/Makefile | 129 ++++++++--- .../files/{etc/config/ddns => ddns.config} | 0 .../hotplug.d/iface/95-ddns => ddns.hotplug} | 0 .../files/{etc/init.d/ddns => ddns.init} | 0 .../lib/ddns => }/dynamic_dns_functions.sh | 48 ++-- .../lib/ddns => }/dynamic_dns_lucihelper.sh | 6 +- .../{usr/lib/ddns => }/dynamic_dns_updater.sh | 8 +- .../files/{usr/lib/ddns => }/services | 11 +- .../files/{usr/lib/ddns => }/services_ipv6 | 3 - .../files/{usr/lib/ddns => }/tld_names.dat | 212 +++++++++++++++++- ...ate_cloudflare.sh => update_CloudFlare.sh} | 24 +- .../update_no-ip.sh => update_No-IP.com.sh} | 4 +- .../ddns.config_sample} | 11 + .../lib/ddns => samples}/getlocalip_sample.sh | 0 .../usr/lib/ddns => samples}/update_sample.sh | 0 15 files changed, 379 insertions(+), 77 deletions(-) rename net/ddns-scripts/files/{etc/config/ddns => ddns.config} (100%) rename net/ddns-scripts/files/{etc/hotplug.d/iface/95-ddns => ddns.hotplug} (100%) rename net/ddns-scripts/files/{etc/init.d/ddns => ddns.init} (100%) rename net/ddns-scripts/files/{usr/lib/ddns => }/dynamic_dns_functions.sh (95%) rename net/ddns-scripts/files/{usr/lib/ddns => }/dynamic_dns_lucihelper.sh (94%) rename net/ddns-scripts/files/{usr/lib/ddns => }/dynamic_dns_updater.sh (98%) rename net/ddns-scripts/files/{usr/lib/ddns => }/services (95%) rename net/ddns-scripts/files/{usr/lib/ddns => }/services_ipv6 (97%) rename net/ddns-scripts/files/{usr/lib/ddns => }/tld_names.dat (97%) rename net/ddns-scripts/files/{usr/lib/ddns/update_cloudflare.sh => update_CloudFlare.sh} (93%) rename net/ddns-scripts/files/{usr/lib/ddns/update_no-ip.sh => update_No-IP.com.sh} (92%) rename net/ddns-scripts/{files/etc/config/ddns.sample => samples/ddns.config_sample} (96%) rename net/ddns-scripts/{files/usr/lib/ddns => samples}/getlocalip_sample.sh (100%) rename net/ddns-scripts/{files/usr/lib/ddns => samples}/update_sample.sh (100%) diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile index 231d1ca19..d0d9fad7f 100644 --- a/net/ddns-scripts/Makefile +++ b/net/ddns-scripts/Makefile @@ -1,64 +1,112 @@ 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 - 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 +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)) diff --git a/net/ddns-scripts/files/etc/config/ddns b/net/ddns-scripts/files/ddns.config similarity index 100% rename from net/ddns-scripts/files/etc/config/ddns rename to net/ddns-scripts/files/ddns.config diff --git a/net/ddns-scripts/files/etc/hotplug.d/iface/95-ddns b/net/ddns-scripts/files/ddns.hotplug similarity index 100% rename from net/ddns-scripts/files/etc/hotplug.d/iface/95-ddns rename to net/ddns-scripts/files/ddns.hotplug diff --git a/net/ddns-scripts/files/etc/init.d/ddns b/net/ddns-scripts/files/ddns.init similarity index 100% rename from net/ddns-scripts/files/etc/init.d/ddns rename to net/ddns-scripts/files/ddns.init diff --git a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh b/net/ddns-scripts/files/dynamic_dns_functions.sh 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 416091119..2df699ac6 100644 --- a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh +++ b/net/ddns-scripts/files/dynamic_dns_functions.sh @@ -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 +# extended and partial rewritten in August 2014 by +#.Christian Schoenebeck # 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'" diff --git a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_lucihelper.sh b/net/ddns-scripts/files/dynamic_dns_lucihelper.sh 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 0c5449217..cc22d25e6 100755 --- a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_lucihelper.sh +++ b/net/ddns-scripts/files/dynamic_dns_lucihelper.sh @@ -1,8 +1,10 @@ #!/bin/sh # /usr/lib/ddns/luci_dns_helper.sh # -# Written in August 2014 -# by Christian Schoenebeck +#.Distributed under the terms of the GNU General Public License (GPL) version 2.0 +# +# Written in August 2014 by +#.Christian Schoenebeck # This script is used by luci-app-ddns # - getting registered IP # - check if possible to get local IP diff --git a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh b/net/ddns-scripts/files/dynamic_dns_updater.sh 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 8127f5b86..d4941a133 100644 --- a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh +++ b/net/ddns-scripts/files/dynamic_dns_updater.sh @@ -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 +# extended and partial rewritten in August 2014 by +#.Christian Schoenebeck # 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";; diff --git a/net/ddns-scripts/files/usr/lib/ddns/services b/net/ddns-scripts/files/services similarity index 95% rename from net/ddns-scripts/files/usr/lib/ddns/services rename to net/ddns-scripts/files/services index 830bf2895..b3ac40564 100644 --- a/net/ddns-scripts/files/usr/lib/ddns/services +++ b/net/ddns-scripts/files/services @@ -29,11 +29,6 @@ "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]" @@ -88,11 +83,11 @@ # 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]" diff --git a/net/ddns-scripts/files/usr/lib/ddns/services_ipv6 b/net/ddns-scripts/files/services_ipv6 similarity index 97% rename from net/ddns-scripts/files/usr/lib/ddns/services_ipv6 rename to net/ddns-scripts/files/services_ipv6 index 798e11e42..88831e9e7 100644 --- a/net/ddns-scripts/files/usr/lib/ddns/services_ipv6 +++ b/net/ddns-scripts/files/services_ipv6 @@ -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]" diff --git a/net/ddns-scripts/files/usr/lib/ddns/tld_names.dat b/net/ddns-scripts/files/tld_names.dat 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 92e65e6b2..7e1959f42 100644 --- a/net/ddns-scripts/files/usr/lib/ddns/tld_names.dat +++ b/net/ddns-scripts/files/tld_names.dat @@ -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 2015-01-22 +*.platform.sh + // Cupcake : https://cupcake.io/ // Submitted by Jonathan Rudenberg 2013-10-08 cupcake.is diff --git a/net/ddns-scripts/files/usr/lib/ddns/update_cloudflare.sh b/net/ddns-scripts/files/update_CloudFlare.sh 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 93098bc09..22817404a 100644 --- a/net/ddns-scripts/files/usr/lib/ddns/update_cloudflare.sh +++ b/net/ddns-scripts/files/update_CloudFlare.sh @@ -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 +#.2014-2015 Christian Schoenebeck # 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 diff --git a/net/ddns-scripts/files/usr/lib/ddns/update_no-ip.sh b/net/ddns-scripts/files/update_No-IP.com.sh 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 4fefb965c..9d73448e0 100644 --- a/net/ddns-scripts/files/usr/lib/ddns/update_no-ip.sh +++ b/net/ddns-scripts/files/update_No-IP.com.sh @@ -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 +#.2014-2015 Christian Schoenebeck # # This script is parsed by dynamic_dns_functions.sh inside send_update() function # diff --git a/net/ddns-scripts/files/etc/config/ddns.sample b/net/ddns-scripts/samples/ddns.config_sample similarity index 96% rename from net/ddns-scripts/files/etc/config/ddns.sample rename to net/ddns-scripts/samples/ddns.config_sample index 8d59ab859..b96a7af45 100644 --- a/net/ddns-scripts/files/etc/config/ddns.sample +++ b/net/ddns-scripts/samples/ddns.config_sample @@ -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 ######################## ########### diff --git a/net/ddns-scripts/files/usr/lib/ddns/getlocalip_sample.sh b/net/ddns-scripts/samples/getlocalip_sample.sh similarity index 100% rename from net/ddns-scripts/files/usr/lib/ddns/getlocalip_sample.sh rename to net/ddns-scripts/samples/getlocalip_sample.sh diff --git a/net/ddns-scripts/files/usr/lib/ddns/update_sample.sh b/net/ddns-scripts/samples/update_sample.sh similarity index 100% rename from net/ddns-scripts/files/usr/lib/ddns/update_sample.sh rename to net/ddns-scripts/samples/update_sample.sh