Merge pull request #2310 from chris5560/master
ddns-scripts: Ver.2.6.0 - support hostip and uclient-fetch
This commit is contained in:
commit
6d0e86d3bc
8 changed files with 256 additions and 95 deletions
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (C) 2008-2015 OpenWrt.org
|
# Copyright (C) 2008-2016 OpenWrt.org
|
||||||
#
|
#
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
#
|
#
|
||||||
|
@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk
|
||||||
PKG_NAME:=ddns-scripts
|
PKG_NAME:=ddns-scripts
|
||||||
# Version == major.minor.patch
|
# Version == major.minor.patch
|
||||||
# increase on new functionality (minor) or patches (patch)
|
# increase on new functionality (minor) or patches (patch)
|
||||||
PKG_VERSION:=2.5.0
|
PKG_VERSION:=2.6.0
|
||||||
# Release == build
|
# Release == build
|
||||||
# increase on changes of services files or tld_names.dat
|
# increase on changes of services files or tld_names.dat
|
||||||
PKG_RELEASE:=5
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
|
PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
|
||||||
|
|
|
@ -10,7 +10,7 @@ config ddns "global"
|
||||||
|
|
||||||
|
|
||||||
config service "myddns_ipv4"
|
config service "myddns_ipv4"
|
||||||
option service_name "dyndns.com"
|
option service_name "dyndns.org"
|
||||||
option lookup_host "yourhost.example.com"
|
option lookup_host "yourhost.example.com"
|
||||||
option domain "yourhost.example.com"
|
option domain "yourhost.example.com"
|
||||||
option username "your_username"
|
option username "your_username"
|
||||||
|
|
|
@ -1,20 +1,12 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# /usr/lib/ddns/dynamic_dns_functions.sh
|
# /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
|
||||||
|
# Original written by Eric Paul Bishop, January 2008
|
||||||
# (Loosely) based on the script on the one posted by exobyte in the forums here:
|
# (Loosely) based on the script on the one posted by exobyte in the forums here:
|
||||||
# http://forum.openwrt.org/viewtopic.php?id=14040
|
# http://forum.openwrt.org/viewtopic.php?id=14040
|
||||||
#
|
# extended and partial rewritten
|
||||||
# extended and partial rewritten in August 2014 by
|
#.2014-2016 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
|
||||||
#.Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
|
|
||||||
# to support:
|
|
||||||
# - IPv6 DDNS services
|
|
||||||
# - setting DNS Server to retrieve current IP including TCP transport
|
|
||||||
# - Proxy Server to send out updates or retrieving WEB based IP detection
|
|
||||||
# - force_interval=0 to run once (useful for cron jobs etc.)
|
|
||||||
# - the usage of BIND's host instead of BusyBox's nslookup if installed (DNS via TCP)
|
|
||||||
# - extended Verbose Mode and log file support for better error detection
|
|
||||||
#
|
#
|
||||||
# function timeout
|
# function 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
|
||||||
|
@ -29,7 +21,7 @@
|
||||||
. /lib/functions/network.sh
|
. /lib/functions/network.sh
|
||||||
|
|
||||||
# GLOBAL VARIABLES #
|
# GLOBAL VARIABLES #
|
||||||
VERSION="2.5.0-1"
|
VERSION="2.6.0-1"
|
||||||
SECTION_ID="" # hold config's section name
|
SECTION_ID="" # hold config's section name
|
||||||
VERBOSE_MODE=1 # default mode is log to console, but easily changed with parameter
|
VERBOSE_MODE=1 # default mode is log to console, but easily changed with parameter
|
||||||
|
|
||||||
|
@ -467,12 +459,12 @@ verify_host_port() {
|
||||||
__IPV6=$(echo $__HOST | grep -m 1 -o "$IPV6_REGEX")
|
__IPV6=$(echo $__HOST | grep -m 1 -o "$IPV6_REGEX")
|
||||||
# if FQDN given get IP address
|
# if FQDN given get IP address
|
||||||
[ -z "$__IPV4" -a -z "$__IPV6" ] && {
|
[ -z "$__IPV4" -a -z "$__IPV6" ] && {
|
||||||
if [ -x /usr/bin/host ]; then # use BIND host if installed
|
if [ -n "$(which host)" ]; then # use BIND host if installed
|
||||||
__PROG="BIND host"
|
__PROG="BIND host"
|
||||||
__RUNPROG="/usr/bin/host -t ANY $__HOST >$DATFILE 2>$ERRFILE"
|
__RUNPROG="$(which host) -t ANY $__HOST >$DATFILE 2>$ERRFILE"
|
||||||
else # use BusyBox nslookup
|
else # use BusyBox nslookup
|
||||||
__PROG="BusyBox nslookup"
|
__PROG="BusyBox nslookup"
|
||||||
__RUNPROG="/usr/bin/nslookup $__HOST >$DATFILE 2>$ERRFILE"
|
__RUNPROG="$(which nslookup) $__HOST >$DATFILE 2>$ERRFILE"
|
||||||
fi
|
fi
|
||||||
write_log 7 "#> $__RUNPROG"
|
write_log 7 "#> $__RUNPROG"
|
||||||
eval $__RUNPROG
|
eval $__RUNPROG
|
||||||
|
@ -643,9 +635,8 @@ do_transfer() {
|
||||||
[ $# -ne 1 ] && write_log 12 "Error in 'do_transfer()' - wrong number of parameters"
|
[ $# -ne 1 ] && write_log 12 "Error in 'do_transfer()' - wrong number of parameters"
|
||||||
|
|
||||||
# lets prefer GNU Wget because it does all for us - IPv4/IPv6/HTTPS/PROXY/force IP version
|
# lets prefer GNU Wget because it does all for us - IPv4/IPv6/HTTPS/PROXY/force IP version
|
||||||
grep -i "\+ssl" /usr/bin/wget >/dev/null 2>&1 # check for Wget with SSL support
|
if [ -n "$(which wget-ssl)" -a $USE_CURL -eq 0 ]; then # except global option use_curl is set to "1"
|
||||||
if [ $? -eq 0 -a $USE_CURL -eq 0 ]; then # except global option use_curl is set to "1"
|
__PROG="$(which wget-ssl) -nv -t 1 -O $DATFILE -o $ERRFILE" # non_verbose no_retry outfile errfile
|
||||||
__PROG="/usr/bin/wget -nv -t 1 -O $DATFILE -o $ERRFILE" # non_verbose no_retry outfile errfile
|
|
||||||
# force network/ip to use for communication
|
# force network/ip to use for communication
|
||||||
if [ -n "$bind_network" ]; then
|
if [ -n "$bind_network" ]; then
|
||||||
local __BINDIP
|
local __BINDIP
|
||||||
|
@ -668,7 +659,7 @@ do_transfer() {
|
||||||
__PROG="$__PROG --ca-certificate=${cacert}"
|
__PROG="$__PROG --ca-certificate=${cacert}"
|
||||||
elif [ -d "$cacert" ]; then
|
elif [ -d "$cacert" ]; then
|
||||||
__PROG="$__PROG --ca-directory=${cacert}"
|
__PROG="$__PROG --ca-directory=${cacert}"
|
||||||
else # exit here because it makes no sense to start loop
|
elif [ -n "$cacert" ]; then # it's not a file and not a directory but given
|
||||||
write_log 14 "No valid certificate(s) found at '$cacert' for HTTPS communication"
|
write_log 14 "No valid certificate(s) found at '$cacert' for HTTPS communication"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -679,9 +670,13 @@ do_transfer() {
|
||||||
__PROG="GNU Wget" # reuse for error logging
|
__PROG="GNU Wget" # reuse for error logging
|
||||||
|
|
||||||
# 2nd choice is cURL IPv4/IPv6/HTTPS
|
# 2nd choice is cURL IPv4/IPv6/HTTPS
|
||||||
# libcurl might be compiled without Proxy Support (default in trunk)
|
# libcurl might be compiled without Proxy or HTTPS Support
|
||||||
elif [ -x /usr/bin/curl ]; then
|
elif [ -n "$(which curl)" ]; then
|
||||||
__PROG="/usr/bin/curl -RsS -o $DATFILE --stderr $ERRFILE"
|
__PROG="$(which curl) -RsS -o $DATFILE --stderr $ERRFILE"
|
||||||
|
# check HTTPS support
|
||||||
|
/usr/bin/curl -V | grep "Protocols:" | grep -F "https" >/dev/null 2>&1
|
||||||
|
[ $? -eq 1 -a $use_https -eq 1 ] && \
|
||||||
|
write_log 13 "cURL: libcurl compiled without https support"
|
||||||
# force network/interface-device to use for communication
|
# force network/interface-device to use for communication
|
||||||
if [ -n "$bind_network" ]; then
|
if [ -n "$bind_network" ]; then
|
||||||
local __DEVICE
|
local __DEVICE
|
||||||
|
@ -702,7 +697,7 @@ do_transfer() {
|
||||||
__PROG="$__PROG --cacert $cacert"
|
__PROG="$__PROG --cacert $cacert"
|
||||||
elif [ -d "$cacert" ]; then
|
elif [ -d "$cacert" ]; then
|
||||||
__PROG="$__PROG --capath $cacert"
|
__PROG="$__PROG --capath $cacert"
|
||||||
else # exit here because it makes no sense to start loop
|
elif [ -n "$cacert" ]; then # it's not a file and not a directory but given
|
||||||
write_log 14 "No valid certificate(s) found at '$cacert' for HTTPS communication"
|
write_log 14 "No valid certificate(s) found at '$cacert' for HTTPS communication"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -720,9 +715,36 @@ do_transfer() {
|
||||||
__RUNPROG="$__PROG '$__URL'" # build final command
|
__RUNPROG="$__PROG '$__URL'" # build final command
|
||||||
__PROG="cURL" # reuse for error logging
|
__PROG="cURL" # reuse for error logging
|
||||||
|
|
||||||
# busybox Wget (did not support neither IPv6 nor HTTPS)
|
# uclient-fetch possibly with ssl support if /lib/libustream-ssl.so installed
|
||||||
elif [ -x /usr/bin/wget ]; then
|
elif [ -n "$(which uclient-fetch)" ]; then
|
||||||
__PROG="/usr/bin/wget -q -O $DATFILE"
|
__PROG="$(which uclient-fetch) -q -O $DATFILE"
|
||||||
|
# force network/ip not supported
|
||||||
|
[ -n "$__BINDIP" ] && \
|
||||||
|
write_log 14 "uclient-fetch: FORCE binding to specific address not supported"
|
||||||
|
# force ip version not supported
|
||||||
|
[ $force_ipversion -eq 1 ] && \
|
||||||
|
write_log 14 "uclient-fetch: Force connecting to IPv4 or IPv6 addresses not supported"
|
||||||
|
# https possibly not supported
|
||||||
|
[ $use_https -eq 1 -a ! -f /lib/libustream-ssl.so ] && \
|
||||||
|
write_log 14 "uclient-fetch: no HTTPS support! Additional install one of ustream-ssl packages"
|
||||||
|
# proxy support
|
||||||
|
[ -z "$proxy" ] && __PROG="$__PROG -Y off" || __PROG="$__PROG -Y on"
|
||||||
|
# https & certificates
|
||||||
|
if [ $use_https -eq 1 ]; then
|
||||||
|
if [ "$cacert" = "IGNORE" ]; then
|
||||||
|
__PROG="$__PROG --no-check-certificate"
|
||||||
|
elif [ -f "$cacert" ]; then
|
||||||
|
__PROG="$__PROG --ca-certificate=$cacert"
|
||||||
|
elif [ -n "$cacert" ]; then # it's not a file; nothing else supported
|
||||||
|
write_log 14 "No valid certificate file '$cacert' for HTTPS communication"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
__RUNPROG="$__PROG '$__URL' 2>$ERRFILE" # build final command
|
||||||
|
__PROG="uclient-fetch" # reuse for error logging
|
||||||
|
|
||||||
|
# Busybox Wget or any other wget in search $PATH (did not support neither IPv6 nor HTTPS)
|
||||||
|
elif [ -n "$(which wget)" ]; then
|
||||||
|
__PROG="$(which wget) -q -O $DATFILE"
|
||||||
# force network/ip not supported
|
# force network/ip not supported
|
||||||
[ -n "$__BINDIP" ] && \
|
[ -n "$__BINDIP" ] && \
|
||||||
write_log 14 "BusyBox Wget: FORCE binding to specific address not supported"
|
write_log 14 "BusyBox Wget: FORCE binding to specific address not supported"
|
||||||
|
@ -739,7 +761,7 @@ do_transfer() {
|
||||||
__PROG="Busybox Wget" # reuse for error logging
|
__PROG="Busybox Wget" # reuse for error logging
|
||||||
|
|
||||||
else
|
else
|
||||||
write_log 13 "Neither 'Wget' nor 'cURL' installed or executable"
|
write_log 13 "Neither 'Wget' nor 'cURL' nor 'uclient-fetch' installed or executable"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while : ; do
|
while : ; do
|
||||||
|
@ -851,7 +873,7 @@ get_local_ip () {
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
__DATA=$(awk '
|
__DATA=$(awk '
|
||||||
/inet6/ && /: [0-9a-eA-E]/ && !/\/128/ { # Filter IPv6 exclude fxxx and /128 prefix
|
/inet6/ && /: [0-9a-eA-E]/ { # Filter IPv6 exclude fxxx
|
||||||
# inet6 addr: 2001:db8::xxxx:xxxx/32 Scope:Global
|
# inet6 addr: 2001:db8::xxxx:xxxx/32 Scope:Global
|
||||||
FS="/"; # separator "/"
|
FS="/"; # separator "/"
|
||||||
$0=$0; # reread to activate separator
|
$0=$0; # reread to activate separator
|
||||||
|
@ -927,7 +949,8 @@ get_registered_ip() {
|
||||||
# $2 (optional) if set, do not retry on error
|
# $2 (optional) if set, do not retry on error
|
||||||
local __CNT=0 # error counter
|
local __CNT=0 # error counter
|
||||||
local __ERR=255
|
local __ERR=255
|
||||||
local __REGEX __PROG __RUNPROG __DATA
|
local __REGEX __PROG __RUNPROG __DATA __IP
|
||||||
|
local __MUSL=$(/usr/bin/nslookup 127.0.0.1 0 >/dev/null 2>&1; echo $?) # 0 == busybox compiled with musl
|
||||||
# return codes
|
# return codes
|
||||||
# 1 no IP detected
|
# 1 no IP detected
|
||||||
|
|
||||||
|
@ -937,8 +960,8 @@ get_registered_ip() {
|
||||||
# set correct regular expression
|
# set correct regular expression
|
||||||
[ $use_ipv6 -eq 0 ] && __REGEX="$IPV4_REGEX" || __REGEX="$IPV6_REGEX"
|
[ $use_ipv6 -eq 0 ] && __REGEX="$IPV4_REGEX" || __REGEX="$IPV6_REGEX"
|
||||||
|
|
||||||
if [ -x /usr/bin/host ]; then
|
if [ -n "$(which host)" ]; then
|
||||||
__PROG="/usr/bin/host"
|
__PROG="$(which host)"
|
||||||
[ $use_ipv6 -eq 0 ] && __PROG="$__PROG -t A" || __PROG="$__PROG -t AAAA"
|
[ $use_ipv6 -eq 0 ] && __PROG="$__PROG -t A" || __PROG="$__PROG -t AAAA"
|
||||||
if [ $force_ipversion -eq 1 ]; then # force IP version
|
if [ $force_ipversion -eq 1 ]; then # force IP version
|
||||||
[ $use_ipv6 -eq 0 ] && __PROG="$__PROG -4" || __PROG="$__PROG -6"
|
[ $use_ipv6 -eq 0 ] && __PROG="$__PROG -4" || __PROG="$__PROG -6"
|
||||||
|
@ -947,11 +970,37 @@ get_registered_ip() {
|
||||||
|
|
||||||
__RUNPROG="$__PROG $lookup_host $dns_server >$DATFILE 2>$ERRFILE"
|
__RUNPROG="$__PROG $lookup_host $dns_server >$DATFILE 2>$ERRFILE"
|
||||||
__PROG="BIND host"
|
__PROG="BIND host"
|
||||||
elif [ -x /usr/bin/nslookup ]; then # last use BusyBox nslookup
|
elif [ -n "$(which hostip)" ]; then # hostip package installed
|
||||||
|
__PROG="$(which hostip)"
|
||||||
|
[ $force_dnstcp -ne 0 ] && \
|
||||||
|
write_log 14 "hostip - no support for 'DNS over TCP'"
|
||||||
|
|
||||||
|
# is IP given as dns_server ?
|
||||||
|
__IP=$(echo $dns_server | grep -m 1 -o "$IPV4_REGEX")
|
||||||
|
[ -z "$__IP" ] && __IP=$(echo $dns_server | grep -m 1 -o "$IPV6_REGEX")
|
||||||
|
|
||||||
|
# we got NO ip for dns_server, so build command
|
||||||
|
[ -z "$__IP" -a -n "$dns_server" ] && {
|
||||||
|
__IP="\`/usr/bin/hostip"
|
||||||
|
[ $use_ipv6 -eq 1 -a $force_ipversion -eq 1 ] && __IP="$__IP -6"
|
||||||
|
__IP="$__IP $dns_server | grep -m 1 -o"
|
||||||
|
[ $use_ipv6 -eq 1 -a $force_ipversion -eq 1 ] \
|
||||||
|
&& __IP="$__IP '$IPV6_REGEX'" \
|
||||||
|
|| __IP="$__IP '$IPV4_REGEX'"
|
||||||
|
__IP="$__IP \`"
|
||||||
|
}
|
||||||
|
|
||||||
|
[ $use_ipv6 -eq 1 ] && __PROG="$__PROG -6"
|
||||||
|
[ -n "$dns_server" ] && __PROG="$__PROG -r $__IP"
|
||||||
|
__RUNPROG="$__PROG $lookup_host >$DATFILE 2>$ERRFILE"
|
||||||
|
__PROG="hostip"
|
||||||
|
elif [ -n "$(which nslookup)" ]; then # last use BusyBox nslookup
|
||||||
[ $force_ipversion -ne 0 -o $force_dnstcp -ne 0 ] && \
|
[ $force_ipversion -ne 0 -o $force_dnstcp -ne 0 ] && \
|
||||||
write_log 14 "Busybox nslookup - no support to 'force IP Version' or 'DNS over TCP'"
|
write_log 14 "Busybox nslookup - no support to 'force IP Version' or 'DNS over TCP'"
|
||||||
|
[ $__MUSL -eq 0 -a -n "$dns_server" ] && \
|
||||||
|
write_log 14 "Busybox compiled with musl - nslookup - no support to set/use DNS Server"
|
||||||
|
|
||||||
__RUNPROG="/usr/bin/nslookup $lookup_host $dns_server >$DATFILE 2>$ERRFILE"
|
__RUNPROG="$(which nslookup) $lookup_host $dns_server >$DATFILE 2>$ERRFILE"
|
||||||
__PROG="BusyBox nslookup"
|
__PROG="BusyBox nslookup"
|
||||||
else # there must be an error
|
else # there must be an error
|
||||||
write_log 12 "Error in 'get_registered_ip()' - no supported Name Server lookup software accessible"
|
write_log 12 "Error in 'get_registered_ip()' - no supported Name Server lookup software accessible"
|
||||||
|
@ -967,6 +1016,8 @@ get_registered_ip() {
|
||||||
else
|
else
|
||||||
if [ "$__PROG" = "BIND host" ]; then
|
if [ "$__PROG" = "BIND host" ]; then
|
||||||
__DATA=$(cat $DATFILE | awk -F "address " '/has/ {print $2; exit}' )
|
__DATA=$(cat $DATFILE | awk -F "address " '/has/ {print $2; exit}' )
|
||||||
|
elif [ "$__PROG" = "hostip" ]; then
|
||||||
|
__DATA=$(cat $DATFILE | grep -m 1 -o "$__REGEX")
|
||||||
else
|
else
|
||||||
__DATA=$(cat $DATFILE | sed -ne "/^Name:/,\$ { s/^Address[0-9 ]\{0,\}: \($__REGEX\).*$/\\1/p }" )
|
__DATA=$(cat $DATFILE | sed -ne "/^Name:/,\$ { s/^Address[0-9 ]\{0,\}: \($__REGEX\).*$/\\1/p }" )
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,13 +2,8 @@
|
||||||
# /usr/lib/ddns/luci_dns_helper.sh
|
# /usr/lib/ddns/luci_dns_helper.sh
|
||||||
#
|
#
|
||||||
#.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
|
||||||
#
|
#.2014-2016 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
|
||||||
# Written in August 2014 by
|
|
||||||
#.Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
|
|
||||||
# This script is used by luci-app-ddns
|
# This script is used by luci-app-ddns
|
||||||
# - getting registered IP
|
|
||||||
# - check if possible to get local IP
|
|
||||||
# - verifing given DNS- or Proxy-Server
|
|
||||||
#
|
#
|
||||||
# variables in small chars are read from /etc/config/ddns as parameter given here
|
# variables in small chars are read from /etc/config/ddns as parameter given here
|
||||||
# variables in big chars are defined inside these scripts as gloval vars
|
# variables in big chars are defined inside these scripts as gloval vars
|
||||||
|
|
|
@ -1,21 +1,12 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# /usr/lib/ddns/dynamic_dns_updater.sh
|
# /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
|
||||||
|
# Original written by Eric Paul Bishop, January 2008
|
||||||
# (Loosely) based on the script on the one posted by exobyte in the forums here:
|
# (Loosely) based on the script on the one posted by exobyte in the forums here:
|
||||||
# http://forum.openwrt.org/viewtopic.php?id=14040
|
# http://forum.openwrt.org/viewtopic.php?id=14040
|
||||||
#
|
# extended and partial rewritten
|
||||||
# extended and partial rewritten in August 2014 by
|
#.2014-2016 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
|
||||||
#.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)
|
|
||||||
# - Proxy Server to send out updates
|
|
||||||
# - force_interval=0 to run once (Luci Ticket 538)
|
|
||||||
# - the usage of BIND's host command instead of BusyBox's nslookup if installed
|
|
||||||
# - extended Verbose Mode and log file support for better error detection
|
|
||||||
# - wait for interface to fully come up, before the first update is done
|
|
||||||
#
|
#
|
||||||
# variables in small chars are read from /etc/config/ddns
|
# variables in small chars are read from /etc/config/ddns
|
||||||
# variables in big chars are defined inside these scripts as global vars
|
# variables in big chars are defined inside these scripts as global vars
|
||||||
|
|
|
@ -22,6 +22,15 @@
|
||||||
# !!! Use only the script name (without path). Sample:
|
# !!! Use only the script name (without path). Sample:
|
||||||
# !!! "example.com" "update_sample.sh"
|
# !!! "example.com" "update_sample.sh"
|
||||||
#
|
#
|
||||||
|
# !!! Since ddns-scripts Version 2.5.x additional parameters are supported
|
||||||
|
# !!! and a given answer on success is checked (ignored by earlier versions)
|
||||||
|
# !!! Additional parameters: [PARAMOPT] and [PARAMENC]; [PARAMENC] is send urlencoded
|
||||||
|
#
|
||||||
|
# Line syntax: "service" [TAB] "update_url" [TAB] "answer"
|
||||||
|
# "service" name used as "option service_name" inside /etc/config/ddns
|
||||||
|
# "update_url" update url as given by the provider; custom urls should not saved here
|
||||||
|
# "answer" single words inside providers answer string; use "|" to combine "or"
|
||||||
|
#
|
||||||
# 44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
|
# 44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
|
||||||
|
|
||||||
"dyndns.org" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
"dyndns.org" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||||
|
@ -37,7 +46,7 @@
|
||||||
"thatip.com" "http://update.dnsmax.com/update/?username=[USERNAME]&password=[PASSWORD]&resellerid=2&clientname=openwrt&clientversion=8.09&protocolversion=2.0&updatehostname=[DOMAIN]&ip=[IP]"
|
"thatip.com" "http://update.dnsmax.com/update/?username=[USERNAME]&password=[PASSWORD]&resellerid=2&clientname=openwrt&clientversion=8.09&protocolversion=2.0&updatehostname=[DOMAIN]&ip=[IP]"
|
||||||
|
|
||||||
# Hurricane Electric Dynamic DNS
|
# Hurricane Electric Dynamic DNS
|
||||||
"he.net" "http://[DOMAIN]:[PASSWORD]@dyn.dns.he.net/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
"he.net" "http://[DOMAIN]:[PASSWORD]@dyn.dns.he.net/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||||
|
|
||||||
# DNSdynamic.org
|
# DNSdynamic.org
|
||||||
"dnsdynamic.org" "http://[USERNAME]:[PASSWORD]@www.dnsdynamic.org/api/?hostname=[DOMAIN]&myip=[IP]"
|
"dnsdynamic.org" "http://[USERNAME]:[PASSWORD]@www.dnsdynamic.org/api/?hostname=[DOMAIN]&myip=[IP]"
|
||||||
|
@ -48,10 +57,8 @@
|
||||||
# OVH
|
# OVH
|
||||||
"ovh.com" "http://[USERNAME]:[PASSWORD]@www.ovh.com/nic/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]"
|
"ovh.com" "http://[USERNAME]:[PASSWORD]@www.ovh.com/nic/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]"
|
||||||
|
|
||||||
# dns-o-matic is a free service by opendns.com for updating multiple hosts and
|
# dns-o-matic is a free service by opendns.com for updating multiple hosts
|
||||||
# dynamic dns services in one api call. To update all your configured services
|
"dnsomatic.com" "http://[USERNAME]:[PASSWORD]@updates.dnsomatic.com/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||||
# at once, use "all.dnsomatic.com as the hostname.
|
|
||||||
"dnsomatic.com" "http://[USERNAME]:[PASSWORD]@updates.dnsomatic.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
|
||||||
|
|
||||||
# 3322.org
|
# 3322.org
|
||||||
"3322.org" "http://[USERNAME]:[PASSWORD]@members.3322.org/dyndns/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]"
|
"3322.org" "http://[USERNAME]:[PASSWORD]@members.3322.org/dyndns/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]"
|
||||||
|
@ -93,19 +100,22 @@
|
||||||
"domains.google.com" "http://[USERNAME]:[PASSWORD]@domains.google.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
"domains.google.com" "http://[USERNAME]:[PASSWORD]@domains.google.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||||
|
|
||||||
# Schokokeks Hosting, schokokeks.org
|
# Schokokeks Hosting, schokokeks.org
|
||||||
"schokokeks.org" "http://[USERNAME]:[PASSWORD]@dyndns.schokokeks.org/nic/update?myip=[IP]"
|
"schokokeks.org" "http://[USERNAME]:[PASSWORD]@dyndns.schokokeks.org/nic/update?myip=[IP]" "good|nochg"
|
||||||
|
|
||||||
# STRATO AG
|
# STRATO AG
|
||||||
"strato.de" "http://[USERNAME]:[PASSWORD]@dyndns.strato.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
"strato.de" "http://[USERNAME]:[PASSWORD]@dyndns.strato.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||||
|
|
||||||
# Variomedia AG
|
# Variomedia AG
|
||||||
"variomedia.de" "http://[USERNAME]:[PASSWORD]@dyndns.variomedia.de/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
"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]"
|
"dtdns.com" "http://www.dtdns.com/api/autodns.cfm?id=[DOMAIN]&pw=[PASSWORD]&ip=[IP]"
|
||||||
|
|
||||||
# dy.fi Dynamic DNS for finnish users
|
# dy.fi Dynamic DNS for finnish users (IP autodetected by provider)
|
||||||
"dy.fi" "http://[USERNAME]:[PASSWORD]@www.dy.fi/nic/update?hostname=[DOMAIN]"
|
"dy.fi" "http://[USERNAME]:[PASSWORD]@www.dy.fi/nic/update?hostname=[DOMAIN]" "good|nochg"
|
||||||
|
|
||||||
# duckdns.org as in https://www.duckdns.org/install.jsp#openwrt and https://wiki.openwrt.org/doc/howto/ddns.client/duckdns
|
# duckdns.org
|
||||||
"duckdns.org" "http://www.duckdns.org/update?domains=[USERNAME]&token=[PASSWORD]&ip=[IP]" "OK"
|
"duckdns.org" "http://www.duckdns.org/update?domains=[USERNAME]&token=[PASSWORD]&ip=[IP]" "OK"
|
||||||
|
|
||||||
|
# zzzz.io Free Dynamic DNS
|
||||||
|
"zzzz.io" "https://zzzz.io/api/v1/update/[DOMAIN]/?token=[PASSWORD]&ip=[IP]" "Updated|No change"
|
||||||
|
|
|
@ -22,13 +22,22 @@
|
||||||
# !!! Use only the script name (without path). Sample:
|
# !!! Use only the script name (without path). Sample:
|
||||||
# !!! "example.com" "update_sample.sh"
|
# !!! "example.com" "update_sample.sh"
|
||||||
#
|
#
|
||||||
|
# !!! Since ddns-scripts Version 2.5.x additional parameters are supported
|
||||||
|
# !!! and a given answer on success is checked (ignored by earlier versions)
|
||||||
|
# !!! Additional parameters: [PARAMOPT] and [PARAMENC]; [PARAMENC] is send urlencoded
|
||||||
|
#
|
||||||
|
# Line syntax: "service" [TAB] "update_url" [TAB] "answer"
|
||||||
|
# "service" name used as "option service_name" inside /etc/config/ddns
|
||||||
|
# "update_url" update url as given by the provider; custom urls should not saved here
|
||||||
|
# "answer" words inside providers answer string; use "|" to combine "or"
|
||||||
|
#
|
||||||
# 66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
|
# 66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
|
||||||
|
|
||||||
# IPv6 @ Securepoint Dynamic-DNS-Service
|
# IPv6 @ Securepoint Dynamic-DNS-Service
|
||||||
"spdns.de" "http://[USERNAME]:[PASSWORD]@update.spdns.de/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
"spdns.de" "http://[USERNAME]:[PASSWORD]@update.spdns.de/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||||
|
|
||||||
# IPv6 @ Hurricane Electric Dynamic DNS
|
# IPv6 @ Hurricane Electric Dynamic DNS
|
||||||
"he.net" "http://[DOMAIN]:[PASSWORD]@dyn.dns.he.net/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
"he.net" "http://[DOMAIN]:[PASSWORD]@dyn.dns.he.net/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||||
|
|
||||||
# IPv6 @ MyDNS.JP
|
# IPv6 @ MyDNS.JP
|
||||||
"mydns.jp" "http://www.mydns.jp/directip.html?MID=[USERNAME]&PWD=[PASSWORD]&IPV6ADDR=[IP]"
|
"mydns.jp" "http://www.mydns.jp/directip.html?MID=[USERNAME]&PWD=[PASSWORD]&IPV6ADDR=[IP]"
|
||||||
|
@ -43,5 +52,10 @@
|
||||||
"loopia.se" "http://[USERNAME]:[PASSWORD]@dns.loopia.se/XDynDNSServer/XDynDNS.php?system=custom&hostname=[DOMAIN]&myip=[IP]"
|
"loopia.se" "http://[USERNAME]:[PASSWORD]@dns.loopia.se/XDynDNSServer/XDynDNS.php?system=custom&hostname=[DOMAIN]&myip=[IP]"
|
||||||
|
|
||||||
# Variomedia AG
|
# Variomedia AG
|
||||||
"variomedia.de" "http://[USERNAME]:[PASSWORD]@dyndns.variomedia.de/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
"variomedia.de" "http://[USERNAME]:[PASSWORD]@dyndns.variomedia.de/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||||
|
|
||||||
|
# IPv6 @ Dyn.com
|
||||||
|
"dyndns.org" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||||
|
|
||||||
|
# zzzz.io Free Dynamic DNS
|
||||||
|
"zzzz.io" "https://zzzz.io/api/v1/update/[DOMAIN]/?token=[PASSWORD]&type=aaaa&ip=[IP]" "Updated|No change"
|
||||||
|
|
|
@ -89,7 +89,6 @@ leasing.aero
|
||||||
logistics.aero
|
logistics.aero
|
||||||
magazine.aero
|
magazine.aero
|
||||||
maintenance.aero
|
maintenance.aero
|
||||||
marketplace.aero
|
|
||||||
media.aero
|
media.aero
|
||||||
microlight.aero
|
microlight.aero
|
||||||
modelling.aero
|
modelling.aero
|
||||||
|
@ -112,7 +111,6 @@ show.aero
|
||||||
skydiving.aero
|
skydiving.aero
|
||||||
software.aero
|
software.aero
|
||||||
student.aero
|
student.aero
|
||||||
taxi.aero
|
|
||||||
trader.aero
|
trader.aero
|
||||||
trading.aero
|
trading.aero
|
||||||
trainer.aero
|
trainer.aero
|
||||||
|
@ -155,13 +153,6 @@ org.al
|
||||||
// am : http://en.wikipedia.org/wiki/.am
|
// am : http://en.wikipedia.org/wiki/.am
|
||||||
am
|
am
|
||||||
|
|
||||||
// an : http://www.una.an/an_domreg/default.asp
|
|
||||||
an
|
|
||||||
com.an
|
|
||||||
net.an
|
|
||||||
org.an
|
|
||||||
edu.an
|
|
||||||
|
|
||||||
// ao : http://en.wikipedia.org/wiki/.ao
|
// ao : http://en.wikipedia.org/wiki/.ao
|
||||||
// http://www.dns.ao/REGISTR.DOC
|
// http://www.dns.ao/REGISTR.DOC
|
||||||
ao
|
ao
|
||||||
|
@ -1016,7 +1007,10 @@ gw
|
||||||
gy
|
gy
|
||||||
co.gy
|
co.gy
|
||||||
com.gy
|
com.gy
|
||||||
|
edu.gy
|
||||||
|
gov.gy
|
||||||
net.gy
|
net.gy
|
||||||
|
org.gy
|
||||||
|
|
||||||
// hk : https://www.hkdnr.hk
|
// hk : https://www.hkdnr.hk
|
||||||
// Submitted by registry <hk.tech@hkirc.hk> 2008-06-11
|
// Submitted by registry <hk.tech@hkirc.hk> 2008-06-11
|
||||||
|
@ -1176,7 +1170,7 @@ tv.im
|
||||||
|
|
||||||
// in : http://en.wikipedia.org/wiki/.in
|
// in : http://en.wikipedia.org/wiki/.in
|
||||||
// see also: https://registry.in/Policies
|
// see also: https://registry.in/Policies
|
||||||
// Please note, that nic.in is not an offical eTLD, but used by most
|
// Please note, that nic.in is not an official eTLD, but used by most
|
||||||
// government institutions.
|
// government institutions.
|
||||||
in
|
in
|
||||||
co.in
|
co.in
|
||||||
|
@ -4510,8 +4504,21 @@ gov.ng
|
||||||
mil.ng
|
mil.ng
|
||||||
mobi.ng
|
mobi.ng
|
||||||
|
|
||||||
// ni : http://www.nic.ni/dominios.htm
|
// ni : http://www.nic.ni/
|
||||||
*.ni
|
com.ni
|
||||||
|
gob.ni
|
||||||
|
edu.ni
|
||||||
|
org.ni
|
||||||
|
nom.ni
|
||||||
|
net.ni
|
||||||
|
mil.ni
|
||||||
|
co.ni
|
||||||
|
biz.ni
|
||||||
|
web.ni
|
||||||
|
int.ni
|
||||||
|
ac.ni
|
||||||
|
in.ni
|
||||||
|
info.ni
|
||||||
|
|
||||||
// nl : http://en.wikipedia.org/wiki/.nl
|
// nl : http://en.wikipedia.org/wiki/.nl
|
||||||
// https://www.sidn.nl/
|
// https://www.sidn.nl/
|
||||||
|
@ -6030,7 +6037,6 @@ kms.ru
|
||||||
k-uralsk.ru
|
k-uralsk.ru
|
||||||
kustanai.ru
|
kustanai.ru
|
||||||
kuzbass.ru
|
kuzbass.ru
|
||||||
magnitka.ru
|
|
||||||
mytis.ru
|
mytis.ru
|
||||||
nakhodka.ru
|
nakhodka.ru
|
||||||
nkz.ru
|
nkz.ru
|
||||||
|
@ -6380,10 +6386,6 @@ org.to
|
||||||
edu.to
|
edu.to
|
||||||
mil.to
|
mil.to
|
||||||
|
|
||||||
// tp : No registrations at this time.
|
|
||||||
// Submitted by Ryan Sleevi <ryan.sleevi@gmail.com> 2014-01-03
|
|
||||||
tp
|
|
||||||
|
|
||||||
// subTLDs: https://www.nic.tr/forms/eng/policies.pdf
|
// subTLDs: https://www.nic.tr/forms/eng/policies.pdf
|
||||||
// and: https://www.nic.tr/forms/politikalar.pdf
|
// and: https://www.nic.tr/forms/politikalar.pdf
|
||||||
// Submitted by <mehmetgurevin@gmail.com> 2014-07-19
|
// Submitted by <mehmetgurevin@gmail.com> 2014-07-19
|
||||||
|
@ -6822,8 +6824,8 @@ lib.wi.us
|
||||||
// lib.wv.us Bug 941670 - Removed at request of Larry W Arnold <arnold@wvlc.lib.wv.us>
|
// lib.wv.us Bug 941670 - Removed at request of Larry W Arnold <arnold@wvlc.lib.wv.us>
|
||||||
lib.wy.us
|
lib.wy.us
|
||||||
// k12.ma.us contains school districts in Massachusetts. The 4LDs are
|
// k12.ma.us contains school districts in Massachusetts. The 4LDs are
|
||||||
// managed indepedently except for private (PVT), charter (CHTR) and
|
// managed independently except for private (PVT), charter (CHTR) and
|
||||||
// parochial (PAROCH) schools. Those are delegated dorectly to the
|
// parochial (PAROCH) schools. Those are delegated directly to the
|
||||||
// 5LD operators. <k12-ma-hostmaster _ at _ rsuc.gweep.net>
|
// 5LD operators. <k12-ma-hostmaster _ at _ rsuc.gweep.net>
|
||||||
pvt.k12.ma.us
|
pvt.k12.ma.us
|
||||||
chtr.k12.ma.us
|
chtr.k12.ma.us
|
||||||
|
@ -7214,7 +7216,7 @@ xxx
|
||||||
|
|
||||||
// za : http://www.zadna.org.za/content/page/domain-information
|
// za : http://www.zadna.org.za/content/page/domain-information
|
||||||
ac.za
|
ac.za
|
||||||
agrica.za
|
agric.za
|
||||||
alt.za
|
alt.za
|
||||||
co.za
|
co.za
|
||||||
edu.za
|
edu.za
|
||||||
|
@ -7238,7 +7240,7 @@ web.za
|
||||||
*.zw
|
*.zw
|
||||||
|
|
||||||
|
|
||||||
// List of new gTLDs imported from https://newgtlds.icann.org/newgtlds.csv on 2015-10-11T22:21:58Z
|
// List of new gTLDs imported from https://newgtlds.icann.org/newgtlds.csv on 2016-01-04T22:39:54Z
|
||||||
|
|
||||||
// aaa : 2015-02-26 American Automobile Association, Inc.
|
// aaa : 2015-02-26 American Automobile Association, Inc.
|
||||||
aaa
|
aaa
|
||||||
|
@ -7411,6 +7413,9 @@ apple
|
||||||
// aquarelle : 2014-07-24 Aquarelle.com
|
// aquarelle : 2014-07-24 Aquarelle.com
|
||||||
aquarelle
|
aquarelle
|
||||||
|
|
||||||
|
// arab : 2015-11-12 League of Arab States
|
||||||
|
arab
|
||||||
|
|
||||||
// aramco : 2014-11-20 Aramco Services Company
|
// aramco : 2014-11-20 Aramco Services Company
|
||||||
aramco
|
aramco
|
||||||
|
|
||||||
|
@ -7507,6 +7512,9 @@ barefoot
|
||||||
// bargains : 2013-11-14 Half Hallow, LLC
|
// bargains : 2013-11-14 Half Hallow, LLC
|
||||||
bargains
|
bargains
|
||||||
|
|
||||||
|
// baseball : 2015-10-29 MLB Advanced Media DH, LLC
|
||||||
|
baseball
|
||||||
|
|
||||||
// basketball : 2015-08-20 Fédération Internationale de Basketball (FIBA)
|
// basketball : 2015-08-20 Fédération Internationale de Basketball (FIBA)
|
||||||
basketball
|
basketball
|
||||||
|
|
||||||
|
@ -7534,6 +7542,9 @@ bcn
|
||||||
// beats : 2015-05-14 Beats Electronics, LLC
|
// beats : 2015-05-14 Beats Electronics, LLC
|
||||||
beats
|
beats
|
||||||
|
|
||||||
|
// beauty : 2015-12-03 L'Oréal
|
||||||
|
beauty
|
||||||
|
|
||||||
// beer : 2014-01-09 Top Level Domain Holdings Limited
|
// beer : 2014-01-09 Top Level Domain Holdings Limited
|
||||||
beer
|
beer
|
||||||
|
|
||||||
|
@ -7639,12 +7650,18 @@ bosch
|
||||||
// bostik : 2015-05-28 Bostik SA
|
// bostik : 2015-05-28 Bostik SA
|
||||||
bostik
|
bostik
|
||||||
|
|
||||||
|
// boston : 2015-12-10 Boston Globe Media Partners, LLC
|
||||||
|
boston
|
||||||
|
|
||||||
// bot : 2014-12-18 Amazon EU S.à r.l.
|
// bot : 2014-12-18 Amazon EU S.à r.l.
|
||||||
bot
|
bot
|
||||||
|
|
||||||
// boutique : 2013-11-14 Over Galley, LLC
|
// boutique : 2013-11-14 Over Galley, LLC
|
||||||
boutique
|
boutique
|
||||||
|
|
||||||
|
// box : 2015-11-12 NS1 Limited
|
||||||
|
box
|
||||||
|
|
||||||
// bradesco : 2014-12-18 Banco Bradesco S.A.
|
// bradesco : 2014-12-18 Banco Bradesco S.A.
|
||||||
bradesco
|
bradesco
|
||||||
|
|
||||||
|
@ -7765,6 +7782,9 @@ casino
|
||||||
// catering : 2013-12-05 New Falls. LLC
|
// catering : 2013-12-05 New Falls. LLC
|
||||||
catering
|
catering
|
||||||
|
|
||||||
|
// catholic : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
|
||||||
|
catholic
|
||||||
|
|
||||||
// cba : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
|
// cba : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
|
||||||
cba
|
cba
|
||||||
|
|
||||||
|
@ -7972,6 +7992,9 @@ crown
|
||||||
// crs : 2014-04-03 Federated Co-operatives Limited
|
// crs : 2014-04-03 Federated Co-operatives Limited
|
||||||
crs
|
crs
|
||||||
|
|
||||||
|
// cruise : 2015-12-10 Viking River Cruises (Bermuda) Ltd.
|
||||||
|
cruise
|
||||||
|
|
||||||
// cruises : 2013-12-05 Spring Way, LLC
|
// cruises : 2013-12-05 Spring Way, LLC
|
||||||
cruises
|
cruises
|
||||||
|
|
||||||
|
@ -8083,6 +8106,9 @@ discover
|
||||||
// dish : 2015-07-30 Dish DBS Corporation
|
// dish : 2015-07-30 Dish DBS Corporation
|
||||||
dish
|
dish
|
||||||
|
|
||||||
|
// diy : 2015-11-05 Lifestyle Domain Holdings, Inc.
|
||||||
|
diy
|
||||||
|
|
||||||
// dnp : 2013-12-13 Dai Nippon Printing Co., Ltd.
|
// dnp : 2013-12-13 Dai Nippon Printing Co., Ltd.
|
||||||
dnp
|
dnp
|
||||||
|
|
||||||
|
@ -8365,6 +8391,9 @@ foundation
|
||||||
// fox : 2015-09-11 FOX Registry, LLC
|
// fox : 2015-09-11 FOX Registry, LLC
|
||||||
fox
|
fox
|
||||||
|
|
||||||
|
// free : 2015-12-10 Amazon EU S.à r.l.
|
||||||
|
free
|
||||||
|
|
||||||
// fresenius : 2015-07-30 Fresenius Immobilien-Verwaltungs-GmbH
|
// fresenius : 2015-07-30 Fresenius Immobilien-Verwaltungs-GmbH
|
||||||
fresenius
|
fresenius
|
||||||
|
|
||||||
|
@ -8554,6 +8583,9 @@ guitars
|
||||||
// guru : 2013-08-27 Pioneer Cypress, LLC
|
// guru : 2013-08-27 Pioneer Cypress, LLC
|
||||||
guru
|
guru
|
||||||
|
|
||||||
|
// hair : 2015-12-03 L'Oréal
|
||||||
|
hair
|
||||||
|
|
||||||
// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
|
// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
|
||||||
hamburg
|
hamburg
|
||||||
|
|
||||||
|
@ -8602,7 +8634,7 @@ hisamitsu
|
||||||
// hitachi : 2014-10-31 Hitachi, Ltd.
|
// hitachi : 2014-10-31 Hitachi, Ltd.
|
||||||
hitachi
|
hitachi
|
||||||
|
|
||||||
// hiv : 2014-03-13 dotHIV gemeinnuetziger e.V.
|
// hiv : 2014-03-13
|
||||||
hiv
|
hiv
|
||||||
|
|
||||||
// hkt : 2015-05-14 PCCW-HKT DataCom Services Limited
|
// hkt : 2015-05-14 PCCW-HKT DataCom Services Limited
|
||||||
|
@ -9349,6 +9381,9 @@ ninja
|
||||||
// nissan : 2014-03-27 NISSAN MOTOR CO., LTD.
|
// nissan : 2014-03-27 NISSAN MOTOR CO., LTD.
|
||||||
nissan
|
nissan
|
||||||
|
|
||||||
|
// nissay : 2015-10-29 Nippon Life Insurance Company
|
||||||
|
nissay
|
||||||
|
|
||||||
// nokia : 2015-01-08 Nokia Corporation
|
// nokia : 2015-01-08 Nokia Corporation
|
||||||
nokia
|
nokia
|
||||||
|
|
||||||
|
@ -9604,7 +9639,7 @@ prof
|
||||||
// progressive : 2015-07-23 Progressive Casualty Insurance Company
|
// progressive : 2015-07-23 Progressive Casualty Insurance Company
|
||||||
progressive
|
progressive
|
||||||
|
|
||||||
// promo : 2014-12-18 Play.PROMO Oy
|
// promo : 2014-12-18
|
||||||
promo
|
promo
|
||||||
|
|
||||||
// properties : 2013-12-05 Big Pass, LLC
|
// properties : 2013-12-05 Big Pass, LLC
|
||||||
|
@ -9625,6 +9660,9 @@ prudential
|
||||||
// pub : 2013-12-12 United TLD Holdco Ltd.
|
// pub : 2013-12-12 United TLD Holdco Ltd.
|
||||||
pub
|
pub
|
||||||
|
|
||||||
|
// pwc : 2015-10-29 PricewaterhouseCoopers LLP
|
||||||
|
pwc
|
||||||
|
|
||||||
// qpon : 2013-11-14 dotCOOL, Inc.
|
// qpon : 2013-11-14 dotCOOL, Inc.
|
||||||
qpon
|
qpon
|
||||||
|
|
||||||
|
@ -9736,6 +9774,9 @@ rio
|
||||||
// rip : 2014-07-10 United TLD Holdco Ltd.
|
// rip : 2014-07-10 United TLD Holdco Ltd.
|
||||||
rip
|
rip
|
||||||
|
|
||||||
|
// rmit : 2015-11-19 Royal Melbourne Institute of Technology
|
||||||
|
rmit
|
||||||
|
|
||||||
// rocher : 2014-12-18 Ferrero Trading Lux S.A.
|
// rocher : 2014-12-18 Ferrero Trading Lux S.A.
|
||||||
rocher
|
rocher
|
||||||
|
|
||||||
|
@ -10288,6 +10329,9 @@ ubs
|
||||||
// uconnect : 2015-07-30 FCA US LLC.
|
// uconnect : 2015-07-30 FCA US LLC.
|
||||||
uconnect
|
uconnect
|
||||||
|
|
||||||
|
// unicom : 2015-10-15 China United Network Communications Corporation Limited
|
||||||
|
unicom
|
||||||
|
|
||||||
// university : 2014-03-06 Little Station, LLC
|
// university : 2014-03-06 Little Station, LLC
|
||||||
university
|
university
|
||||||
|
|
||||||
|
@ -10375,6 +10419,9 @@ vodka
|
||||||
// volkswagen : 2015-05-14 Volkswagen Group of America Inc.
|
// volkswagen : 2015-05-14 Volkswagen Group of America Inc.
|
||||||
volkswagen
|
volkswagen
|
||||||
|
|
||||||
|
// volvo : 2015-11-12 Volvo Holding Sverige Aktiebolag
|
||||||
|
volvo
|
||||||
|
|
||||||
// vote : 2013-11-21 Monolith Registry LLC
|
// vote : 2013-11-21 Monolith Registry LLC
|
||||||
vote
|
vote
|
||||||
|
|
||||||
|
@ -10583,6 +10630,10 @@ xn--6qq986b3xl
|
||||||
москва
|
москва
|
||||||
xn--80adxhks
|
xn--80adxhks
|
||||||
|
|
||||||
|
// xn--80aqecdr1a : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
|
||||||
|
католик
|
||||||
|
xn--80aqecdr1a
|
||||||
|
|
||||||
// xn--80asehdb : 2013-07-14 CORE Association
|
// xn--80asehdb : 2013-07-14 CORE Association
|
||||||
онлайн
|
онлайн
|
||||||
xn--80asehdb
|
xn--80asehdb
|
||||||
|
@ -10763,6 +10814,10 @@ xn--mgbb9fbpob
|
||||||
ابوظبي
|
ابوظبي
|
||||||
xn--mgbca7dzdo
|
xn--mgbca7dzdo
|
||||||
|
|
||||||
|
// xn--mgbi4ecexp : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
|
||||||
|
كاثوليك
|
||||||
|
xn--mgbi4ecexp
|
||||||
|
|
||||||
// xn--mgbt3dhd : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
|
// xn--mgbt3dhd : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
|
||||||
همراه
|
همراه
|
||||||
xn--mgbt3dhd
|
xn--mgbt3dhd
|
||||||
|
@ -10783,6 +10838,10 @@ xn--ngbc5azd
|
||||||
بيتك
|
بيتك
|
||||||
xn--ngbe9e0a
|
xn--ngbe9e0a
|
||||||
|
|
||||||
|
// xn--ngbrx : 2015-11-12 League of Arab States
|
||||||
|
عرب
|
||||||
|
xn--ngbrx
|
||||||
|
|
||||||
// xn--nqv7f : 2013-11-14 Public Interest Registry
|
// xn--nqv7f : 2013-11-14 Public Interest Registry
|
||||||
机构
|
机构
|
||||||
xn--nqv7f
|
xn--nqv7f
|
||||||
|
@ -10835,6 +10894,10 @@ xn--t60b56a
|
||||||
コム
|
コム
|
||||||
xn--tckwe
|
xn--tckwe
|
||||||
|
|
||||||
|
// xn--tiq49xqyj : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
|
||||||
|
天主教
|
||||||
|
xn--tiq49xqyj
|
||||||
|
|
||||||
// xn--unup4y : 2013-07-14 Spring Fields, LLC
|
// xn--unup4y : 2013-07-14 Spring Fields, LLC
|
||||||
游戏
|
游戏
|
||||||
xn--unup4y
|
xn--unup4y
|
||||||
|
@ -11072,6 +11135,10 @@ cupcake.is
|
||||||
// Submitted by Andrew Farmer <andrew.farmer@dreamhost.com> 2012-10-02
|
// Submitted by Andrew Farmer <andrew.farmer@dreamhost.com> 2012-10-02
|
||||||
dreamhosters.com
|
dreamhosters.com
|
||||||
|
|
||||||
|
// Drobo : http://www.drobo.com/
|
||||||
|
// Submitted by Ricardo Padilha <rpadilha@drobo.com> 2015-12-17
|
||||||
|
mydrobo.com
|
||||||
|
|
||||||
// DuckDNS : http://www.duckdns.org/
|
// DuckDNS : http://www.duckdns.org/
|
||||||
// Submitted by Richard Harper <richard@duckdns.org> 2015-05-17
|
// Submitted by Richard Harper <richard@duckdns.org> 2015-05-17
|
||||||
duckdns.org
|
duckdns.org
|
||||||
|
@ -11523,6 +11590,7 @@ blogspot.td
|
||||||
blogspot.tw
|
blogspot.tw
|
||||||
blogspot.ug
|
blogspot.ug
|
||||||
blogspot.vn
|
blogspot.vn
|
||||||
|
cloudfunctions.net
|
||||||
codespot.com
|
codespot.com
|
||||||
googleapis.com
|
googleapis.com
|
||||||
googlecode.com
|
googlecode.com
|
||||||
|
@ -11530,6 +11598,9 @@ pagespeedmobilizer.com
|
||||||
withgoogle.com
|
withgoogle.com
|
||||||
withyoutube.com
|
withyoutube.com
|
||||||
|
|
||||||
|
// Hashbang : https://hashbang.sh
|
||||||
|
hashbang.sh
|
||||||
|
|
||||||
// Heroku : https://www.heroku.com/
|
// Heroku : https://www.heroku.com/
|
||||||
// Submitted by Tom Maher <tmaher@heroku.com> 2013-05-02
|
// Submitted by Tom Maher <tmaher@heroku.com> 2013-05-02
|
||||||
herokuapp.com
|
herokuapp.com
|
||||||
|
@ -11560,6 +11631,10 @@ bmoattachments.org
|
||||||
// Submitted by Trung Tran <Trung.Tran@neustar.biz> 2015-04-23
|
// Submitted by Trung Tran <Trung.Tran@neustar.biz> 2015-04-23
|
||||||
4u.com
|
4u.com
|
||||||
|
|
||||||
|
// ngrok : https://ngrok.com/
|
||||||
|
// Submitted by Alan Shreve <alan@ngrok.com> 2015-11-10
|
||||||
|
ngrok.io
|
||||||
|
|
||||||
// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
|
// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
|
||||||
// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net> 2014-02-02
|
// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net> 2014-02-02
|
||||||
nfshost.com
|
nfshost.com
|
||||||
|
@ -11580,6 +11655,10 @@ operaunite.com
|
||||||
// Submitted by Duarte Santos <domain-admin@outsystemscloud.com> 2014-03-11
|
// Submitted by Duarte Santos <domain-admin@outsystemscloud.com> 2014-03-11
|
||||||
outsystemscloud.com
|
outsystemscloud.com
|
||||||
|
|
||||||
|
// Pagefront : https://www.pagefronthq.com/
|
||||||
|
// Submitted by Jason Kriss <jason@pagefronthq.com> 2015-12-02
|
||||||
|
pagefrontapp.com
|
||||||
|
|
||||||
// .pl domains (grandfathered)
|
// .pl domains (grandfathered)
|
||||||
art.pl
|
art.pl
|
||||||
gliwice.pl
|
gliwice.pl
|
||||||
|
@ -11601,6 +11680,11 @@ priv.at
|
||||||
// Submitted by Daniel Dent (https://www.danieldent.com/) 2015-07-16
|
// Submitted by Daniel Dent (https://www.danieldent.com/) 2015-07-16
|
||||||
qa2.com
|
qa2.com
|
||||||
|
|
||||||
|
// Rackmaze LLC : https://www.rackmaze.com
|
||||||
|
// Submitted by Kirill Pertsev <kika@rackmaze.com> 2015-12-02
|
||||||
|
rackmaze.com
|
||||||
|
rackmaze.net
|
||||||
|
|
||||||
// Red Hat, Inc. OpenShift : https://openshift.redhat.com/
|
// Red Hat, Inc. OpenShift : https://openshift.redhat.com/
|
||||||
// Submitted by Tim Kramer <tkramer@rhcloud.com> 2012-10-24
|
// Submitted by Tim Kramer <tkramer@rhcloud.com> 2012-10-24
|
||||||
rhcloud.com
|
rhcloud.com
|
||||||
|
@ -11621,6 +11705,22 @@ sinaapp.com
|
||||||
vipsinaapp.com
|
vipsinaapp.com
|
||||||
1kapp.com
|
1kapp.com
|
||||||
|
|
||||||
|
// Synology, Inc. : https://www.synology.com/
|
||||||
|
// Submitted by Rony Weng <ronyweng@synology.com> 2015-12-02
|
||||||
|
diskstation.me
|
||||||
|
dscloud.biz
|
||||||
|
dscloud.me
|
||||||
|
dscloud.mobi
|
||||||
|
dsmynas.com
|
||||||
|
dsmynas.net
|
||||||
|
dsmynas.org
|
||||||
|
familyds.com
|
||||||
|
familyds.net
|
||||||
|
familyds.org
|
||||||
|
i234.me
|
||||||
|
myds.me
|
||||||
|
synology.me
|
||||||
|
|
||||||
// TASK geographical domains (www.task.gda.pl/uslugi/dns)
|
// TASK geographical domains (www.task.gda.pl/uslugi/dns)
|
||||||
gda.pl
|
gda.pl
|
||||||
gdansk.pl
|
gdansk.pl
|
||||||
|
|
Loading…
Reference in a new issue