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
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=ddns-scripts
|
PKG_NAME:=ddns-scripts
|
||||||
# Version == major.minor.patch
|
PKG_VERSION:=2.8.0
|
||||||
# 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_RELEASE:=24
|
PKG_RELEASE:=24
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
PKG_MAINTAINER:=
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
# no default dependencies
|
|
||||||
PKG_DEFAULT_DEPENDS=
|
|
||||||
|
|
||||||
define Package/ddns-scripts/Default
|
define Package/ddns-scripts/Default
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
SUBMENU:=IP Addresses and Names
|
SUBMENU:=IP Addresses and Names
|
||||||
PKGARCH:=all
|
PKGARCH:=all
|
||||||
endef
|
endef
|
||||||
|
|
||||||
###### *************************************************************************
|
|
||||||
define Package/ddns-scripts
|
define Package/ddns-scripts
|
||||||
$(call Package/ddns-scripts/Default)
|
$(call Package/ddns-scripts/Default)
|
||||||
TITLE:=Dynamic DNS Client scripts (with IPv6 support)
|
TITLE:=Dynamic DNS Client scripts (with IPv6 support)
|
||||||
endef
|
endef
|
||||||
# shown in LuCI package description
|
|
||||||
define Package/ddns-scripts/description
|
define Package/ddns-scripts/description
|
||||||
Dynamic DNS Client scripts (with IPv6 support) - Info: https://openwrt.org/docs/guide-user/services/ddns/client
|
Dynamic DNS Client scripts (with IPv6 support)
|
||||||
endef
|
A highly configurable set of scripts for doing dynamic dns updates.
|
||||||
# shown in menuconfig <Help>
|
- IPv6 support
|
||||||
define Package/ddns-scripts/config
|
- DNS server support
|
||||||
help
|
- Glue Record support (require BIND host or KNOT host)
|
||||||
A highly configurable set of scripts for doing dynamic dns updates.
|
- DNS requests via TCP
|
||||||
- IPv6 support
|
- Proxy server support
|
||||||
- DNS server support
|
- log file support
|
||||||
- Glue Record support (require BIND host or KNOT host)
|
- support to run once
|
||||||
- DNS requests via TCP
|
Version: $(PKG_VERSION)-$(PKG_RELEASE)
|
||||||
- Proxy server support
|
Info : https://openwrt.org/docs/guide-user/services/ddns/client
|
||||||
- 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
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ddns-scripts/conffiles
|
define Package/ddns-scripts/conffiles
|
||||||
/etc/config/ddns
|
/etc/config/ddns
|
||||||
endef
|
endef
|
||||||
|
|
||||||
###### *************************************************************************
|
|
||||||
define Package/ddns-scripts/preinst
|
define Package/ddns-scripts_service
|
||||||
#!/bin/sh
|
$(call Package/ddns-scripts/Default)
|
||||||
# if NOT run buildroot then stop service
|
TITLE:=Common ddns providers
|
||||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
DEPENDS:=ddns-scripts
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
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
|
define Package/ddns-scripts/install
|
||||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns
|
$(INSTALL_DATA) ./files/etc/hotplug.d/iface/ddns \
|
||||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
$(1)/etc/hotplug.d/iface/95-ddns
|
||||||
$(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/ddns
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/services* $(1)/etc/ddns
|
$(INSTALL_BIN) ./files/etc/init.d/ddns \
|
||||||
|
$(1)/etc/init.d/ddns
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
$(INSTALL_DIR) $(1)/etc/config
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/dynamic_dns_*.sh $(1)/usr/lib/ddns
|
$(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
|
endef
|
||||||
|
|
||||||
define Package/ddns-scripts/postinst
|
define Package/ddns-scripts/postinst
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# if NOT run buildroot and PKG_UPGRADE then (re)start service if enabled
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
[ -z "$${IPKG_INSTROOT}" -a "$${PKG_UPGRADE}" = "1" ] && {
|
/etc/init.d/ddns enabled
|
||||||
[ -x /etc/uci-defaults/ddns ] && \
|
/etc/init.d/ddns start
|
||||||
/etc/uci-defaults/ddns && \
|
fi
|
||||||
rm -f /etc/uci-defaults/ddns >/dev/null 2>&1
|
exit 0
|
||||||
/etc/init.d/ddns enabled && \
|
|
||||||
/etc/init.d/ddns start >/dev/null 2>&1
|
|
||||||
}
|
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ddns-scripts/prerm
|
define Package/ddns-scripts/prerm
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# if run within buildroot exit
|
if [ -n "$${IPKG_INSTROOT}" ]; then
|
||||||
[ -n "$${IPKG_INSTROOT}" ] && exit 0
|
|
||||||
# stop running scripts
|
|
||||||
/etc/init.d/ddns stop
|
/etc/init.d/ddns stop
|
||||||
/etc/init.d/ddns disable
|
/etc/init.d/ddns disable
|
||||||
# clear LuCI indexcache
|
fi
|
||||||
rm -f /tmp/luci-indexcache >/dev/null 2>&1
|
exit 0
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
###### *************************************************************************
|
|
||||||
define Package/ddns-scripts_cloudflare.com-v4/preinst
|
define Package/ddns-scripts_service/install
|
||||||
#!/bin/sh
|
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||||
# if NOT run buildroot then stop service
|
$(INSTALL_DATA) ./files/usr/share/ddns/services/* \
|
||||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
$(1)/usr/share/ddns/services
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
define Package/ddns-scripts_cloudflare.com-v4/install
|
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_DIR) $(1)/usr/lib/ddns
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_cloudflare_com_v4.sh $(1)/usr/lib/ddns
|
$(INSTALL_BIN) ./files/usr/lib/ddns/update_cloudflare_com_v4.sh \
|
||||||
endef
|
$(1)/usr/lib/ddns
|
||||||
define Package/ddns-scripts_cloudflare.com-v4/postinst
|
|
||||||
#!/bin/sh
|
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||||
# remove old services file entries
|
$(INSTALL_DATA) ./files/usr/share/ddns/services/cloudflare.com-v4.json \
|
||||||
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
$(1)/usr/share/ddns/services/
|
||||||
/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
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ddns-scripts_cloudflare.com-v4/prerm
|
define Package/ddns-scripts_cloudflare.com-v4/prerm
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# if NOT run buildroot then stop service
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
/etc/init.d/ddns stop
|
||||||
# remove services file entries
|
fi
|
||||||
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
exit 0
|
||||||
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
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
|
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_DIR) $(1)/usr/lib/ddns
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_freedns_42_pl.sh $(1)/usr/lib/ddns
|
$(INSTALL_BIN) ./files/usr/lib/ddns/update_freedns_42_pl.sh \
|
||||||
endef
|
$(1)/usr/lib/ddns
|
||||||
define Package/ddns-scripts_freedns_42_pl/postinst
|
|
||||||
#!/bin/sh
|
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||||
# remove old services file entries
|
$(INSTALL_DATA) ./files/usr/share/ddns/services/freedns.42.pl.json \
|
||||||
/bin/sed -i '/freedns\.42\.pl/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
$(1)/usr/share/ddns/services
|
||||||
# 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
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ddns-scripts_freedns_42_pl/prerm
|
define Package/ddns-scripts_freedns_42_pl/prerm
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# if NOT run buildroot then stop service
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
/etc/init.d/ddns stop
|
||||||
# remove services file entries
|
fi
|
||||||
/bin/sed -i '/freedns\.42\.pl/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
exit 0
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
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
|
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_DIR) $(1)/usr/lib/ddns
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_godaddy_com_v1.sh $(1)/usr/lib/ddns
|
$(INSTALL_BIN) ./files/usr/lib/ddns/update_godaddy_com_v1.sh \
|
||||||
endef
|
$(1)/usr/lib/ddns
|
||||||
define Package/ddns-scripts_godaddy.com-v1/postinst
|
|
||||||
#!/bin/sh
|
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||||
# remove old services file entries
|
$(INSTALL_DATA) ./files/usr/share/ddns/services/godaddy.com-v1.json \
|
||||||
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
$(1)/usr/share/ddns/services
|
||||||
/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
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ddns-scripts_godaddy.com-v1/prerm
|
define Package/ddns-scripts_godaddy.com-v1/prerm
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# if NOT run buildroot then stop service
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
/etc/init.d/ddns stop
|
||||||
# remove services file entries
|
fi
|
||||||
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
exit 0
|
||||||
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
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
|
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_DIR) $(1)/usr/lib/ddns
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_digitalocean_com_v2.sh $(1)/usr/lib/ddns
|
$(INSTALL_BIN) ./files/usr/lib/ddns/update_digitalocean_com_v2.sh \
|
||||||
endef
|
$(1)/usr/lib/ddns
|
||||||
define Package/ddns-scripts_digitalocean.com-v2/postinst
|
|
||||||
#!/bin/sh
|
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||||
# remove old services file entries
|
$(INSTALL_DATA) ./files/usr/share/ddns/services/digitalocean.com-v2.json \
|
||||||
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
$(1)/usr/share/ddns/services
|
||||||
/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
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ddns-scripts_digitalocean.com-v2/prerm
|
define Package/ddns-scripts_digitalocean.com-v2/prerm
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# if NOT run buildroot then stop service
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
/etc/init.d/ddns stop
|
||||||
# remove services file entries
|
fi
|
||||||
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
exit 0
|
||||||
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
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
|
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_DIR) $(1)/usr/lib/ddns
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_no-ip_com.sh $(1)/usr/lib/ddns
|
$(INSTALL_BIN) ./files/usr/lib/ddns/update_no-ip_com.sh \
|
||||||
endef
|
$(1)/usr/lib/ddns
|
||||||
define Package/ddns-scripts_no-ip_com/postinst
|
|
||||||
#!/bin/sh
|
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||||
# remove old services file entries
|
$(INSTALL_DATA) ./files/usr/share/ddns/services/no-ip.com.json \
|
||||||
/bin/sed -i '/no-ip\.com/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
$(1)/usr/share/ddns/services
|
||||||
# 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
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ddns-scripts_no-ip_com/prerm
|
define Package/ddns-scripts_no-ip_com/prerm
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# if NOT run buildroot then stop service
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
/etc/init.d/ddns stop
|
||||||
# remove services file entries
|
fi
|
||||||
/bin/sed -i '/no-ip\.com/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
exit 0
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
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
|
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_DIR) $(1)/usr/lib/ddns
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_nsupdate.sh $(1)/usr/lib/ddns
|
$(INSTALL_BIN) ./files/usr/lib/ddns/update_nsupdate.sh \
|
||||||
endef
|
$(1)/usr/lib/ddns
|
||||||
define Package/ddns-scripts_nsupdate/postinst
|
|
||||||
#!/bin/sh
|
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||||
# remove old services file entries
|
$(INSTALL_DATA) ./files/usr/share/ddns/services/bind-nsupdate.json \
|
||||||
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
$(1)/usr/share/ddns/services
|
||||||
/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
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ddns-scripts_nsupdate/prerm
|
define Package/ddns-scripts_nsupdate/prerm
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# if NOT run buildroot then stop service
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
/etc/init.d/ddns stop
|
||||||
# remove services file entries
|
fi
|
||||||
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
exit 0
|
||||||
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
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
|
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_DIR) $(1)/usr/lib/ddns
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_route53_v1.sh $(1)/usr/lib/ddns
|
$(INSTALL_BIN) ./files/usr/lib/ddns/update_route53_v1.sh \
|
||||||
endef
|
$(1)/usr/lib/ddns
|
||||||
define Package/ddns-scripts_route53-v1/postinst
|
|
||||||
#!/bin/sh
|
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||||
# remove old services file entries
|
$(INSTALL_DATA) ./files/usr/share/ddns/services/route53-v1.json \
|
||||||
/bin/sed -i '/route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
$(1)/usr/share/ddns/services
|
||||||
/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
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ddns-scripts_route53-v1/prerm
|
define Package/ddns-scripts_route53-v1/prerm
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# if NOT run buildroot then stop service
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
|
/etc/init.d/ddns stop
|
||||||
# remove services file entries
|
fi
|
||||||
/bin/sed -i 'route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
exit 0
|
||||||
/bin/sed -i 'route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
|
|
||||||
exit 0 # suppress errors
|
|
||||||
endef
|
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
|
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_DIR) $(1)/usr/lib/ddns
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_cnkuai_cn.sh $(1)/usr/lib/ddns
|
$(INSTALL_BIN) ./files/usr/lib/ddns/update_cnkuai_cn.sh \
|
||||||
endef
|
$(1)/usr/lib/ddns
|
||||||
define Package/ddns-scripts_cnkuai_cn/postinst
|
|
||||||
#!/bin/sh
|
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||||
# remove old services file entries
|
$(INSTALL_DATA) ./files/usr/share/ddns/services/cnkuai.cn.json \
|
||||||
/bin/sed -i '/cnkuai.cn/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
|
$(1)/usr/share/ddns/services
|
||||||
/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
|
|
||||||
endef
|
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))
|
||||||
|
$(eval $(call BuildPackage,ddns-scripts_service))
|
||||||
$(eval $(call BuildPackage,ddns-scripts_cloudflare.com-v4))
|
$(eval $(call BuildPackage,ddns-scripts_cloudflare.com-v4))
|
||||||
$(eval $(call BuildPackage,ddns-scripts_freedns_42_pl))
|
$(eval $(call BuildPackage,ddns-scripts_freedns_42_pl))
|
||||||
$(eval $(call BuildPackage,ddns-scripts_godaddy.com-v1))
|
$(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
|
. /lib/functions/network.sh
|
||||||
|
|
||||||
# GLOBAL VARIABLES #
|
# 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
|
SECTION_ID="" # hold config's section name
|
||||||
VERBOSE=0 # default mode is log to console, but easily changed with parameter
|
VERBOSE=0 # default mode is log to console, but easily changed with parameter
|
||||||
MYPROG=$(basename $0) # my program call name
|
MYPROG=$(basename $0) # my program call name
|
||||||
|
@ -313,45 +317,50 @@ urlencode() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# extract url or script for given DDNS Provider from
|
# extract url or script for given DDNS Provider from
|
||||||
# file /etc/ddns/services for IPv4 or from
|
# directory /usr/share/ddns/services/ipv4/ for IPv4
|
||||||
# file /etc/ddns/services_ipv6 for IPv6
|
# or from
|
||||||
|
# directory /usr/share/ddns/services/ipv6/ for IPv6
|
||||||
|
# $1 Name of the provider
|
||||||
# $1 Name of Variable to store url to
|
# $1 Name of Variable to store url to
|
||||||
# $2 Name of Variable to store script to
|
# $2 Name of Variable to store script to
|
||||||
# $3 Name of Variable to store service answer to
|
# $3 Name of Variable to store service answer to
|
||||||
get_service_data() {
|
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"
|
[ $# -ne 3 ] && write_log 12 "Error calling 'get_service_data()' - wrong number of parameters"
|
||||||
|
|
||||||
__FILE="/etc/ddns/services" # IPv4
|
[ -f "${dir}/${provider}.json" ] || {
|
||||||
[ $use_ipv6 -ne 0 ] && __FILE="/etc/ddns/services_ipv6" # IPv6
|
eval "$1=\"\""
|
||||||
|
eval "$2=\"\""
|
||||||
|
eval "$3=\"\""
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
# workaround with variables; pipe create subshell with no give back of variable content
|
json_load_file "${dir}/${provider}.json"
|
||||||
__PIPE="$ddns_rundir/pipe_$$"
|
json_get_var name "name"
|
||||||
mkfifo "$__PIPE"
|
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 "
|
# check if URL or SCRIPT is given
|
||||||
sed '/^#/d; /^[ \t]*$/d; s/\"//g' "$__FILE" > "$__PIPE" &
|
url=$(echo "$data" | grep "^http")
|
||||||
|
[ -z "$url" ] && script="/usr/lib/ddns/${data}"
|
||||||
|
|
||||||
while read __SERVICE __DATA __ANSWER; do
|
eval "$1=\"$url\""
|
||||||
if [ "$__SERVICE" = "$service_name" ]; then
|
eval "$2=\"$script\""
|
||||||
# check if URL or SCRIPT is given
|
eval "$3=\"$answer\""
|
||||||
__URL=$(echo "$__DATA" | grep "^http")
|
return 0
|
||||||
[ -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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Calculate seconds from interval and unit
|
# 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
|
# determine what update url we're using if a service_name is supplied
|
||||||
# otherwise update_url is set inside configuration (custom update url)
|
# otherwise update_url is set inside configuration (custom update url)
|
||||||
# or update_script is set inside configuration (custom update script)
|
# 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!"
|
[ -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!"
|
[ -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