Merge pull request #13402 from TDT-AG/pr/20200916-ddns-scripts
ddns-scripts: move providers into json
This commit is contained in:
commit
5b7f191bec
101 changed files with 1252 additions and 991 deletions
770
net/ddns-scripts/Makefile
Executable file → Normal file
770
net/ddns-scripts/Makefile
Executable file → Normal file
|
@ -7,554 +7,384 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ddns-scripts
|
||||
# Version == major.minor.patch
|
||||
# increase on new functionality (minor) or patches (patch)
|
||||
PKG_VERSION:=2.7.8
|
||||
# Release == build
|
||||
# increase on changes of services files or tld_names.dat
|
||||
PKG_VERSION:=2.8.0
|
||||
PKG_RELEASE:=24
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
PKG_MAINTAINER:=
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
# no default dependencies
|
||||
PKG_DEFAULT_DEPENDS=
|
||||
|
||||
define Package/ddns-scripts/Default
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
SUBMENU:=IP Addresses and Names
|
||||
PKGARCH:=all
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
SUBMENU:=IP Addresses and Names
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
|
||||
define Package/ddns-scripts
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Dynamic DNS Client scripts (with IPv6 support)
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Dynamic DNS Client scripts (with IPv6 support)
|
||||
endef
|
||||
# shown in LuCI package description
|
||||
|
||||
define Package/ddns-scripts/description
|
||||
Dynamic DNS Client scripts (with IPv6 support) - Info: https://openwrt.org/docs/guide-user/services/ddns/client
|
||||
endef
|
||||
# shown in menuconfig <Help>
|
||||
define Package/ddns-scripts/config
|
||||
help
|
||||
A highly configurable set of scripts for doing dynamic dns updates.
|
||||
- IPv6 support
|
||||
- DNS server support
|
||||
- Glue Record support (require BIND host or KNOT host)
|
||||
- DNS requests via TCP
|
||||
- Proxy server support
|
||||
- log file support
|
||||
- support to run once
|
||||
Version: $(PKG_VERSION)-$(PKG_RELEASE)
|
||||
Info : https://openwrt.org/docs/guide-user/services/ddns/client
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_cloudflare.com-v4
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=CloudFlare.com API v4 (requires cURL)
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
define Package/ddns-scripts_cloudflare.com-v4/description
|
||||
Dynamic DNS Client scripts extension for CloudFlare.com API-v4 (require/install cURL)
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_freedns_42_pl
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=DDNS extension for FreeDNS.42.pl (requires cURL)
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
define Package/ddns-scripts_freedns_42_pl/description
|
||||
Dynamic DNS Client scripts extension for freedns.42.pl
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_godaddy.com-v1
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=GoDaddy.com (require cURL)
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
define Package/ddns-scripts_godaddy.com-v1/description
|
||||
Dynamic DNS Client scripts extension for GoDaddy.com (require/install cURL)
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_digitalocean.com-v2
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=digitalocean.com (require cURL)
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
define Package/ddns-scripts_digitalocean.com-v2/description
|
||||
Dynamic DNS Client scripts extension for digitalocean.com (require/install cURL)
|
||||
endef
|
||||
define Package/ddns-scripts_digitalocean.com-v2/config
|
||||
help
|
||||
The script directly updates a DNS record using the DO API. It requires
|
||||
"option dns_server" to be set to the server to be used by nsupdate.
|
||||
"option domain" the dns domain to update the record for (eg. A-record: home.<example.com>)
|
||||
"option username" the dns record name to update (eg. A-record: <home>.example.com)
|
||||
"option param_opt" the id of the dns record to update (check using chrome inspector in the DO dns tab)
|
||||
"option password" the api token generated in the DO panel
|
||||
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_no-ip_com
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=DDNS extension for No-IP.com
|
||||
DEPENDS:=ddns-scripts
|
||||
endef
|
||||
define Package/ddns-scripts_no-ip_com/description
|
||||
Dynamic DNS Client scripts extension for No-IP.com
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_nsupdate
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=DDNS extension using Bind nsupdate
|
||||
DEPENDS:=ddns-scripts +bind-client
|
||||
endef
|
||||
define Package/ddns-scripts_nsupdate/description
|
||||
Dynamic DNS Client scripts extension for direct updates using Bind nsupdate
|
||||
endef
|
||||
define Package/ddns-scripts_nsupdate/config
|
||||
help
|
||||
The script directly updates a PowerDNS (or maybe bind server) via nsupdate
|
||||
from bind-client package. It requires
|
||||
"option dns_server" to be set to the server to be used by nsupdate.
|
||||
"option username" should be set to the key name and
|
||||
"option password" to the base64 encoded shared secret.
|
||||
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_route53-v1
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Amazon AWS Route 53 API v1
|
||||
DEPENDS:=ddns-scripts +curl +openssl-util
|
||||
endef
|
||||
define Package/ddns-scripts_route53-v1/description
|
||||
Dynamic DNS Client scripts extension for Amazon AWS Route53. Note: You
|
||||
must also install ca-certificate or ca-bundle.
|
||||
It requires:
|
||||
"option username" to be a valid AWS access key id
|
||||
"option password" to be the matching AWS secret key id
|
||||
"option domain" to contain the hosted zone ID
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_cnkuai_cn
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=CnKuai API
|
||||
DEPENDS:=ddns-scripts +curl +giflib-utils
|
||||
endef
|
||||
define Package/ddns-scripts_cnkuai_cn/description
|
||||
Dynamic DNS Client scripts extension for CnKuai.Note: You
|
||||
must also install giflib-utils.
|
||||
It requires:
|
||||
"option username" to be a valid CnKuai control panel id
|
||||
"option password" to be the matching CnKuai control panel password
|
||||
"option domain" to contain the domain
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Build/Configure
|
||||
endef
|
||||
define Build/Compile
|
||||
$(CP) ./files $(PKG_BUILD_DIR)
|
||||
# ensure that VERSION inside dynamic_dns_functions.sh reflect PKG_VERSION of Makefile
|
||||
$(SED) '/^VERSION=*/s/.*/VERSION="$(PKG_VERSION)-$(PKG_RELEASE)"/' $(PKG_BUILD_DIR)/files/dynamic_dns_functions.sh
|
||||
# remove comments, white spaces and empty lines
|
||||
for FILE in `find $(PKG_BUILD_DIR)/files -type f`; do \
|
||||
$(SED) 's/^[[:space:]]*//' \
|
||||
-e '/^#[[:space:]]\|^#$$$$/d' \
|
||||
-e 's/[[:space:]]#[[:space:]].*$$$$//' \
|
||||
-e 's/[[:space:]]*$$$$//' \
|
||||
-e '/^\/\/[[:space:]]/d' \
|
||||
-e '/^[[:space:]]*$$$$/d' $$$$FILE; \
|
||||
done
|
||||
Dynamic DNS Client scripts (with IPv6 support)
|
||||
A highly configurable set of scripts for doing dynamic dns updates.
|
||||
- IPv6 support
|
||||
- DNS server support
|
||||
- Glue Record support (require BIND host or KNOT host)
|
||||
- DNS requests via TCP
|
||||
- Proxy server support
|
||||
- log file support
|
||||
- support to run once
|
||||
Version: $(PKG_VERSION)-$(PKG_RELEASE)
|
||||
Info : https://openwrt.org/docs/guide-user/services/ddns/client
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts/conffiles
|
||||
/etc/config/ddns
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts/preinst
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
|
||||
define Package/ddns-scripts_service
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Common ddns providers
|
||||
DEPENDS:=ddns-scripts
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_service/description
|
||||
Dynamic DNS Client definitions for supported services
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_cloudflare.com-v4
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for cloudflare.com API v4
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_cloudflare.com-v4/description
|
||||
Dynamic DNS Client scripts extension for cloudflare.com API v4 (require curl)
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_freedns_42_pl
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for freedns.42.pl
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_freedns_42_pl/description
|
||||
Dynamic DNS Client scripts extension for "freedns.42.pl".
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_godaddy.com-v1
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for godaddy.com API v1
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_godaddy.com-v1/description
|
||||
Dynamic DNS Client scripts extension for "godaddy.com API v1".
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_digitalocean.com-v2
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extention for digitalocean.com API v2
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_digitalocean.com-v2/description
|
||||
Dynamic DNS Client scripts extension for "digitalocean.com API v2".
|
||||
The script directly updates a DNS record using the DO API.
|
||||
It requires:
|
||||
"option dns_server" to be set to the server to be used by nsupdate.
|
||||
"option domain" the dns domain to update the record for (eg. A-record: home.<example.com>)
|
||||
"option username" the dns record name to update (eg. A-record: <home>.example.com)
|
||||
"option param_opt" the id of the dns record to update (check using chrome inspector in the DO dns tab)
|
||||
"option password" the api token generated in the DO panel
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_no-ip_com
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for no-ip.com
|
||||
DEPENDS:=ddns-scripts
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_no-ip_com/description
|
||||
Dynamic DNS Client scripts extension for "no-ip.com".
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_nsupdate
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for using bind nsupdate.
|
||||
DEPENDS:=ddns-scripts +bind-client
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_nsupdate/description
|
||||
Dynamic DNS Client scripts extension for direct updates using bind nsupdate
|
||||
The script directly updates a PowerDNS (or maybe bind server) via nsupdate
|
||||
from bind-client package.
|
||||
It requires:
|
||||
"option dns_server" to be set to the server to be used by nsupdate.
|
||||
"option username" should be set to the key name and
|
||||
"option password" to the base64 encoded shared secret.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_route53-v1
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for route53 API v1
|
||||
DEPENDS:=ddns-scripts +curl +openssl-util
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_route53-v1/description
|
||||
Dynamic DNS Client scripts extension for Amazon AWS "route53 API v1".
|
||||
Note: You must also install ca-certificate or ca-bundle.
|
||||
It requires:
|
||||
"option username" to be a valid AWS access key id
|
||||
"option password" to be the matching AWS secret key id
|
||||
"option domain" to contain the hosted zone ID
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_cnkuai_cn
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=CnKuai API
|
||||
DEPENDS:=ddns-scripts +curl +giflib-utils
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_cnkuai_cn/description
|
||||
Dynamic DNS Client scripts extension for "cnkuai.cn".
|
||||
It requires:
|
||||
"option username" to be a valid CnKuai control panel id
|
||||
"option password" to be the matching CnKuai control panel password
|
||||
"option domain" to contain the domain
|
||||
endef
|
||||
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts/install
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns
|
||||
$(INSTALL_DIR) $(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) $(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)/etc/hotplug.d/iface
|
||||
$(INSTALL_DATA) ./files/etc/hotplug.d/iface/ddns \
|
||||
$(1)/etc/hotplug.d/iface/95-ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/etc/ddns
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/services* $(1)/etc/ddns
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/etc/init.d/ddns \
|
||||
$(1)/etc/init.d/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/dynamic_dns_*.sh $(1)/usr/lib/ddns
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_CONF) ./files/etc/config/ddns \
|
||||
$(1)/etc/config/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns
|
||||
echo "$(PKG_VERSION)-$(PKG_RELEASE)" > $(1)/usr/share/ddns/version
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/list \
|
||||
$(1)/usr/share/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_DATA) ./files/usr/lib/ddns/dynamic_dns_functions.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/dynamic_dns_lucihelper.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/dynamic_dns_updater.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) ./files/usr/bin/ddns.sh \
|
||||
$(1)/usr/bin/ddns
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts/postinst
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot and PKG_UPGRADE then (re)start service if enabled
|
||||
[ -z "$${IPKG_INSTROOT}" -a "$${PKG_UPGRADE}" = "1" ] && {
|
||||
[ -x /etc/uci-defaults/ddns ] && \
|
||||
/etc/uci-defaults/ddns && \
|
||||
rm -f /etc/uci-defaults/ddns >/dev/null 2>&1
|
||||
/etc/init.d/ddns enabled && \
|
||||
/etc/init.d/ddns start >/dev/null 2>&1
|
||||
}
|
||||
exit 0 # suppress errors
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns enabled
|
||||
/etc/init.d/ddns start
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts/prerm
|
||||
#!/bin/sh
|
||||
# if run within buildroot exit
|
||||
[ -n "$${IPKG_INSTROOT}" ] && exit 0
|
||||
# stop running scripts
|
||||
#!/bin/sh
|
||||
if [ -n "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
/etc/init.d/ddns disable
|
||||
# clear LuCI indexcache
|
||||
rm -f /tmp/luci-indexcache >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_cloudflare.com-v4/preinst
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
|
||||
define Package/ddns-scripts_service/install
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/* \
|
||||
$(1)/usr/share/ddns/services
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_cloudflare.com-v4/install
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_cloudflare.com-v4
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_cloudflare_com_v4.sh $(1)/usr/lib/ddns
|
||||
endef
|
||||
define Package/ddns-scripts_cloudflare.com-v4/postinst
|
||||
#!/bin/sh
|
||||
# remove old services file entries
|
||||
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
# and create new
|
||||
printf "%s\\t%s\\n" '"cloudflare.com-v4"' '"update_cloudflare_com_v4.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
|
||||
printf "%s\\t%s\\n" '"cloudflare.com-v4"' '"update_cloudflare_com_v4.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
|
||||
# on real system restart service if enabled
|
||||
[ -z "$${IPKG_INSTROOT}" ] && {
|
||||
[ -x /etc/uci-defaults/ddns_cloudflare.com-v4 ] && \
|
||||
/etc/uci-defaults/ddns_cloudflare.com-v4 && \
|
||||
rm -f /etc/uci-defaults/ddns_cloudflare.com-v4 >/dev/null 2>&1
|
||||
/etc/init.d/ddns enabled && \
|
||||
/etc/init.d/ddns start >/dev/null 2>&1
|
||||
}
|
||||
exit 0 # suppress errors
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_cloudflare_com_v4.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/cloudflare.com-v4.json \
|
||||
$(1)/usr/share/ddns/services/
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_cloudflare.com-v4/prerm
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
# remove services file entries
|
||||
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_freedns_42_pl/preinst
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_freedns_42_pl/install
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_freedns_42_pl
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_freedns_42_pl.sh $(1)/usr/lib/ddns
|
||||
endef
|
||||
define Package/ddns-scripts_freedns_42_pl/postinst
|
||||
#!/bin/sh
|
||||
# remove old services file entries
|
||||
/bin/sed -i '/freedns\.42\.pl/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
# and create new
|
||||
printf "%s\\t%s\\n" '"freedns.42.pl"' '"update_freedns_42_pl.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
|
||||
# on real system restart service if enabled
|
||||
[ -z "$${IPKG_INSTROOT}" ] && {
|
||||
[ -x /etc/uci-defaults/ddns_freedns_42_pl ] && \
|
||||
/etc/uci-defaults/ddns_freedns_42_pl && \
|
||||
rm -f /etc/uci-defaults/ddns_freedns_42_pl >/dev/null 2>&1
|
||||
/etc/init.d/ddns enabled && \
|
||||
/etc/init.d/ddns start >/dev/null 2>&1
|
||||
}
|
||||
exit 0 # suppress errors
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_freedns_42_pl.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/freedns.42.pl.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_freedns_42_pl/prerm
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
# remove services file entries
|
||||
/bin/sed -i '/freedns\.42\.pl/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_godaddy.com-v1/preinst
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_godaddy.com-v1/install
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_godaddy.com-v1
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_godaddy_com_v1.sh $(1)/usr/lib/ddns
|
||||
endef
|
||||
define Package/ddns-scripts_godaddy.com-v1/postinst
|
||||
#!/bin/sh
|
||||
# remove old services file entries
|
||||
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
# and create new
|
||||
printf "%s\\t%s\\n" '"godaddy.com-v1"' '"update_godaddy_com_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
|
||||
printf "%s\\t%s\\n" '"godaddy.com-v1"' '"update_godaddy_com_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
|
||||
# on real system restart service if enabled
|
||||
[ -z "$${IPKG_INSTROOT}" ] && {
|
||||
[ -x /etc/uci-defaults/ddns_godaddy.com-v1 ] && \
|
||||
/etc/uci-defaults/ddns_godaddy.com-v1 && \
|
||||
rm -f /etc/uci-defaults/ddns_godaddy.com-v1 >/dev/null 2>&1
|
||||
/etc/init.d/ddns enabled \
|
||||
&& /etc/init.d/ddns start >/dev/null 2>&1
|
||||
}
|
||||
exit 0 # suppress errors
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_godaddy_com_v1.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/godaddy.com-v1.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_godaddy.com-v1/prerm
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
# remove services file entries
|
||||
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_digitalocean.com-v2/preinst
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_digitalocean.com-v2/install
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_digtalocean.com-v2
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_digitalocean_com_v2.sh $(1)/usr/lib/ddns
|
||||
endef
|
||||
define Package/ddns-scripts_digitalocean.com-v2/postinst
|
||||
#!/bin/sh
|
||||
# remove old services file entries
|
||||
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
# and create new
|
||||
printf "%s\\t%s\\n" '"digitalocean.com-v2"' '"update_digitalocean_com_v2.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
|
||||
printf "%s\\t%s\\n" '"digitalocean.com-v2"' '"update_digitalocean_com_v2.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
|
||||
# on real system restart service if enabled
|
||||
[ -z "$${IPKG_INSTROOT}" ] && {
|
||||
[ -x /etc/uci-defaults/ddns_digitalocean.com-v2 ] && \
|
||||
/etc/uci-defaults/ddns_digitalocean.com-v2 && \
|
||||
rm -f /etc/uci-defaults/ddns_digitalocean.com-v2 >/dev/null 2>&1
|
||||
/etc/init.d/ddns enabled \
|
||||
&& /etc/init.d/ddns start >/dev/null 2>&1
|
||||
}
|
||||
exit 0 # suppress errors
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_digitalocean_com_v2.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/digitalocean.com-v2.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_digitalocean.com-v2/prerm
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
# remove services file entries
|
||||
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_no-ip_com/preinst
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_no-ip_com/install
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_no-ip_com
|
||||
$(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_no-ip_com/postinst
|
||||
#!/bin/sh
|
||||
# remove old services file entries
|
||||
/bin/sed -i '/no-ip\.com/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
# and create new
|
||||
printf "%s\\t%s\\n" '"no-ip.com"' '"update_no-ip_com.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
|
||||
# on real system restart service if enabled
|
||||
[ -z "$${IPKG_INSTROOT}" ] && {
|
||||
[ -x /etc/uci-defaults/ddns_no-ip_com ] && \
|
||||
/etc/uci-defaults/ddns_no-ip_com && \
|
||||
rm -f /etc/uci-defaults/ddns_no-ip_com >/dev/null 2>&1
|
||||
/etc/init.d/ddns enabled && \
|
||||
/etc/init.d/ddns start >/dev/null 2>&1
|
||||
}
|
||||
exit 0 # suppress errors
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_no-ip_com.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/no-ip.com.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_no-ip_com/prerm
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
# remove services file entries
|
||||
/bin/sed -i '/no-ip\.com/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_nsupdate/preinst
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_nsupdate/install
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_nsupdate
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_nsupdate.sh $(1)/usr/lib/ddns
|
||||
endef
|
||||
define Package/ddns-scripts_nsupdate/postinst
|
||||
#!/bin/sh
|
||||
# remove old services file entries
|
||||
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
# and create new
|
||||
printf "%s\\t%s\\n" '"bind-nsupdate"' '"update_nsupdate.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
|
||||
printf "%s\\t%s\\n" '"bind-nsupdate"' '"update_nsupdate.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
|
||||
# on real system restart service if enabled
|
||||
[ -z "$${IPKG_INSTROOT}" ] && {
|
||||
[ -x /etc/uci-defaults/ddns_nsupdate ] && \
|
||||
/etc/uci-defaults/ddns_nsupdate && \
|
||||
rm -f /etc/uci-defaults/ddns_nsupdate >/dev/null 2>&1
|
||||
/etc/init.d/ddns enabled && \
|
||||
/etc/init.d/ddns start >/dev/null 2>&1
|
||||
}
|
||||
exit 0 # suppress errors
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_nsupdate.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/bind-nsupdate.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_nsupdate/prerm
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
# remove services file entries
|
||||
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_route53-v1/preinst
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_route53-v1/install
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_route53-v1
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_route53_v1.sh $(1)/usr/lib/ddns
|
||||
endef
|
||||
define Package/ddns-scripts_route53-v1/postinst
|
||||
#!/bin/sh
|
||||
# remove old services file entries
|
||||
/bin/sed -i '/route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i '/route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
# and create new
|
||||
printf "%s\\t%s\\n" '"route53-v1"' '"update_route53_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
|
||||
printf "%s\\t%s\\n" '"route53-v1"' '"update_route53_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
|
||||
# on real system restart service if enabled
|
||||
[ -z "$${IPKG_INSTROOT}" ] && {
|
||||
[ -x /etc/uci-defaults/ddns_route53-v1 ] && \
|
||||
/etc/uci-defaults/ddns_route53-v1 && \
|
||||
rm -f /etc/uci-defaults/route53.com-v1 >/dev/null 2>&1
|
||||
/etc/init.d/ddns enabled \
|
||||
&& /etc/init.d/ddns start >/dev/null 2>&1
|
||||
}
|
||||
exit 0 # suppress errors
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_route53_v1.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/route53-v1.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_route53-v1/prerm
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
# remove services file entries
|
||||
/bin/sed -i 'route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i 'route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_cnkuai_cn/preinst
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_cnkuai_cn/install
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_cnkuai_cn
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_cnkuai_cn.sh $(1)/usr/lib/ddns
|
||||
endef
|
||||
define Package/ddns-scripts_cnkuai_cn/postinst
|
||||
#!/bin/sh
|
||||
# remove old services file entries
|
||||
/bin/sed -i '/cnkuai.cn/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i '/cnkuai.cn/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
# and create new
|
||||
printf "%s\\t%s\\n" '"cnkuai.cn"' '"update_cnkuai_cn.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
|
||||
printf "%s\\t%s\\n" '"cnkuai.cn"' '"update_cnkuai_cn.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
|
||||
# on real system restart service if enabled
|
||||
[ -z "$${IPKG_INSTROOT}" ] && {
|
||||
[ -x /etc/uci-defaults/ddns_cnkuai_cn ] && \
|
||||
/etc/uci-defaults/ddns_cnkuai_cn && \
|
||||
rm -f /etc/uci-defaults/cnkuai.cn >/dev/null 2>&1
|
||||
/etc/init.d/ddns enabled \
|
||||
&& /etc/init.d/ddns start >/dev/null 2>&1
|
||||
}
|
||||
exit 0 # suppress errors
|
||||
endef
|
||||
define Package/ddns-scripts_cnkuai_cn/prerm
|
||||
#!/bin/sh
|
||||
# if NOT run buildroot then stop service
|
||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
||||
# remove services file entries
|
||||
/bin/sed -i 'cnkuai.cn/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
||||
/bin/sed -i 'cnkuai.cn/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
||||
exit 0 # suppress errors
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_cnkuai_cn.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/cnkuai.cn.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
endef
|
||||
|
||||
###### *************************************************************************
|
||||
define Package/ddns-scripts_cnkuai_cn/prerm
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
|
||||
$(eval $(call BuildPackage,ddns-scripts))
|
||||
$(eval $(call BuildPackage,ddns-scripts_service))
|
||||
$(eval $(call BuildPackage,ddns-scripts_cloudflare.com-v4))
|
||||
$(eval $(call BuildPackage,ddns-scripts_freedns_42_pl))
|
||||
$(eval $(call BuildPackage,ddns-scripts_godaddy.com-v1))
|
||||
|
|
|
@ -1,201 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
g_pslfile=/usr/share/public_suffix_list.dat.gz
|
||||
[ -f "$g_pslfile" ] || g_pslfile="$(dirname $0)/public_suffix_list.dat.gz"
|
||||
|
||||
g_pslerr=0
|
||||
g_cfgfile="ddns"
|
||||
|
||||
# modify timer settings from interval and unit to dhms format
|
||||
timer2dhms() {
|
||||
# $1 Number and
|
||||
# $2 Unit of time interval
|
||||
local t=0
|
||||
case $2 in
|
||||
days) t=$(( $1 * 86400 ));;
|
||||
hours) t=$(( $1 * 3600 ));;
|
||||
minutes) t=$(( $1 * 60 ));;
|
||||
*) t=$1;;
|
||||
esac
|
||||
|
||||
local d=$(( $t / 86400 ))
|
||||
local h=$(( $t % 86400 / 3600 ))
|
||||
local m=$(( $t % 3600 / 60 ))
|
||||
local s=$(( $t % 60 ))
|
||||
if [ $d -gt 0 ]; then printf "%dd %02dh %02dm %02ds" "$d" "$h" "$m" "$s"
|
||||
elif [ $h -gt 0 ]; then printf "%dh %02dm %02ds" "$h" "$m" "$s"
|
||||
elif [ $m -gt 0 ]; then printf "%dm %02ds" "$m" "$s"
|
||||
else printf "%ds" "$s"; fi
|
||||
|
||||
unset d h m s t
|
||||
return 0
|
||||
}
|
||||
|
||||
# using function to not confuse function calls with existing ones inside /lib/functions.sh
|
||||
update_config() {
|
||||
uc_uci="$(command -v uci) -q" # ignore errors
|
||||
uc_cfg=""
|
||||
uc_name=""
|
||||
uc_var=""
|
||||
uc_val=""
|
||||
package() { return 0; }
|
||||
config () {
|
||||
uc_cfg="$1"
|
||||
uc_name="$2"
|
||||
|
||||
# Type = ddns Name = global
|
||||
if [ "$uc_cfg" = "$g_cfgfile" -a "$uc_name" = "global" ]; then
|
||||
option() {
|
||||
uc_var="$1"; shift
|
||||
uc_val="$*"
|
||||
case "$uc_var" in
|
||||
allow_local_ip) $uc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_privateip";;
|
||||
date_format) $uc_uci rename $g_cfgfile.$uc_name.$uc_var="ddns_dateformat";;
|
||||
log_lines) $uc_uci rename $g_cfgfile.$uc_name.$uc_var="ddns_loglines";;
|
||||
log_dir) $uc_uci rename $g_cfgfile.$uc_name.$uc_var="ddns_logdir";;
|
||||
run_dir) $uc_uci rename $g_cfgfile.$uc_name.$uc_var="ddns_rundir";;
|
||||
# leave all other options currently unchanged
|
||||
*) ;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Type = service Name = ???
|
||||
elif [ "$uc_cfg" = "service" ]; then
|
||||
option() {
|
||||
uc_var="$1"; shift
|
||||
uc_val="$*"
|
||||
case "$uc_var" in
|
||||
# fix some option service_name values
|
||||
# and some settings for specific providers
|
||||
service_name|upd_provider)
|
||||
case "$uc_val" in
|
||||
freedns\.afraid\.org|afraid\.org)
|
||||
$uc_uci set $g_cfgfile.$uc_name.$uc_var="afraid.org-keyauth";;
|
||||
Bind-nsupdate)
|
||||
$uc_uci set $g_cfgfile.$uc_name.$uc_var="bind-nsupdate";;
|
||||
dyndns\.org|dyndns\.com)
|
||||
$uc_uci set $g_cfgfile.$uc_name.$uc_var="dyn.com";;
|
||||
free\.editdns\.net)
|
||||
$uc_uci set $g_cfgfile.$uc_name.$uc_var="editdns.net";;
|
||||
FreeDNS\.42\.pl)
|
||||
$uc_uci set $g_cfgfile.$uc_name.$uc_var="freedns.42.pl";;
|
||||
domains\.google\.com)
|
||||
$uc_uci set $g_cfgfile.$uc_name.$uc_var="google.com";;
|
||||
loopia\.com)
|
||||
$uc_uci set $g_cfgfile.$uc_name.$uc_var="loopia.se";;
|
||||
NoIP\.com|No-IP\.com)
|
||||
$uc_uci set $g_cfgfile.$uc_name.$uc_var="no-ip.com";;
|
||||
spdns\.de)
|
||||
$uc_uci set $g_cfgfile.$uc_name.$uc_var="spdyn.de";;
|
||||
strato\.de)
|
||||
$uc_uci set $g_cfgfile.$uc_name.$uc_var="strato.com";;
|
||||
*)
|
||||
# all others leave unchanged
|
||||
;;
|
||||
esac
|
||||
# rename option service_name to option upd_provider
|
||||
# $uc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_provider"
|
||||
;;
|
||||
domain|upd_object)
|
||||
# verify if lookup_host is set
|
||||
$uc_uci get $g_cfgfile.$uc_name.lookup_host >/dev/null 2>&1 || \
|
||||
$uc_uci set $g_cfgfile.$uc_name.lookup_host="$uc_val"
|
||||
if [ -f "$g_pslfile" ]; then
|
||||
# if service_name/upd_provider cloudflare_v1 then change domain/upd_object to new syntax
|
||||
# there is no sort order inside uci data so we need multiple checks
|
||||
uco_provider=$($uc_uci get $g_cfgfile.$uc_name.upd_provider 2>/dev/null) || \
|
||||
uco_provider=$($uc_uci get $g_cfgfile.$uc_name.service_name 2>/dev/null)
|
||||
unset uco_provider
|
||||
fi
|
||||
# rename option domain to option upd_object
|
||||
# $uc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_object"
|
||||
;;
|
||||
# dns_server)
|
||||
# # if bind-nsupdate takeover old "dns_server" value as new "upd_nsupd_server" value
|
||||
# uco_provider=$($uc_uci get $g_cfgfile.$uc_name.upd_provider 2>/dev/null) || \
|
||||
# uco_provider=$($uc_uci get $g_cfgfile.$uc_name.service_name 2>/dev/null)
|
||||
# [ "$uco_provider" = "Bind-nsupdate" -o \
|
||||
# "$uco_provider" = "bind-nsupdate" ] && \
|
||||
# $uc_uci set $g_cfgfile.$uc_name.upd_nsupd_server="$uc_val"
|
||||
# # rename option dns_server to new option global_dnssvr
|
||||
# $udc_uci rename $g_cfgfile.$uc_name.$uc_var="global_dnssvr"
|
||||
# ;;
|
||||
# bind_network)
|
||||
# $udc_uci set $g_cfgfile.$uc_name.upd_url_bindnet="$uc_val"
|
||||
# $udc_uci rename $g_cfgfile.$uc_name.$uc_var="lip_url_bindnet"
|
||||
# ;;
|
||||
# proxy)
|
||||
# # proxy value must include protocoll
|
||||
# $udc_uci set $g_cfgfile.$uc_name.$uc_var="http://$uc_val"
|
||||
# $udc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_url_proxy"
|
||||
# ;;
|
||||
# use_ipv6)
|
||||
# $udc_uci set $g_cfgfile.$uc_name.$uc_var="$(( 4 + ( 2 * $uc_val ) ))"
|
||||
# $udc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_ipversion"
|
||||
# TODO update_url)
|
||||
# TODO update_script)
|
||||
# other renames
|
||||
# TODO lookup_host) -> rip_host
|
||||
# enabled) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_enabled";;
|
||||
# force_dnstcp) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="rip_host_dnstcp";;
|
||||
# is_glue) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="rip_host_isglue";;
|
||||
# ip_interface) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="lip_iface";;
|
||||
# ip_network) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="lip_net";;
|
||||
# use_https) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_url_secure";;
|
||||
# cacert) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_url_cacert";;
|
||||
# username) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_username";;
|
||||
# password) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_password";;
|
||||
# param_opt) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_paramopt";;
|
||||
# param_enc) $udc_uci rename $g_cfgfile.$uc_name.$uc_var="upd_paramenc";;
|
||||
|
||||
# leave all other options currently unchanged
|
||||
*) ;;
|
||||
esac
|
||||
return 0
|
||||
}
|
||||
return 0
|
||||
|
||||
# ignore unknown
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
# read config file
|
||||
uc_data=$($uc_uci -S -n export "$g_cfgfile")
|
||||
uc_ret="$?"
|
||||
# Error then create config file
|
||||
[ $uc_ret -ne 0 ] && {
|
||||
touch /etc/config/$uc_cfgfile
|
||||
chmod 644 /etc/config/$uc_cfgfile
|
||||
}
|
||||
# No error and uc_data then execute (eval)
|
||||
# this will call functions defined above
|
||||
[ $uc_ret -eq 0 -a -n "$uc_data" ] && eval "$uc_data"
|
||||
|
||||
# add config ddns "global" (ignore error if exists)
|
||||
$uc_uci set ddns.global="$g_cfgfile"
|
||||
|
||||
# write changes to config file
|
||||
$uc_uci commit "$g_cfgfile"
|
||||
|
||||
unset uc_uci uc_cfg uc_name uc_var uc_val uc_ret uc_data
|
||||
return 0
|
||||
}
|
||||
|
||||
# clear LuCI indexcache
|
||||
rm -f /tmp/luci-indexcache >/dev/null 2>&1
|
||||
|
||||
# do config update
|
||||
update_config
|
||||
|
||||
#cleanup
|
||||
[ $g_pslerr -ne 0 ] && {
|
||||
unset g_pslfile g_pslerr g_cfgfile
|
||||
return 1
|
||||
}
|
||||
|
||||
[ -f "$g_pslfile" ] && rm -f "$g_pslfile"
|
||||
unset g_pslfile g_pslerr g_cfgfile
|
||||
return 0
|
||||
|
0
net/ddns-scripts/files/ddns.hotplug → net/ddns-scripts/files/etc/hotplug.d/iface/ddns
Executable file → Normal file
0
net/ddns-scripts/files/ddns.hotplug → net/ddns-scripts/files/etc/hotplug.d/iface/ddns
Executable file → Normal file
0
net/ddns-scripts/files/ddns.init → net/ddns-scripts/files/etc/init.d/ddns
Executable file → Normal file
0
net/ddns-scripts/files/ddns.init → net/ddns-scripts/files/etc/init.d/ddns
Executable file → Normal file
|
@ -1,184 +0,0 @@
|
|||
# 44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
|
||||
#
|
||||
# This file contains the update urls for various dynamic dns services.
|
||||
# Column one contains the service name, column two contains the update url.
|
||||
# within the update url there are 4 variables you can use: [USERNAME],
|
||||
# [PASSWORD], [DOMAIN] and [IP]. These are substituted for the username,
|
||||
# password, and domain name specified in the /etc/config/ddns file when an
|
||||
# update is performed. The IP is substituted for the current ip address of the
|
||||
# router. These variables are case sensitive, while urls generally are not, so
|
||||
# if you need to enter the same text in the url (which seems very unlikely) put
|
||||
# that text in lowercase, while the variables should remain in uppercase
|
||||
#
|
||||
# There are TONS of dynamic dns services out there. There's a huge list of them at:
|
||||
# http://www.dmoz.org/Computers/Software/Internet/Servers/Address_Management/Dynamic_DNS_Services/
|
||||
# If anyone has time they could update this file to be compatible with a bunch of them
|
||||
#
|
||||
# !!! Since ddns-scripts Version 2.x the update of IPv6 addresses is also supported
|
||||
# !!! This file is used for update of IPv4 adresses only. For IPv6 use services_ipv6
|
||||
#
|
||||
# !!! Since ddns-scripts Version 2.x the update via provider specific update scripts is supported.
|
||||
# !!! This scripts must be located at /usr/lib/ddns directory if defined inside this file.
|
||||
# !!! Use only the script name (without path). Sample:
|
||||
# !!! "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
|
||||
#
|
||||
#.cloudflare.com-v4 !!! Please install additional package "ddns-scripts_cloudflare.com-v4"
|
||||
#.FreeDNS.42.pl !!! Please install additional package "ddns-scripts_freedns_42_pl"
|
||||
#.godaddy.com-v1 !!! Please install additional package "ddns-scripts_godaddy.com-v1"
|
||||
#.no-ip.com / noip.com !!! Please install additional package "ddns-scripts_no-ip_com"
|
||||
#.route53-v1 !!! Please install additional package "ddns-scripts_route53-v1"
|
||||
|
||||
"3322.org" "http://[USERNAME]:[PASSWORD]@members.3322.org/dyndns/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]"
|
||||
|
||||
"able.or.kr" "http://able.or.kr/ddns/src/update.php?hostname=[DOMAIN]&myip=[IP]&ddnsuser=[USERNAME]&pwd=[PASSWORD]"
|
||||
|
||||
"afraid.org-basicauth" "https://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
"afraid.org-keyauth" "https://freedns.afraid.org/dynamic/update.php?[PASSWORD]&address=[IP]"
|
||||
"afraid.org-v2-basic" "https://[USERNAME]:[PASSWORD]@sync.afraid.org/u/?h=[DOMAIN]&ip=[IP]"
|
||||
"afraid.org-v2-token" "https://sync.afraid.org/u/[PASSWORD]/?address=[IP]"
|
||||
|
||||
"all-inkl.com" "http://[USERNAME]:[PASSWORD]@dyndns.kasserver.com/?myip=[IP]"
|
||||
|
||||
"changeip.com" "http://[USERNAME]:[PASSWORD]@nic.changeip.com/nic/update?u=[USERNAME]&p=[PASSWORD]&cmd=update&hostname=[DOMAIN]&ip=[IP]" "Successful"
|
||||
|
||||
"core-networks.de" "http://[USERNAME]:[PASSWORD]@dyndns.core-networks.de/?hostname=[DOMAIN]&myip=[IP]&keepipv6=1" "good"
|
||||
|
||||
"ddns.com.br" "http://[DOMAIN]:[PASSWORD]@members.ddns.com.br/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
|
||||
# "ddnss.de" "http://[USERNAME]:[PASSWORD]@ip4.ddnss.de/upd.php?host=[DOMAIN]&ip=[IP]" "good|nochg"
|
||||
"ddnss.de" "http://ip4.ddnss.de/upd.php?user=[USERNAME]&pwd=[PASSWORD]&host=[DOMAIN]&ip=[IP]" "Updated|No change"
|
||||
|
||||
"ddo.jp" "http://free.ddo.jp/dnsupdate.php?dn=[DOMAIN]&pw=[PASSWORD]&ip=[IP]"
|
||||
|
||||
"desec.io" "http://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv4=[IP]" "good|nochg"
|
||||
|
||||
"dhis.org" "http://[USERNAME]:[PASSWORD]@is.dhis.org/"
|
||||
|
||||
"dnsdynamic.org" "http://[USERNAME]:[PASSWORD]@www.dnsdynamic.org/api/?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"dnsever.com" "http://[USERNAME]:[PASSWORD]@dyna.dnsever.com/update.php?host[[DOMAIN]]"
|
||||
|
||||
"dnsexit.com" "http://update.dnsexit.com/RemoteUpdate.sv?login=[USERNAME]&password=[PASSWORD]&host=[DOMAIN]&myip=[IP]"
|
||||
|
||||
"dnshome.de" "http://[USERNAME]:[PASSWORD]@www.dnshome.de/dyndns.php?hostname=[DOMAIN]&ip=[IP]"
|
||||
|
||||
"dnsmadeeasy.com" "http://cp.dnsmadeeasy.com/servlet/updateip?username=[USERNAME]&password=[PASSWORD]&id=[DOMAIN]&ip=[IP]" "success|ip-same"
|
||||
|
||||
"dnsmax.com" "http://update.dnsmax.com/update/?username=[USERNAME]&password=[PASSWORD]&resellerid=1&clientname=openwrt&clientversion=8.09&protocolversion=2.0&updatehostname=[DOMAIN]&ip=[IP]"
|
||||
|
||||
"dnsomatic.com" "http://[USERNAME]:[PASSWORD]@updates.dnsomatic.com/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"dnspark.com" "http://[USERNAME]:[PASSWORD]@control.dnspark.com/api/dynamic/update.php?hostname=[DOMAIN]&ip=[IP]" "ok|nochange"
|
||||
|
||||
"do.de" "http://ddns.do.de/?myip=[IP]&hostname=[DOMAIN]&username=[USERNAME]&password=[PASSWORD]" "good|nochg"
|
||||
|
||||
"domopoli.de" "http://[USERNAME]:[PASSWORD]@http://dyndns.domopoli.de/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"dtdns.com" "http://www.dtdns.com/api/autodns.cfm?id=[DOMAIN]&pw=[PASSWORD]&ip=[IP]"
|
||||
|
||||
"duckdns.org" "http://www.duckdns.org/update?domains=[DOMAIN]&token=[PASSWORD]&ip=[IP]" "OK"
|
||||
|
||||
"duiadns.net" "http://ip.duiadns.net/dynamic.duia?host=[DOMAIN]&password=[PASSWORD]&ip4=[IP]"
|
||||
|
||||
"dy.fi" "http://[USERNAME]:[PASSWORD]@www.dy.fi/nic/update?hostname=[DOMAIN]" "good|nochg"
|
||||
|
||||
"dyndns.it" "http://[USERNAME]:[PASSWORD]@update.dyndns.it/nic/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"dyn.com" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
"dyndns.org" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"dyndnss.net" "http://www.dyndnss.net/?user=[USERNAME]&pass=[PASSWORD]&domain=[DOMAIN]&updater=other"
|
||||
|
||||
"dynsip.org" "http://[USERNAME]:[PASSWORD]@dynsip.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
|
||||
"dyns.net" "http://www.dyns.net/postscript011.php?username=[USERNAME]&password=[PASSWORD]&host=[DOMAIN]&ip=[IP]" "200"
|
||||
|
||||
"dynu.com" "http://api.dynu.com/nic/update?hostname=[DOMAIN]&myip=[IP]&username=[USERNAME]&password=[PASSWORD]"
|
||||
|
||||
"dynv6.com" "http://dynv6.com/api/update?hostname=[DOMAIN]&token=[PASSWORD]&ipv4=[IP]" "updated|unchanged"
|
||||
|
||||
"easydns.com" "http://[USERNAME]:[PASSWORD]@api.cp.easydns.com/dyn/generic.php?hostname=[DOMAIN]&myip=[IP]" "OK|NOERROR"
|
||||
|
||||
"editdns.net" "http://dyndns-free.editdns.net/api/dynLinux.php?p=[PASSWORD]&r=[DOMAIN]"
|
||||
|
||||
"goip.de" "http://www.goip.de/setip?username=[USERNAME]&password=[PASSWORD]&subdomain=[DOMAIN]&ip=[IP]"
|
||||
|
||||
"google.com" "https://[USERNAME]:[PASSWORD]@domains.google.com/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"he.net" "http://[DOMAIN]:[PASSWORD]@dyn.dns.he.net/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"inwx.de" "http://[USERNAME]:[PASSWORD]@dyndns.inwx.com/nic/update?myip=[IP]" "good|nochg"
|
||||
|
||||
"joker.com" "http://svc.joker.com/nic/update?username=[USERNAME]&password=[PASSWORD]&myip=[IP]&hostname=[DOMAIN]" "good|nochg"
|
||||
|
||||
"loopia.se" "http://[USERNAME]:[PASSWORD]@dns.loopia.se/XDynDNSServer/XDynDNS.php?system=custom&hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"moniker.com" "https://dynamicdns.key-systems.net/update.php?hostname=[DOMAIN]&password=[PASSWORD]&ip=[IP]" "success"
|
||||
|
||||
"mydns.jp" "http://www.mydns.jp/directip.html?MID=[USERNAME]&PWD=[PASSWORD]&IPV4ADDR=[IP]"
|
||||
|
||||
"myip.co.ua" "http://[USERNAME]:[PASSWORD]@myip.co.ua/update?hostname=[DOMAIN]&myip=[IP]" "good"
|
||||
|
||||
"myonlineportal.net" "http://[USERNAME]:[PASSWORD]@myonlineportal.net/updateddns?hostname=[DOMAIN]&ip=[IP]" "good|nochg"
|
||||
|
||||
"mythic-beasts.com" "http://dnsapi4.mythic-beasts.com/?domain=[USERNAME]&password=[PASSWORD]&command=REPLACE%20[DOMAIN]%2060%20A%20DYNAMIC_IP&origin=."
|
||||
|
||||
"namecheap.com" "http://dynamicdns.park-your-domain.com/update?host=[USERNAME]&domain=[DOMAIN]&password=[PASSWORD]&ip=[IP]"
|
||||
|
||||
"nettica.com" "http://www.nettica.com/Domain/Update.aspx?U=[USERNAME]&PC=[PASSWORD]&FQDN=[DOMAIN]&N=[IP]"
|
||||
|
||||
"no-ip.pl" "http://[USERNAME]:[PASSWORD]@update.no-ip.pl/?hostname=[DOMAIN]"
|
||||
|
||||
"now-dns.com" "https://[USERNAME]:[PASSWORD]@now-dns.com/update?hostname=[DOMAIN]" "good|nochg"
|
||||
|
||||
"nsupdate.info" "http://[USERNAME]:[PASSWORD]@ipv4.nsupdate.info/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"nubem.com" "http://[USERNAME]:[PASSWORD]@nubem.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
|
||||
"opendns.com" "http://[USERNAME]:[PASSWORD]@updates.opendns.com/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"oray.com" "http://[USERNAME]:[PASSWORD]@ddns.oray.com/ph/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
|
||||
"ovh.com" "http://[USERNAME]:[PASSWORD]@www.ovh.com/nic/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"regfish.de" "http://dyndns.regfish.de/?fqdn=[DOMAIN]&forcehost=1&authtype=secure&token=[PASSWORD]&ipv4=[IP]" "success|100|101"
|
||||
|
||||
"schokokeks.org" "http://[USERNAME]:[PASSWORD]@dyndns.schokokeks.org/nic/update?myip=[IP]" "good|nochg"
|
||||
|
||||
"selfhost.de" "http://carol.selfhost.de/update?username=[USERNAME]&password=[PASSWORD]&myip=[IP]&hostname=1" "good|nochg|200|204"
|
||||
|
||||
"sitelutions.com" "http://www.sitelutions.com/dnsup?user=[USERNAME]&pass=[PASSWORD]&id=[DOMAIN]&ip=[IP]" "success"
|
||||
|
||||
"spdyn.de" "http://[USERNAME]:[PASSWORD]@update.spdyn.de/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"strato.com" "http://[USERNAME]:[PASSWORD]@dyndns.strato.com/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"system-ns.com" "http://system-ns.com/api?type=dynamic&command=set&domain=[DOMAIN]&token=[PASSWORD]&ip=[IP]" "0"
|
||||
|
||||
"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]"
|
||||
|
||||
"twodns.de" "http://[USERNAME]:[PASSWORD]@update.twodns.de/update?hostname=[DOMAIN]&ip=[IP]"
|
||||
|
||||
"udmedia.de" "http://[USERNAME]:[PASSWORD]@www.udmedia.de/nic/update?myip=[IP]"
|
||||
|
||||
"variomedia.de" "http://[USERNAME]:[PASSWORD]@dyndns.variomedia.de/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"xlhost.de" "http://[USERNAME]:[PASSWORD]@nsupdate.xlhost.de/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"zerigo.com" "http://update.zerigo.com/dynamic?user=[USERNAME]&password=[PASSWORD]&host=[DOMAIN]&ip=[IP]" "ok"
|
||||
|
||||
"zoneedit.com" "http://[USERNAME]:[PASSWORD]@dynamic.zoneedit.com/auth/dynamic.html?host=[DOMAIN]&dnsto=[IP]"
|
||||
|
||||
"zzzz.io" "http://zzzz.io/api/v1/update/[DOMAIN]/?token=[PASSWORD]&ip=[IP]" "Updated|No change"
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
# 66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
|
||||
#
|
||||
# This file contains the update urls for various dynamic dns services.
|
||||
# Column one contains the service name, column two contains the update url.
|
||||
# within the update url there are 4 variables you can use: [USERNAME],
|
||||
# [PASSWORD], [DOMAIN] and [IP]. These are substituted for the username,
|
||||
# password, and domain name specified in the /etc/config/ddns file when an
|
||||
# update is performed. The IP is substituted for the current ip address of the
|
||||
# router. These variables are case sensitive, while urls generally are not, so
|
||||
# if you need to enter the same text in the url (which seems very unlikely) put
|
||||
# that text in lowercase, while the variables should remain in uppercase
|
||||
#
|
||||
# There are TONS of dynamic dns services out there. There's a huge list of them at:
|
||||
# http://www.dmoz.org/Computers/Software/Internet/Servers/Address_Management/Dynamic_DNS_Services/
|
||||
# If anyone has time they could update this file to be compatible with a bunch of them
|
||||
#
|
||||
# !!! Since ddns-scripts Version 2.x the update of IPv6 addresses is also supported
|
||||
# !!! This file is used for update of IPv6 adresses only. For IPv4 use services
|
||||
#
|
||||
# !!! Since ddns-scripts Version 2.x the update via provider specific update scripts is supported.
|
||||
# !!! This scripts must be located at /usr/lib/ddns directory if defined inside this file.
|
||||
# !!! Use only the script name (without path). Sample:
|
||||
# !!! "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
|
||||
#
|
||||
#.cloudflare.com-v4 !!! Please install additional package "ddns-scripts_cloudflare.com-v4"
|
||||
#.godaddy.com-v1 !!! Please install additional package "ddns-scripts_godaddy.com-v1"
|
||||
#.no-ip.com / noip.com !!! Please install additional package "ddns-scripts_no-ip_com"
|
||||
#.route53-v1 !!! Please install additional package "ddns-scripts_route53-v1"
|
||||
|
||||
"afraid.org-basicauth" "https://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
"afraid.org-keyauth" "https://freedns.afraid.org/dynamic/update.php?[PASSWORD]&address=[IP]"
|
||||
"afraid.org-v2-basic" "https://[USERNAME]:[PASSWORD]@v6.sync.afraid.org/u/?h=[DOMAIN]&ip=[IP]"
|
||||
"afraid.org-v2-token" "https://v6.sync.afraid.org/u/[PASSWORD]/?address=[IP]"
|
||||
|
||||
"all-inkl.com" "http://[USERNAME]:[PASSWORD]@dyndns.kasserver.com/?myip=[IP]"
|
||||
|
||||
"core-networks.de" "http://[USERNAME]:[PASSWORD]@dyndns.core-networks.de/?hostname=[DOMAIN]&myip=[IP]&keepipv4=1" "good"
|
||||
|
||||
# "ddnss.de" "http://[USERNAME]:[PASSWORD]@ip6.ddnss.de/upd.php?host=[DOMAIN]&ip6=[IP]" "good|nochg"
|
||||
"ddnss.de" "http://ip6.ddnss.de/upd.php?user=[USERNAME]&pwd=[PASSWORD]&host=[DOMAIN]&ip6=[IP]" "good|nochg"
|
||||
|
||||
"desec.io" "http://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv6=[IP]" "good|nochg"
|
||||
|
||||
"dhis.org" "http://[USERNAME]:[PASSWORD]@is.dhis.org/"
|
||||
|
||||
"dnshome.de" "http://[USERNAME]:[PASSWORD]@www.dnshome.de/dyndns.php?hostname=[DOMAIN]&ip6=[IP]"
|
||||
|
||||
"do.de" "http://ddns.do.de/?myip=[IP]&hostname=[DOMAIN]&username=[USERNAME]&password=[PASSWORD]" "good|nochg"
|
||||
|
||||
"duckdns.org" "http://www.duckdns.org/update?domains=[DOMAIN]&token=[PASSWORD]&ipv6=[IP]" "OK"
|
||||
|
||||
"duiadns.net" "http://ip.duiadns.net/dynamic.duia?host=[DOMAIN]&password=[PASSWORD]&ip6=[IP]"
|
||||
|
||||
"dyn.com" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
"dyndns.org" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"dynu.com" "http://api.dynu.com/nic/update?hostname=[DOMAIN]&myipv6=[IP]&username=[USERNAME]&password=[PASSWORD]"
|
||||
|
||||
"dynv6.com" "http://dynv6.com/api/update?hostname=[DOMAIN]&token=[PASSWORD]&ipv6=[IP]" "updated|unchanged"
|
||||
|
||||
"goip.de" "http://www.goip.de/setip?username=[USERNAME]&password=[PASSWORD]&subdomain=[DOMAIN]&ip6=[IP]"
|
||||
|
||||
"google.com" "http://[USERNAME]:[PASSWORD]@domains.google.com/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"he.net" "http://[DOMAIN]:[PASSWORD]@dyn.dns.he.net/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"inwx.de" "http://[USERNAME]:[PASSWORD]@dyndns.inwx.com/nic/update?myipv6=[IP]" "good|nochg"
|
||||
|
||||
"loopia.se" "http://[USERNAME]:[PASSWORD]@dns.loopia.se/XDynDNSServer/XDynDNS.php?system=custom&hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"mydns.jp" "http://www.mydns.jp/directip.html?MID=[USERNAME]&PWD=[PASSWORD]&IPV6ADDR=[IP]"
|
||||
|
||||
"myonlineportal.net" "http://[USERNAME]:[PASSWORD]@myonlineportal.net/updateddns?hostname=[DOMAIN]&ip6=[IP]" "good|nochg"
|
||||
|
||||
"mythic-beasts.com" "http://dnsapi6.mythic-beasts.com/?domain=[USERNAME]&password=[PASSWORD]&command=REPLACE%20[DOMAIN]%2060%20AAAA%20DYNAMIC_IP&origin=."
|
||||
|
||||
"no-ip.pl" "http://[USERNAME]:[PASSWORD]@update.no-ip.pl/?hostname=[DOMAIN]"
|
||||
|
||||
"now-dns.com" "https://[USERNAME]:[PASSWORD]@now-dns.com/update?hostname=[DOMAIN]" "good|nochg"
|
||||
|
||||
"nsupdate.info" "http://[USERNAME]:[PASSWORD]@ipv6.nsupdate.info/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"regfish.de" "http://dyndns.regfish.de/?fqdn=[DOMAIN]&forcehost=1&authtype=secure&token=[PASSWORD]&ipv6=[IP]" "success|100|101"
|
||||
|
||||
"spdyn.de" "http://[USERNAME]:[PASSWORD]@update.spdyn.de/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"udmedia.de" "http://[USERNAME]:[PASSWORD]@www.udmedia.de/nic/update?myip=[IP]"
|
||||
|
||||
"variomedia.de" "http://[USERNAME]:[PASSWORD]@dyndns.variomedia.de/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg"
|
||||
|
||||
"zerigo.com" "http://update.zerigo.com/dynamic?user=[USERNAME]&password=[PASSWORD]&host=[DOMAIN]&ip=[IP]" "ok"
|
||||
|
||||
"zzzz.io" "http://zzzz.io/api/v1/update/[DOMAIN]/?token=[PASSWORD]&type=aaaa&ip=[IP]" "Updated|No change"
|
||||
|
171
net/ddns-scripts/files/usr/bin/ddns.sh
Normal file
171
net/ddns-scripts/files/usr/bin/ddns.sh
Normal file
|
@ -0,0 +1,171 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2020 TDT AG <development@tdt.de>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See https://www.gnu.org/licenses/gpl-2.0.txt for more information.
|
||||
#
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
DDNS_PACKAGE_DIR="/usr/share/ddns"
|
||||
URL="https://raw.githubusercontent.com/openwrt/packages/master/net/ddns-scripts/files"
|
||||
|
||||
usage() {
|
||||
local code="$1"
|
||||
local msg="$2"
|
||||
|
||||
echo "$msg"
|
||||
echo ""
|
||||
echo "Usage: $(basename "$0") <command> <action> <service>"
|
||||
echo ""
|
||||
echo "Supported ddns <command>:"
|
||||
echo " service: Command for ddns service provider"
|
||||
echo ""
|
||||
echo "Supported ddns 'service' command <action>:"
|
||||
echo " update: Update local ddns service list"
|
||||
echo " list-available: List all available service providers"
|
||||
echo " list-installed: List all installed service providers"
|
||||
echo " install <service>: Install service provider"
|
||||
echo " remove <service>: Remove service provider"
|
||||
echo " purge: Remove local ddns serivces"
|
||||
|
||||
exit "$code"
|
||||
}
|
||||
|
||||
action_update() {
|
||||
local cacert
|
||||
|
||||
config_load ddns
|
||||
config_get url global 'url' "${URL}${DDNS_PACKAGE_DIR}"
|
||||
config_get cacert global 'cacert' "IGNORE"
|
||||
url="${url}/list"
|
||||
|
||||
mkdir -p "${DDNS_PACKAGE_DIR}"
|
||||
|
||||
if [ "$cacert" = "IGNORE" ]; then
|
||||
uclient-fetch \
|
||||
--no-check-certificate \
|
||||
"$url" \
|
||||
-O "${DDNS_PACKAGE_DIR}/list"
|
||||
elif [ -f "$cacert" ]; then
|
||||
uclient-fetch \
|
||||
--ca-certificate="${cacert}" \
|
||||
"$url" \
|
||||
-O "${DDNS_PACKAGE_DIR}/list"
|
||||
elif [ -n "$cacert" ]; then
|
||||
echo "Certification file not found ($cacert)"
|
||||
exit 5
|
||||
fi
|
||||
}
|
||||
|
||||
action_list_available() {
|
||||
if [ -f "${DDNS_PACKAGE_DIR}/list" ]; then
|
||||
cat "${DDNS_PACKAGE_DIR}/list"
|
||||
else
|
||||
echo "No service file found please download first"
|
||||
exit 3
|
||||
fi
|
||||
}
|
||||
|
||||
action_list_installed() {
|
||||
if [ -d "${DDNS_PACKAGE_DIR}/services" ]; then
|
||||
ls "${DDNS_PACKAGE_DIR}/services"
|
||||
else
|
||||
echo "No services installed"
|
||||
exit 4
|
||||
fi
|
||||
}
|
||||
|
||||
action_install() {
|
||||
local service="$1"
|
||||
|
||||
local url cacert
|
||||
|
||||
config_load ddns
|
||||
config_get url global 'url' "${URL}${DDNS_PACKAGE_DIR}"
|
||||
config_get cacert global 'cacert' "IGNORE"
|
||||
url="${url}/services/${service}.json"
|
||||
|
||||
if [ -z "$service" ]; then
|
||||
usage "4" "No service specified"
|
||||
fi
|
||||
|
||||
mkdir -p "${DDNS_PACKAGE_DIR}/services"
|
||||
if [ "$cacert" = "IGNORE" ]; then
|
||||
uclient-fetch \
|
||||
--no-check-certificate \
|
||||
"${url}" \
|
||||
-O "${DDNS_PACKAGE_DIR}/services/${service}.json"
|
||||
elif [ -f "$cacert" ]; then
|
||||
uclient-fetch \
|
||||
--ca-certifcate="${cacert}" \
|
||||
"${url}" \
|
||||
-O "${DDNS_PACKAGE_DIR}/services/${service}.json"
|
||||
elif [ -n "$cacert" ]; then
|
||||
echo "Certification file not found ($cacert)"
|
||||
exit 5
|
||||
fi
|
||||
}
|
||||
|
||||
action_remove() {
|
||||
local service="$1"
|
||||
if [ -z "$service" ]; then
|
||||
usage "4" "No service specified"
|
||||
fi
|
||||
|
||||
rm "${DDNS_PACKAGE_DIR}/services/${service}.json"
|
||||
}
|
||||
|
||||
action_purge() {
|
||||
rm -rf "${DDNS_PACKAGE_DIR}/services"
|
||||
rm -rf "${DDNS_PACKAGE_DIR}/list"
|
||||
}
|
||||
|
||||
sub_service() {
|
||||
local action="$1"
|
||||
local service="$2"
|
||||
|
||||
case "$action" in
|
||||
update)
|
||||
action_update
|
||||
;;
|
||||
list-available)
|
||||
action_list_available
|
||||
;;
|
||||
list-installed)
|
||||
action_list_installed
|
||||
;;
|
||||
purge)
|
||||
action_purge
|
||||
;;
|
||||
install)
|
||||
action_install "$service"
|
||||
;;
|
||||
remove)
|
||||
action_remove "$service"
|
||||
;;
|
||||
*)
|
||||
usage "2" "Action not supported"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
main() {
|
||||
local cmd="$1"
|
||||
local action="$2"
|
||||
local service="$3"
|
||||
|
||||
[ "$#" -eq 0 ] && usage "1"
|
||||
|
||||
case "${cmd}" in
|
||||
service)
|
||||
sub_service "${action}" "${service}"
|
||||
;;
|
||||
*)
|
||||
usage "1" "Command not supported"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
main "$@"
|
69
net/ddns-scripts/files/dynamic_dns_functions.sh → net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh
Executable file → Normal file
69
net/ddns-scripts/files/dynamic_dns_functions.sh → net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh
Executable file → Normal file
|
@ -21,7 +21,11 @@
|
|||
. /lib/functions/network.sh
|
||||
|
||||
# GLOBAL VARIABLES #
|
||||
VERSION="2.7.8-14"
|
||||
if [ -f "/usr/share/ddns/version" ]; then
|
||||
VERSION="$(cat "/usr/share/ddns/version")"
|
||||
else
|
||||
VERSION="unknown"
|
||||
fi
|
||||
SECTION_ID="" # hold config's section name
|
||||
VERBOSE=0 # default mode is log to console, but easily changed with parameter
|
||||
MYPROG=$(basename $0) # my program call name
|
||||
|
@ -313,45 +317,50 @@ urlencode() {
|
|||
}
|
||||
|
||||
# extract url or script for given DDNS Provider from
|
||||
# file /etc/ddns/services for IPv4 or from
|
||||
# file /etc/ddns/services_ipv6 for IPv6
|
||||
# directory /usr/share/ddns/services/ipv4/ for IPv4
|
||||
# or from
|
||||
# directory /usr/share/ddns/services/ipv6/ for IPv6
|
||||
# $1 Name of the provider
|
||||
# $1 Name of Variable to store url to
|
||||
# $2 Name of Variable to store script to
|
||||
# $3 Name of Variable to store service answer to
|
||||
get_service_data() {
|
||||
local __FILE __SERVICE __DATA __ANSWER __URL __SCRIPT __PIPE
|
||||
local provider="$1"
|
||||
shift
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
local dir="/usr/share/ddns/services"
|
||||
local name data url answer script
|
||||
|
||||
[ $# -ne 3 ] && write_log 12 "Error calling 'get_service_data()' - wrong number of parameters"
|
||||
|
||||
__FILE="/etc/ddns/services" # IPv4
|
||||
[ $use_ipv6 -ne 0 ] && __FILE="/etc/ddns/services_ipv6" # IPv6
|
||||
[ -f "${dir}/${provider}.json" ] || {
|
||||
eval "$1=\"\""
|
||||
eval "$2=\"\""
|
||||
eval "$3=\"\""
|
||||
return 1
|
||||
}
|
||||
|
||||
# workaround with variables; pipe create subshell with no give back of variable content
|
||||
__PIPE="$ddns_rundir/pipe_$$"
|
||||
mkfifo "$__PIPE"
|
||||
json_load_file "${dir}/${provider}.json"
|
||||
json_get_var name "name"
|
||||
if [ "$use_ipv6" -eq "1" ]; then
|
||||
json_select "ipv6"
|
||||
else
|
||||
json_select "ipv4"
|
||||
fi
|
||||
json_get_var data "url"
|
||||
json_get_var answer "answer"
|
||||
json_select ".."
|
||||
json_cleanup
|
||||
|
||||
# only grep without # or whitespace at linestart | remove "
|
||||
sed '/^#/d; /^[ \t]*$/d; s/\"//g' "$__FILE" > "$__PIPE" &
|
||||
# check if URL or SCRIPT is given
|
||||
url=$(echo "$data" | grep "^http")
|
||||
[ -z "$url" ] && script="/usr/lib/ddns/${data}"
|
||||
|
||||
while read __SERVICE __DATA __ANSWER; do
|
||||
if [ "$__SERVICE" = "$service_name" ]; then
|
||||
# check if URL or SCRIPT is given
|
||||
__URL=$(echo "$__DATA" | grep "^http")
|
||||
[ -z "$__URL" ] && __SCRIPT="/usr/lib/ddns/$__DATA"
|
||||
|
||||
eval "$1=\"$__URL\""
|
||||
eval "$2=\"$__SCRIPT\""
|
||||
eval "$3=\"$__ANSWER\""
|
||||
rm "$__PIPE"
|
||||
return 0
|
||||
fi
|
||||
done < "$__PIPE"
|
||||
rm "$__PIPE"
|
||||
|
||||
eval "$1=\"\"" # no service match clear variables
|
||||
eval "$2=\"\""
|
||||
eval "$3=\"\""
|
||||
return 1
|
||||
eval "$1=\"$url\""
|
||||
eval "$2=\"$script\""
|
||||
eval "$3=\"$answer\""
|
||||
return 0
|
||||
}
|
||||
|
||||
# Calculate seconds from interval and unit
|
0
net/ddns-scripts/files/dynamic_dns_lucihelper.sh → net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_lucihelper.sh
Executable file → Normal file
0
net/ddns-scripts/files/dynamic_dns_lucihelper.sh → net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_lucihelper.sh
Executable file → Normal file
5
net/ddns-scripts/files/dynamic_dns_updater.sh → net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh
Executable file → Normal file
5
net/ddns-scripts/files/dynamic_dns_updater.sh → net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh
Executable file → Normal file
|
@ -232,7 +232,10 @@ esac
|
|||
# determine what update url we're using if a service_name is supplied
|
||||
# otherwise update_url is set inside configuration (custom update url)
|
||||
# or update_script is set inside configuration (custom update script)
|
||||
[ -n "$service_name" ] && get_service_data update_url update_script UPD_ANSWER
|
||||
[ -n "$service_name" ] && {
|
||||
get_service_data "$service_name" update_url update_script UPD_ANSWER
|
||||
}
|
||||
|
||||
[ -z "$update_url" -a -z "$update_script" ] && write_log 14 "No update_url found/defined or no update_script found/defined!"
|
||||
[ -n "$update_script" -a ! -f "$update_script" ] && write_log 14 "Custom update_script not found!"
|
||||
|
0
net/ddns-scripts/files/update_cloudflare_com_v4.sh → net/ddns-scripts/files/usr/lib/ddns/update_cloudflare_com_v4.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_cloudflare_com_v4.sh → net/ddns-scripts/files/usr/lib/ddns/update_cloudflare_com_v4.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_cnkuai_cn.sh → net/ddns-scripts/files/usr/lib/ddns/update_cnkuai_cn.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_cnkuai_cn.sh → net/ddns-scripts/files/usr/lib/ddns/update_cnkuai_cn.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_digitalocean_com_v2.sh → net/ddns-scripts/files/usr/lib/ddns/update_digitalocean_com_v2.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_digitalocean_com_v2.sh → net/ddns-scripts/files/usr/lib/ddns/update_digitalocean_com_v2.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_freedns_42_pl.sh → net/ddns-scripts/files/usr/lib/ddns/update_freedns_42_pl.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_freedns_42_pl.sh → net/ddns-scripts/files/usr/lib/ddns/update_freedns_42_pl.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_godaddy_com_v1.sh → net/ddns-scripts/files/usr/lib/ddns/update_godaddy_com_v1.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_godaddy_com_v1.sh → net/ddns-scripts/files/usr/lib/ddns/update_godaddy_com_v1.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_no-ip_com.sh → net/ddns-scripts/files/usr/lib/ddns/update_no-ip_com.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_no-ip_com.sh → net/ddns-scripts/files/usr/lib/ddns/update_no-ip_com.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_nsupdate.sh → net/ddns-scripts/files/usr/lib/ddns/update_nsupdate.sh
Executable file → Normal file
0
net/ddns-scripts/files/update_nsupdate.sh → net/ddns-scripts/files/usr/lib/ddns/update_nsupdate.sh
Executable file → Normal file
73
net/ddns-scripts/files/usr/share/ddns/list
Normal file
73
net/ddns-scripts/files/usr/share/ddns/list
Normal file
|
@ -0,0 +1,73 @@
|
|||
3322.org
|
||||
able.or.kr
|
||||
afraid.org-basicauth
|
||||
afraid.org-keyauth
|
||||
afraid.org-v2-basic
|
||||
afraid.org-v2-token
|
||||
all-inkl.com
|
||||
changeip.com
|
||||
core-networks.de
|
||||
ddns.com.br
|
||||
ddnss.de
|
||||
ddo.jp
|
||||
desec.io
|
||||
dhis.org
|
||||
dnsdynamic.org
|
||||
dnsever.com
|
||||
dnsexit.com
|
||||
dnshome.de
|
||||
dnsmadeeasy.com
|
||||
dnsmax.com
|
||||
dnsomatic.com
|
||||
dnspark.com
|
||||
do.de
|
||||
domopoli.de
|
||||
dtdns.com
|
||||
duckdns.org
|
||||
duiadns.net
|
||||
dy.fi
|
||||
dyn.com
|
||||
dyndns.it
|
||||
dyndns.org
|
||||
dyndnss.net
|
||||
dynsip.org
|
||||
dyns.net
|
||||
dynu.com
|
||||
dynv6.com
|
||||
easydns.com
|
||||
editdns.net
|
||||
goip.de
|
||||
google.com
|
||||
he.net
|
||||
inwx.de
|
||||
joker.com
|
||||
loopia.se
|
||||
moniker.com
|
||||
mydns.ip
|
||||
myip.co.ua
|
||||
myonlineportal.net
|
||||
mythic-beasts.com
|
||||
namecheap.com
|
||||
nettica.com
|
||||
no-ip.pl
|
||||
now-dns.com
|
||||
nsupdate.info
|
||||
nubem.com
|
||||
opendns.com
|
||||
oray.com
|
||||
ovh.com
|
||||
regfish.de
|
||||
schokokeks.org
|
||||
selfhost.de
|
||||
sitelutions.com
|
||||
spdyn.de
|
||||
strato.com
|
||||
system-ns.com
|
||||
thatip.com
|
||||
twodns.de
|
||||
udmedia.de
|
||||
variomedia.de
|
||||
xlhost.de
|
||||
zerigo.com
|
||||
zoneedit.com
|
||||
zzzz.io
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "3322.org",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@members.3322.org/dyndns/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "able.or.kr",
|
||||
"ipv4": {
|
||||
"url": "http://able.or.kr/ddns/src/update.php?hostname=[DOMAIN]&myip=[IP]&ddnsuser=[USERNAME]&pwd=[PASSWORD]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "afraid.org-basicauth",
|
||||
"ipv4": {
|
||||
"url": "https://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "https://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "afraid.org-keyauth",
|
||||
"ipv4": {
|
||||
"url": "https://freedns.afraid.org/dynamic/update.php?[PASSWORD]&address=[IP]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "https://freedns.afraid.org/dynamic/update.php?[PASSWORD]&address=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "afraid.org-v2-basic",
|
||||
"ipv4": {
|
||||
"url": "https://[USERNAME]:[PASSWORD]@sync.afraid.org/u/?h=[DOMAIN]&ip=[IP]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "https://[USERNAME]:[PASSWORD]@v6.sync.afraid.org/u/?h=[DOMAIN]&ip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "afraid.org-v2-token",
|
||||
"ipv4": {
|
||||
"url": "https://sync.afraid.org/u/[PASSWORD]/?address=[IP]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "https://v6.sync.afraid.org/u/[PASSWORD]/?address=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "all-inkl.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyndns.kasserver.com/?myip=[IP]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyndns.kasserver.com/?myip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "bind-nsupdate",
|
||||
"ipv4": {
|
||||
"url": "update_nsupdate.sh"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "update_nsupdate.sh"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "changeip.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@nic.changeip.com/nic/update?u=[USERNAME]&p=[PASSWORD]&cmd=update&hostname=[DOMAIN]&ip=[IP]",
|
||||
"answer": "Successful"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "cloudflare.com-v4",
|
||||
"ipv4": {
|
||||
"url": "update_cloudflare_com_v4.sh"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "update_cloudflare_com_v4.sh"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "cnkuai.cn",
|
||||
"ipv4": {
|
||||
"url": "update_cnkuai_cn.sh"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "update_cnkuai_cn.sh"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "core-networks.de",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyndns.core-networks.de/?hostname=[DOMAIN]&myip=[IP]&keepipv6=1",
|
||||
"answer": "good"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyndns.core-networks.de/?hostname=[DOMAIN]&myip=[IP]&keepipv4=1",
|
||||
"answer": "good"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "ddns.com.br",
|
||||
"ipv4": {
|
||||
"url": "http://[DOMAIN]:[PASSWORD]@members.ddns.com.br/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "ddnss.de",
|
||||
"ipv4": {
|
||||
"url": "http://ip4.ddnss.de/upd.php?user=[USERNAME]&pwd=[PASSWORD]&host=[DOMAIN]&ip=[IP]",
|
||||
"answer": "Updated|No change"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "ddo.jp",
|
||||
"ipv4": {
|
||||
"url": "http://free.ddo.jp/dnsupdate.php?dn=[DOMAIN]&pw=[PASSWORD]&ip=[IP]"
|
||||
}
|
||||
}
|
11
net/ddns-scripts/files/usr/share/ddns/services/desec.io.json
Normal file
11
net/ddns-scripts/files/usr/share/ddns/services/desec.io.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "desec.io",
|
||||
"ipv4": {
|
||||
"url": "http://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv4=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv6=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "dhis.org",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@is.dhis.org/"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@is.dhis.org/"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "digitalocean.com-v2",
|
||||
"ipv4": {
|
||||
"url": "update_digitalocean_com_v2.sh"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "update_digitalocean_com_v2.sh"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "dnsdynamic.org",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@www.dnsdynamic.org/api/?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "dnsever.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyna.dnsever.com/update.php?host[[DOMAIN]]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "dnsexit.com",
|
||||
"ipv4": {
|
||||
"url": "http://update.dnsexit.com/RemoteUpdate.sv?login=[USERNAME]&password=[PASSWORD]&host=[DOMAIN]&myip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "dnshome.de",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@www.dnshome.de/dyndns.php?hostname=[DOMAIN]&ip=[IP]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@www.dnshome.de/dyndns.php?hostname=[DOMAIN]&ip6=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "dnsmadeeasy.com",
|
||||
"ipv4": {
|
||||
"url": "http://cp.dnsmadeeasy.com/servlet/updateip?username=[USERNAME]&password=[PASSWORD]&id=[DOMAIN]&ip=[IP]",
|
||||
"answer": "success|ip-same"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "dnsmax.com",
|
||||
"ipv4": {
|
||||
"url": "http://update.dnsmax.com/update/?username=[USERNAME]&password=[PASSWORD]&resellerid=1&clientname=openwrt&clientversion=8.09&protocolversion=2.0&updatehostname=[DOMAIN]&ip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "dnsomatic.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@updates.dnsomatic.com/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "dnspark.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@control.dnspark.com/api/dynamic/update.php?hostname=[DOMAIN]&ip=[IP]",
|
||||
"answer": "ok|nochange"
|
||||
}
|
||||
}
|
11
net/ddns-scripts/files/usr/share/ddns/services/do.de.json
Normal file
11
net/ddns-scripts/files/usr/share/ddns/services/do.de.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "do.de",
|
||||
"ipv4": {
|
||||
"url": "http://ddns.do.de/?myip=[IP]&hostname=[DOMAIN]&username=[USERNAME]&password=[PASSWORD]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://ddns.do.de/?myip=[IP]&hostname=[DOMAIN]&username=[USERNAME]&password=[PASSWORD]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "domopoli.de",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@http://dyndns.domopoli.de/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "dtdns.com",
|
||||
"ipv4": {
|
||||
"url": "http://www.dtdns.com/api/autodns.cfm?id=[DOMAIN]&pw=[PASSWORD]&ip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "duckdns.org",
|
||||
"ipv4": {
|
||||
"url": "http://www.duckdns.org/update?domains=[DOMAIN]&token=[PASSWORD]&ip=[IP]",
|
||||
"answer": "OK"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://www.duckdns.org/update?domains=[DOMAIN]&token=[PASSWORD]&ipv6=[IP]",
|
||||
"answer": "OK"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "duiadns.net",
|
||||
"ipv4": {
|
||||
"url": "http://ip.duiadns.net/dynamic.duia?host=[DOMAIN]&password=[PASSWORD]&ip4=[IP]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://ip.duiadns.net/dynamic.duia?host=[DOMAIN]&password=[PASSWORD]&ip6=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "dy.fi",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@www.dy.fi/nic/update?hostname=[DOMAIN]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
11
net/ddns-scripts/files/usr/share/ddns/services/dyn.com.json
Normal file
11
net/ddns-scripts/files/usr/share/ddns/services/dyn.com.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "dyn.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "dyndns.it",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@update.dyndns.it/nic/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "dyndns.org",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "dyndnss.net",
|
||||
"ipv4": {
|
||||
"url": "http://www.dyndnss.net/?user=[USERNAME]&pass=[PASSWORD]&domain=[DOMAIN]&updater=other"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "dyns.net",
|
||||
"ipv4": {
|
||||
"url": "http://www.dyns.net/postscript011.php?username=[USERNAME]&password=[PASSWORD]&host=[DOMAIN]&ip=[IP]",
|
||||
"answer": "200"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "dynsip.org",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dynsip.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "dynu.com",
|
||||
"ipv4": {
|
||||
"url": "http://api.dynu.com/nic/update?hostname=[DOMAIN]&myip=[IP]&username=[USERNAME]&password=[PASSWORD]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://api.dynu.com/nic/update?hostname=[DOMAIN]&myipv6=[IP]&username=[USERNAME]&password=[PASSWORD]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "dynv6.com",
|
||||
"ipv4": {
|
||||
"url": "http://dynv6.com/api/update?hostname=[DOMAIN]&token=[PASSWORD]&ipv4=[IP]",
|
||||
"answer": "updated|unchanged"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://dynv6.com/api/update?hostname=[DOMAIN]&token=[PASSWORD]&ipv6=[IP]",
|
||||
"answer": "updated|unchanged"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "easydns.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@api.cp.easydns.com/dyn/generic.php?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "OK|NOERROR"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "editdns.net",
|
||||
"ipv4": {
|
||||
"url": "http://dyndns-free.editdns.net/api/dynLinux.php?p=[PASSWORD]&r=[DOMAIN]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "freedns.42.pl",
|
||||
"ipv4": {
|
||||
"url": "update_freedns_42_pl.sh"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "godaddy.com-v1",
|
||||
"ipv4": {
|
||||
"url": "update_godaddy_com_v1.sh"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "update_godaddy_com_v1.sh"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "goip.de",
|
||||
"ipv4": {
|
||||
"url": "http://www.goip.de/setip?username=[USERNAME]&password=[PASSWORD]&subdomain=[DOMAIN]&ip=[IP]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://www.goip.de/setip?username=[USERNAME]&password=[PASSWORD]&subdomain=[DOMAIN]&ip6=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "google.com",
|
||||
"ipv4": {
|
||||
"url": "https://[USERNAME]:[PASSWORD]@domains.google.com/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@domains.google.com/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
11
net/ddns-scripts/files/usr/share/ddns/services/he.net.json
Normal file
11
net/ddns-scripts/files/usr/share/ddns/services/he.net.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "he.net",
|
||||
"ipv4": {
|
||||
"url": "http://[DOMAIN]:[PASSWORD]@dyn.dns.he.net/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[DOMAIN]:[PASSWORD]@dyn.dns.he.net/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
11
net/ddns-scripts/files/usr/share/ddns/services/inwx.de.json
Normal file
11
net/ddns-scripts/files/usr/share/ddns/services/inwx.de.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "inwx.de",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyndns.inwx.com/nic/update?myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyndns.inwx.com/nic/update?myipv6=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "joker.com",
|
||||
"ipv4": {
|
||||
"url": "http://svc.joker.com/nic/update?username=[USERNAME]&password=[PASSWORD]&myip=[IP]&hostname=[DOMAIN]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "loopia.se",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dns.loopia.se/XDynDNSServer/XDynDNS.php?system=custom&hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dns.loopia.se/XDynDNSServer/XDynDNS.php?system=custom&hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "moniker.com",
|
||||
"ipv4": {
|
||||
"url": "https://dynamicdns.key-systems.net/update.php?hostname=[DOMAIN]&password=[PASSWORD]&ip=[IP]",
|
||||
"answer": "success"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "mydns.jp",
|
||||
"ipv4": {
|
||||
"url": "http://www.mydns.jp/directip.html?MID=[USERNAME]&PWD=[PASSWORD]&IPV4ADDR=[IP]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://www.mydns.jp/directip.html?MID=[USERNAME]&PWD=[PASSWORD]&IPV6ADDR=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "myip.co.ua",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@myip.co.ua/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "myonlineportal.net",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@myonlineportal.net/updateddns?hostname=[DOMAIN]&ip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@myonlineportal.net/updateddns?hostname=[DOMAIN]&ip6=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "mythic-beasts.com",
|
||||
"ipv4": {
|
||||
"url": "http://dnsapi4.mythic-beasts.com/?domain=[USERNAME]&password=[PASSWORD]&command=REPLACE%20[DOMAIN]%2060%20A%20DYNAMIC_IP&origin=."
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://dnsapi6.mythic-beasts.com/?domain=[USERNAME]&password=[PASSWORD]&command=REPLACE%20[DOMAIN]%2060%20AAAA%20DYNAMIC_IP&origin=."
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "namecheap.com",
|
||||
"ipv4": {
|
||||
"url": "http://dynamicdns.park-your-domain.com/update?host=[USERNAME]&domain=[DOMAIN]&password=[PASSWORD]&ip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "nettica.com",
|
||||
"ipv4": {
|
||||
"url": "http://www.nettica.com/Domain/Update.aspx?U=[USERNAME]&PC=[PASSWORD]&FQDN=[DOMAIN]&N=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "no-ip.com",
|
||||
"ipv4": {
|
||||
"url": "update_no-ip_com.sh"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "no-ip.pl",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@update.no-ip.pl/?hostname=[DOMAIN]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@update.no-ip.pl/?hostname=[DOMAIN]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "now-dns.com",
|
||||
"ipv4": {
|
||||
"url": "https://[USERNAME]:[PASSWORD]@now-dns.com/update?hostname=[DOMAIN]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "https://[USERNAME]:[PASSWORD]@now-dns.com/update?hostname=[DOMAIN]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "nsupdate.info",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@ipv4.nsupdate.info/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@ipv6.nsupdate.info/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "nubem.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@nubem.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name":"opendns.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@updates.opendns.com/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "oray.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@ddns.oray.com/ph/update?hostname=[DOMAIN]&myip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "ovh.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@www.ovh.com/nic/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "regfish.de",
|
||||
"ipv4": {
|
||||
"url": "http://dyndns.regfish.de/?fqdn=[DOMAIN]&forcehost=1&authtype=secure&token=[PASSWORD]&ipv4=[IP]",
|
||||
"answer": "success|100|101"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://dyndns.regfish.de/?fqdn=[DOMAIN]&forcehost=1&authtype=secure&token=[PASSWORD]&ipv6=[IP]",
|
||||
"answer": "success|100|101"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "route53-v1",
|
||||
"ipv4": {
|
||||
"url": "update_route53_v1.sh"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "update_route53_v1.sh"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "schokokeks.org",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyndns.schokokeks.org/nic/update?myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "selfhost.de",
|
||||
"ipv4": {
|
||||
"url": "http://carol.selfhost.de/update?username=[USERNAME]&password=[PASSWORD]&myip=[IP]&hostname=1",
|
||||
"answer": "good|nochg|200|204"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "sitelutions.com",
|
||||
"ipv4": {
|
||||
"url": "http://www.sitelutions.com/dnsup?user=[USERNAME]&pass=[PASSWORD]&id=[DOMAIN]&ip=[IP]",
|
||||
"answer": "success"
|
||||
}
|
||||
}
|
11
net/ddns-scripts/files/usr/share/ddns/services/spdyn.de.json
Normal file
11
net/ddns-scripts/files/usr/share/ddns/services/spdyn.de.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "spdyn.de",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@update.spdyn.de/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@update.spdyn.de/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "strato.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyndns.strato.com/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"name": "system-ns.com",
|
||||
|
||||
"ipv4": {
|
||||
"url": "http://system-ns.com/api?type=dynamic&command=set&domain=[DOMAIN]&token=[PASSWORD]&ip=[IP]",
|
||||
"answer": "0"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "thatip.com",
|
||||
"ipv4": {
|
||||
"url": "http://update.dnsmax.com/update/?username=[USERNAME]&password=[PASSWORD]&resellerid=2&clientname=openwrt&clientversion=8.09&protocolversion=2.0&updatehostname=[DOMAIN]&ip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "twodns.de",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@update.twodns.de/update?hostname=[DOMAIN]&ip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "udmedia.de",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@www.udmedia.de/nic/update?myip=[IP]"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@www.udmedia.de/nic/update?myip=[IP]"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "variomedia.de",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyndns.variomedia.de/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dyndns.variomedia.de/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "xlhost.de",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@nsupdate.xlhost.de/nic/update?hostname=[DOMAIN]&myip=[IP]",
|
||||
"answer": "good|nochg"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "zerigo.com",
|
||||
"ipv4": {
|
||||
"url": "http://update.zerigo.com/dynamic?user=[USERNAME]&password=[PASSWORD]&host=[DOMAIN]&ip=[IP]",
|
||||
"answer": "ok"
|
||||
},
|
||||
"ipv6": {
|
||||
"url": "http://update.zerigo.com/dynamic?user=[USERNAME]&password=[PASSWORD]&host=[DOMAIN]&ip=[IP]",
|
||||
"answer": "ok"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "zoneedit.com",
|
||||
"ipv4": {
|
||||
"url": "http://[USERNAME]:[PASSWORD]@dynamic.zoneedit.com/auth/dynamic.html?host=[DOMAIN]&dnsto=[IP]"
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue