Browse Source

Merge pull request #13402 from TDT-AG/pr/20200916-ddns-scripts

ddns-scripts: move providers into json
lilik-openwrt-22.03
Florian Eckert 4 years ago
committed by GitHub
parent
commit
5b7f191bec
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
101 changed files with 1216 additions and 955 deletions
  1. +262
    -432
      net/ddns-scripts/Makefile
  2. +0
    -201
      net/ddns-scripts/files/ddns.defaults
  3. +0
    -0
      net/ddns-scripts/files/etc/config/ddns
  4. +0
    -0
      net/ddns-scripts/files/etc/hotplug.d/iface/ddns
  5. +0
    -0
      net/ddns-scripts/files/etc/init.d/ddns
  6. +0
    -184
      net/ddns-scripts/files/services
  7. +0
    -105
      net/ddns-scripts/files/services_ipv6
  8. +171
    -0
      net/ddns-scripts/files/usr/bin/ddns.sh
  9. +41
    -32
      net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh
  10. +0
    -0
      net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_lucihelper.sh
  11. +4
    -1
      net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh
  12. +0
    -0
      net/ddns-scripts/files/usr/lib/ddns/update_cloudflare_com_v4.sh
  13. +0
    -0
      net/ddns-scripts/files/usr/lib/ddns/update_cnkuai_cn.sh
  14. +0
    -0
      net/ddns-scripts/files/usr/lib/ddns/update_digitalocean_com_v2.sh
  15. +0
    -0
      net/ddns-scripts/files/usr/lib/ddns/update_freedns_42_pl.sh
  16. +0
    -0
      net/ddns-scripts/files/usr/lib/ddns/update_godaddy_com_v1.sh
  17. +0
    -0
      net/ddns-scripts/files/usr/lib/ddns/update_no-ip_com.sh
  18. +0
    -0
      net/ddns-scripts/files/usr/lib/ddns/update_nsupdate.sh
  19. +0
    -0
      net/ddns-scripts/files/usr/lib/ddns/update_route53_v1.sh
  20. +73
    -0
      net/ddns-scripts/files/usr/share/ddns/list
  21. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/3322.org.json
  22. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/able.or.kr.json
  23. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/afraid.org-basicauth.json
  24. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/afraid.org-keyauth.json
  25. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/afraid.org-v2-basic.json
  26. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/afraid.org-v2-token.json
  27. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/all-inkl.com.json
  28. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/bind-nsupdate.json
  29. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/changeip.com.json
  30. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/cloudflare.com-v4.json
  31. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/cnkuai.cn.json
  32. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/core-networks.de.json
  33. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/ddns.com.br.json
  34. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/ddnss.de.json
  35. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/ddo.jp.json
  36. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/desec.io.json
  37. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dhis.org.json
  38. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/digitalocean.com-v2.json
  39. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dnsdynamic.org.json
  40. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dnsever.com.json
  41. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dnsexit.com.json
  42. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dnshome.de.json
  43. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dnsmadeeasy.com.json
  44. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dnsmax.com.json
  45. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dnsomatic.com.json
  46. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dnspark.com.json
  47. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/do.de.json
  48. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/domopoli.de.json
  49. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dtdns.com.json
  50. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/duckdns.org.json
  51. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/duiadns.net.json
  52. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dy.fi.json
  53. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dyn.com.json
  54. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dyndns.it.json
  55. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dyndns.org.json
  56. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dyndnss.net.json
  57. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dyns.net.json
  58. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dynsip.org.json
  59. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dynu.com.json
  60. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/dynv6.com.json
  61. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/easydns.com.json
  62. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/editdns.net.json
  63. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/freedns.42.pl.json
  64. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/godaddy.com-v1.json
  65. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/goip.de.json
  66. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/google.com.json
  67. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/he.net.json
  68. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/inwx.de.json
  69. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/joker.com.json
  70. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/loopia.se.json
  71. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/moniker.com.json
  72. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/mydns.ip.json
  73. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/myip.co.ua.json
  74. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/myonlineportal.net.json
  75. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/mythic-beasts.com.json
  76. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/namecheap.com.json
  77. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/nettica.com.json
  78. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/no-ip.com.json
  79. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/no-ip.pl.json
  80. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/now-dns.com.json
  81. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/nsupdate.info.json
  82. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/nubem.com.json
  83. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/opendns.com.json
  84. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/oray.com.json
  85. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/ovh.com.json
  86. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/regfish.de.json
  87. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/route53-v1.json
  88. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/schokokeks.org.json
  89. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/selfhost.de.json
  90. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/sitelutions.com.json
  91. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/spdyn.de.json
  92. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/strato.com.json
  93. +8
    -0
      net/ddns-scripts/files/usr/share/ddns/services/system-ns.com.json
  94. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/thatip.com.json
  95. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/twodns.de.json
  96. +9
    -0
      net/ddns-scripts/files/usr/share/ddns/services/udmedia.de.json
  97. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/variomedia.de.json
  98. +7
    -0
      net/ddns-scripts/files/usr/share/ddns/services/xlhost.de.json
  99. +11
    -0
      net/ddns-scripts/files/usr/share/ddns/services/zerigo.com.json
  100. +6
    -0
      net/ddns-scripts/files/usr/share/ddns/services/zoneedit.com.json

+ 262
- 432
net/ddns-scripts/Makefile View File

@ -7,554 +7,384 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ddns-scripts
# Version == major.minor.patch
# increase on new functionality (minor) or patches (patch)
PKG_VERSION:=2.7.8
# Release == build
# increase on changes of services files or tld_names.dat
PKG_VERSION:=2.8.0
PKG_RELEASE:=24
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=
include $(INCLUDE_DIR)/package.mk
# no default dependencies
PKG_DEFAULT_DEPENDS=
define Package/ddns-scripts/Default
SECTION:=net
CATEGORY:=Network
SUBMENU:=IP Addresses and Names
PKGARCH:=all
SECTION:=net
CATEGORY:=Network
SUBMENU:=IP Addresses and Names
PKGARCH:=all
endef
###### *************************************************************************
define Package/ddns-scripts
$(call Package/ddns-scripts/Default)
TITLE:=Dynamic DNS Client scripts (with IPv6 support)
$(call Package/ddns-scripts/Default)
TITLE:=Dynamic DNS Client scripts (with IPv6 support)
endef
# shown in LuCI package description
define Package/ddns-scripts/description
Dynamic DNS Client scripts (with IPv6 support) - Info: https://openwrt.org/docs/guide-user/services/ddns/client
endef
# shown in menuconfig <Help>
define Package/ddns-scripts/config
help
A highly configurable set of scripts for doing dynamic dns updates.
- IPv6 support
- DNS server support
- Glue Record support (require BIND host or KNOT host)
- DNS requests via TCP
- Proxy server support
- log file support
- support to run once
Version: $(PKG_VERSION)-$(PKG_RELEASE)
Info : https://openwrt.org/docs/guide-user/services/ddns/client
endef
###### *************************************************************************
Dynamic DNS Client scripts (with IPv6 support)
A highly configurable set of scripts for doing dynamic dns updates.
- IPv6 support
- DNS server support
- Glue Record support (require BIND host or KNOT host)
- DNS requests via TCP
- Proxy server support
- log file support
- support to run once
Version: $(PKG_VERSION)-$(PKG_RELEASE)
Info : https://openwrt.org/docs/guide-user/services/ddns/client
endef
define Package/ddns-scripts/conffiles
/etc/config/ddns
endef
define Package/ddns-scripts_service
$(call Package/ddns-scripts/Default)
TITLE:=Common ddns providers
DEPENDS:=ddns-scripts
endef
define Package/ddns-scripts_service/description
Dynamic DNS Client definitions for supported services
endef
define Package/ddns-scripts_cloudflare.com-v4
$(call Package/ddns-scripts/Default)
TITLE:=CloudFlare.com API v4 (requires cURL)
DEPENDS:=ddns-scripts +curl
$(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/install cURL)
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:=DDNS extension for FreeDNS.42.pl (requires cURL)
DEPENDS:=ddns-scripts +curl
$(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
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
$(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 (require/install cURL)
Dynamic DNS Client scripts extension for "godaddy.com API v1".
endef
###### *************************************************************************
define Package/ddns-scripts_digitalocean.com-v2
$(call Package/ddns-scripts/Default)
TITLE:=digitalocean.com (require cURL)
DEPENDS:=ddns-scripts +curl
$(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 (require/install cURL)
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_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
$(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
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
$(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
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_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
$(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. 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
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
$(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
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
$(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
define Package/ddns-scripts/conffiles
/etc/config/ddns
endef
###### *************************************************************************
define Package/ddns-scripts/preinst
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
exit 0 # suppress errors
endef
define Package/ddns-scripts/install
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.hotplug $(1)/etc/hotplug.d/iface/95-ddns
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.init $(1)/etc/init.d/ddns
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/files/ddns.config $(1)/etc/config/ddns
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_DATA) ./files/etc/hotplug.d/iface/ddns \
$(1)/etc/hotplug.d/iface/95-ddns
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/etc/init.d/ddns \
$(1)/etc/init.d/ddns
$(INSTALL_DIR) $(1)/etc/ddns
$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/services* $(1)/etc/ddns
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/etc/config/ddns \
$(1)/etc/config/ddns
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/dynamic_dns_*.sh $(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/share/ddns
echo "$(PKG_VERSION)-$(PKG_RELEASE)" > $(1)/usr/share/ddns/version
$(INSTALL_DATA) ./files/usr/share/ddns/list \
$(1)/usr/share/ddns
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_DATA) ./files/usr/lib/ddns/dynamic_dns_functions.sh \
$(1)/usr/lib/ddns
$(INSTALL_BIN) ./files/usr/lib/ddns/dynamic_dns_lucihelper.sh \
$(1)/usr/lib/ddns
$(INSTALL_BIN) ./files/usr/lib/ddns/dynamic_dns_updater.sh \
$(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) ./files/usr/bin/ddns.sh \
$(1)/usr/bin/ddns
endef
define Package/ddns-scripts/postinst
#!/bin/sh
# if NOT run buildroot and PKG_UPGRADE then (re)start service if enabled
[ -z "$${IPKG_INSTROOT}" -a "$${PKG_UPGRADE}" = "1" ] && {
[ -x /etc/uci-defaults/ddns ] && \
/etc/uci-defaults/ddns && \
rm -f /etc/uci-defaults/ddns >/dev/null 2>&1
/etc/init.d/ddns enabled && \
/etc/init.d/ddns start >/dev/null 2>&1
}
exit 0 # suppress errors
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns enabled
/etc/init.d/ddns start
fi
exit 0
endef
define Package/ddns-scripts/prerm
#!/bin/sh
# if run within buildroot exit
[ -n "$${IPKG_INSTROOT}" ] && exit 0
# stop running scripts
#!/bin/sh
if [ -n "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns stop
/etc/init.d/ddns disable
# clear LuCI indexcache
rm -f /tmp/luci-indexcache >/dev/null 2>&1
exit 0 # suppress errors
fi
exit 0
endef
###### *************************************************************************
define Package/ddns-scripts_cloudflare.com-v4/preinst
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
exit 0 # suppress errors
define Package/ddns-scripts_service/install
$(INSTALL_DIR) $(1)/usr/share/ddns/services
$(INSTALL_DATA) ./files/usr/share/ddns/services/* \
$(1)/usr/share/ddns/services
endef
define Package/ddns-scripts_cloudflare.com-v4/install
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_cloudflare.com-v4
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_cloudflare_com_v4.sh $(1)/usr/lib/ddns
endef
define Package/ddns-scripts_cloudflare.com-v4/postinst
#!/bin/sh
# remove old services file entries
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
# and create new
printf "%s\\t%s\\n" '"cloudflare.com-v4"' '"update_cloudflare_com_v4.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
printf "%s\\t%s\\n" '"cloudflare.com-v4"' '"update_cloudflare_com_v4.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
# on real system restart service if enabled
[ -z "$${IPKG_INSTROOT}" ] && {
[ -x /etc/uci-defaults/ddns_cloudflare.com-v4 ] && \
/etc/uci-defaults/ddns_cloudflare.com-v4 && \
rm -f /etc/uci-defaults/ddns_cloudflare.com-v4 >/dev/null 2>&1
/etc/init.d/ddns enabled && \
/etc/init.d/ddns start >/dev/null 2>&1
}
exit 0 # suppress errors
$(INSTALL_BIN) ./files/usr/lib/ddns/update_cloudflare_com_v4.sh \
$(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/share/ddns/services
$(INSTALL_DATA) ./files/usr/share/ddns/services/cloudflare.com-v4.json \
$(1)/usr/share/ddns/services/
endef
define Package/ddns-scripts_cloudflare.com-v4/prerm
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
# remove services file entries
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
exit 0 # suppress errors
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
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns stop
fi
exit 0
endef
define Package/ddns-scripts_freedns_42_pl/install
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_freedns_42_pl
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_freedns_42_pl.sh $(1)/usr/lib/ddns
endef
define Package/ddns-scripts_freedns_42_pl/postinst
#!/bin/sh
# remove old services file entries
/bin/sed -i '/freedns\.42\.pl/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
# and create new
printf "%s\\t%s\\n" '"freedns.42.pl"' '"update_freedns_42_pl.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
# on real system restart service if enabled
[ -z "$${IPKG_INSTROOT}" ] && {
[ -x /etc/uci-defaults/ddns_freedns_42_pl ] && \
/etc/uci-defaults/ddns_freedns_42_pl && \
rm -f /etc/uci-defaults/ddns_freedns_42_pl >/dev/null 2>&1
/etc/init.d/ddns enabled && \
/etc/init.d/ddns start >/dev/null 2>&1
}
exit 0 # suppress errors
$(INSTALL_BIN) ./files/usr/lib/ddns/update_freedns_42_pl.sh \
$(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/share/ddns/services
$(INSTALL_DATA) ./files/usr/share/ddns/services/freedns.42.pl.json \
$(1)/usr/share/ddns/services
endef
define Package/ddns-scripts_freedns_42_pl/prerm
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
# remove services file entries
/bin/sed -i '/freedns\.42\.pl/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
exit 0 # suppress errors
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns stop
fi
exit 0
endef
###### *************************************************************************
define Package/ddns-scripts_godaddy.com-v1/preinst
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
exit 0 # suppress errors
endef
define Package/ddns-scripts_godaddy.com-v1/install
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_godaddy.com-v1
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_godaddy_com_v1.sh $(1)/usr/lib/ddns
endef
define Package/ddns-scripts_godaddy.com-v1/postinst
#!/bin/sh
# remove old services file entries
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
# and create new
printf "%s\\t%s\\n" '"godaddy.com-v1"' '"update_godaddy_com_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
printf "%s\\t%s\\n" '"godaddy.com-v1"' '"update_godaddy_com_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
# on real system restart service if enabled
[ -z "$${IPKG_INSTROOT}" ] && {
[ -x /etc/uci-defaults/ddns_godaddy.com-v1 ] && \
/etc/uci-defaults/ddns_godaddy.com-v1 && \
rm -f /etc/uci-defaults/ddns_godaddy.com-v1 >/dev/null 2>&1
/etc/init.d/ddns enabled \
&& /etc/init.d/ddns start >/dev/null 2>&1
}
exit 0 # suppress errors
$(INSTALL_BIN) ./files/usr/lib/ddns/update_godaddy_com_v1.sh \
$(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/share/ddns/services
$(INSTALL_DATA) ./files/usr/share/ddns/services/godaddy.com-v1.json \
$(1)/usr/share/ddns/services
endef
define Package/ddns-scripts_godaddy.com-v1/prerm
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
# remove services file entries
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i '/godaddy\.com-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
exit 0 # suppress errors
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
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns stop
fi
exit 0
endef
define Package/ddns-scripts_digitalocean.com-v2/install
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_digtalocean.com-v2
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_digitalocean_com_v2.sh $(1)/usr/lib/ddns
endef
define Package/ddns-scripts_digitalocean.com-v2/postinst
#!/bin/sh
# remove old services file entries
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
# and create new
printf "%s\\t%s\\n" '"digitalocean.com-v2"' '"update_digitalocean_com_v2.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
printf "%s\\t%s\\n" '"digitalocean.com-v2"' '"update_digitalocean_com_v2.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
# on real system restart service if enabled
[ -z "$${IPKG_INSTROOT}" ] && {
[ -x /etc/uci-defaults/ddns_digitalocean.com-v2 ] && \
/etc/uci-defaults/ddns_digitalocean.com-v2 && \
rm -f /etc/uci-defaults/ddns_digitalocean.com-v2 >/dev/null 2>&1
/etc/init.d/ddns enabled \
&& /etc/init.d/ddns start >/dev/null 2>&1
}
exit 0 # suppress errors
$(INSTALL_BIN) ./files/usr/lib/ddns/update_digitalocean_com_v2.sh \
$(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/share/ddns/services
$(INSTALL_DATA) ./files/usr/share/ddns/services/digitalocean.com-v2.json \
$(1)/usr/share/ddns/services
endef
define Package/ddns-scripts_digitalocean.com-v2/prerm
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
# remove services file entries
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i '/digitalocean\.com-v2/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
exit 0 # suppress errors
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
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns stop
fi
exit 0
endef
define Package/ddns-scripts_no-ip_com/install
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_no-ip_com
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_no-ip_com.sh $(1)/usr/lib/ddns
endef
define Package/ddns-scripts_no-ip_com/postinst
#!/bin/sh
# remove old services file entries
/bin/sed -i '/no-ip\.com/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
# and create new
printf "%s\\t%s\\n" '"no-ip.com"' '"update_no-ip_com.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
# on real system restart service if enabled
[ -z "$${IPKG_INSTROOT}" ] && {
[ -x /etc/uci-defaults/ddns_no-ip_com ] && \
/etc/uci-defaults/ddns_no-ip_com && \
rm -f /etc/uci-defaults/ddns_no-ip_com >/dev/null 2>&1
/etc/init.d/ddns enabled && \
/etc/init.d/ddns start >/dev/null 2>&1
}
exit 0 # suppress errors
$(INSTALL_BIN) ./files/usr/lib/ddns/update_no-ip_com.sh \
$(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/share/ddns/services
$(INSTALL_DATA) ./files/usr/share/ddns/services/no-ip.com.json \
$(1)/usr/share/ddns/services
endef
define Package/ddns-scripts_no-ip_com/prerm
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
# remove services file entries
/bin/sed -i '/no-ip\.com/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
exit 0 # suppress errors
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns stop
fi
exit 0
endef
###### *************************************************************************
define Package/ddns-scripts_nsupdate/preinst
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
exit 0 # suppress errors
endef
define Package/ddns-scripts_nsupdate/install
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_nsupdate
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_nsupdate.sh $(1)/usr/lib/ddns
endef
define Package/ddns-scripts_nsupdate/postinst
#!/bin/sh
# remove old services file entries
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
# and create new
printf "%s\\t%s\\n" '"bind-nsupdate"' '"update_nsupdate.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
printf "%s\\t%s\\n" '"bind-nsupdate"' '"update_nsupdate.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
# on real system restart service if enabled
[ -z "$${IPKG_INSTROOT}" ] && {
[ -x /etc/uci-defaults/ddns_nsupdate ] && \
/etc/uci-defaults/ddns_nsupdate && \
rm -f /etc/uci-defaults/ddns_nsupdate >/dev/null 2>&1
/etc/init.d/ddns enabled && \
/etc/init.d/ddns start >/dev/null 2>&1
}
exit 0 # suppress errors
$(INSTALL_BIN) ./files/usr/lib/ddns/update_nsupdate.sh \
$(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/share/ddns/services
$(INSTALL_DATA) ./files/usr/share/ddns/services/bind-nsupdate.json \
$(1)/usr/share/ddns/services
endef
define Package/ddns-scripts_nsupdate/prerm
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
# remove services file entries
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i '/bind-nsupdate/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
exit 0 # suppress errors
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
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns stop
fi
exit 0
endef
define Package/ddns-scripts_route53-v1/install
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_route53-v1
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_route53_v1.sh $(1)/usr/lib/ddns
endef
define Package/ddns-scripts_route53-v1/postinst
#!/bin/sh
# remove old services file entries
/bin/sed -i '/route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i '/route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
# and create new
printf "%s\\t%s\\n" '"route53-v1"' '"update_route53_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
printf "%s\\t%s\\n" '"route53-v1"' '"update_route53_v1.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
# on real system restart service if enabled
[ -z "$${IPKG_INSTROOT}" ] && {
[ -x /etc/uci-defaults/ddns_route53-v1 ] && \
/etc/uci-defaults/ddns_route53-v1 && \
rm -f /etc/uci-defaults/route53.com-v1 >/dev/null 2>&1
/etc/init.d/ddns enabled \
&& /etc/init.d/ddns start >/dev/null 2>&1
}
exit 0 # suppress errors
$(INSTALL_BIN) ./files/usr/lib/ddns/update_route53_v1.sh \
$(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/share/ddns/services
$(INSTALL_DATA) ./files/usr/share/ddns/services/route53-v1.json \
$(1)/usr/share/ddns/services
endef
define Package/ddns-scripts_route53-v1/prerm
#!/bin/sh
# if NOT run buildroot then stop service
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1
# remove services file entries
/bin/sed -i 'route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i 'route53-v1/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
exit 0 # suppress errors
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
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns stop
fi
exit 0
endef
define Package/ddns-scripts_cnkuai_cn/install
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_cnkuai_cn
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_cnkuai_cn.sh $(1)/usr/lib/ddns
endef
define Package/ddns-scripts_cnkuai_cn/postinst
#!/bin/sh
# remove old services file entries
/bin/sed -i '/cnkuai.cn/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1
/bin/sed -i '/cnkuai.cn/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6 >/dev/null 2>&1
# and create new
printf "%s\\t%s\\n" '"cnkuai.cn"' '"update_cnkuai_cn.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
printf "%s\\t%s\\n" '"cnkuai.cn"' '"update_cnkuai_cn.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
# on real system restart service if enabled
[ -z "$${IPKG_INSTROOT}" ] && {
[ -x /etc/uci-defaults/ddns_cnkuai_cn ] && \
/etc/uci-defaults/ddns_cnkuai_cn && \
rm -f /etc/uci-defaults/cnkuai.cn >/dev/null 2>&1
/etc/init.d/ddns enabled \
&& /etc/init.d/ddns start >/dev/null 2>&1
}
exit 0 # suppress errors
$(INSTALL_BIN) ./files/usr/lib/ddns/update_cnkuai_cn.sh \
$(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/share/ddns/services
$(INSTALL_DATA) ./files/usr/share/ddns/services/cnkuai.cn.json \
$(1)/usr/share/ddns/services
endef
define Package/ddns-scripts_cnkuai_cn/prerm
#!/bin/sh
# if 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
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns stop
fi
exit 0
endef
###### *************************************************************************
$(eval $(call BuildPackage,ddns-scripts))
$(eval $(call BuildPackage,ddns-scripts_service))
$(eval $(call BuildPackage,ddns-scripts_cloudflare.com-v4))
$(eval $(call BuildPackage,ddns-scripts_freedns_42_pl))
$(eval $(call BuildPackage,ddns-scripts_godaddy.com-v1))


+ 0
- 201
net/ddns-scripts/files/ddns.defaults View File

@ -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

net/ddns-scripts/files/ddns.config → net/ddns-scripts/files/etc/config/ddns View File


net/ddns-scripts/files/ddns.hotplug → net/ddns-scripts/files/etc/hotplug.d/iface/ddns View File


net/ddns-scripts/files/ddns.init → net/ddns-scripts/files/etc/init.d/ddns View File


+ 0
- 184
net/ddns-scripts/files/services View 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"

+ 0
- 105
net/ddns-scripts/files/services_ipv6 View File

@ -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
- 0
net/ddns-scripts/files/usr/bin/ddns.sh View 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 "$@"

net/ddns-scripts/files/dynamic_dns_functions.sh → net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh View File


net/ddns-scripts/files/dynamic_dns_lucihelper.sh → net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_lucihelper.sh View File


net/ddns-scripts/files/dynamic_dns_updater.sh → net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh View File


net/ddns-scripts/files/update_cloudflare_com_v4.sh → net/ddns-scripts/files/usr/lib/ddns/update_cloudflare_com_v4.sh View File


net/ddns-scripts/files/update_cnkuai_cn.sh → net/ddns-scripts/files/usr/lib/ddns/update_cnkuai_cn.sh View File


net/ddns-scripts/files/update_digitalocean_com_v2.sh → net/ddns-scripts/files/usr/lib/ddns/update_digitalocean_com_v2.sh View File


net/ddns-scripts/files/update_freedns_42_pl.sh → net/ddns-scripts/files/usr/lib/ddns/update_freedns_42_pl.sh View File


net/ddns-scripts/files/update_godaddy_com_v1.sh → net/ddns-scripts/files/usr/lib/ddns/update_godaddy_com_v1.sh View File


net/ddns-scripts/files/update_no-ip_com.sh → net/ddns-scripts/files/usr/lib/ddns/update_no-ip_com.sh View File


net/ddns-scripts/files/update_nsupdate.sh → net/ddns-scripts/files/usr/lib/ddns/update_nsupdate.sh View File


net/ddns-scripts/files/update_route53_v1.sh → net/ddns-scripts/files/usr/lib/ddns/update_route53_v1.sh View File


+ 73
- 0
net/ddns-scripts/files/usr/share/ddns/list View 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

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/3322.org.json View File

@ -0,0 +1,6 @@
{
"name": "3322.org",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@members.3322.org/dyndns/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/able.or.kr.json View File

@ -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]"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/afraid.org-basicauth.json View File

@ -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]"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/afraid.org-keyauth.json View File

@ -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]"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/afraid.org-v2-basic.json View File

@ -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]"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/afraid.org-v2-token.json View File

@ -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]"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/all-inkl.com.json View File

@ -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]"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/bind-nsupdate.json View File

@ -0,0 +1,9 @@
{
"name": "bind-nsupdate",
"ipv4": {
"url": "update_nsupdate.sh"
},
"ipv6": {
"url": "update_nsupdate.sh"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/changeip.com.json View File

@ -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"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/cloudflare.com-v4.json View File

@ -0,0 +1,9 @@
{
"name": "cloudflare.com-v4",
"ipv4": {
"url": "update_cloudflare_com_v4.sh"
},
"ipv6": {
"url": "update_cloudflare_com_v4.sh"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/cnkuai.cn.json View File

@ -0,0 +1,9 @@
{
"name": "cnkuai.cn",
"ipv4": {
"url": "update_cnkuai_cn.sh"
},
"ipv6": {
"url": "update_cnkuai_cn.sh"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/core-networks.de.json View File

@ -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"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/ddns.com.br.json View File

@ -0,0 +1,6 @@
{
"name": "ddns.com.br",
"ipv4": {
"url": "http://[DOMAIN]:[PASSWORD]@members.ddns.com.br/nic/update?hostname=[DOMAIN]&myip=[IP]"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/ddnss.de.json View File

@ -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"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/ddo.jp.json View File

@ -0,0 +1,6 @@
{
"name": "ddo.jp",
"ipv4": {
"url": "http://free.ddo.jp/dnsupdate.php?dn=[DOMAIN]&pw=[PASSWORD]&ip=[IP]"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/desec.io.json View 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"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/dhis.org.json View File

@ -0,0 +1,9 @@
{
"name": "dhis.org",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@is.dhis.org/"
},
"ipv6": {
"url": "http://[USERNAME]:[PASSWORD]@is.dhis.org/"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/digitalocean.com-v2.json View File

@ -0,0 +1,9 @@
{
"name": "digitalocean.com-v2",
"ipv4": {
"url": "update_digitalocean_com_v2.sh"
},
"ipv6": {
"url": "update_digitalocean_com_v2.sh"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/dnsdynamic.org.json View File

@ -0,0 +1,7 @@
{
"name": "dnsdynamic.org",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@www.dnsdynamic.org/api/?hostname=[DOMAIN]&myip=[IP]",
"answer": "good|nochg"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/dnsever.com.json View File

@ -0,0 +1,6 @@
{
"name": "dnsever.com",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@dyna.dnsever.com/update.php?host[[DOMAIN]]"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/dnsexit.com.json View File

@ -0,0 +1,6 @@
{
"name": "dnsexit.com",
"ipv4": {
"url": "http://update.dnsexit.com/RemoteUpdate.sv?login=[USERNAME]&password=[PASSWORD]&host=[DOMAIN]&myip=[IP]"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/dnshome.de.json View File

@ -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]"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/dnsmadeeasy.com.json View File

@ -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"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/dnsmax.com.json View File

@ -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]"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/dnsomatic.com.json View File

@ -0,0 +1,7 @@
{
"name": "dnsomatic.com",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@updates.dnsomatic.com/nic/update?hostname=[DOMAIN]&myip=[IP]",
"answer": "good|nochg"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/dnspark.com.json View File

@ -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
- 0
net/ddns-scripts/files/usr/share/ddns/services/do.de.json View 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"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/domopoli.de.json View File

@ -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"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/dtdns.com.json View File

@ -0,0 +1,6 @@
{
"name": "dtdns.com",
"ipv4": {
"url": "http://www.dtdns.com/api/autodns.cfm?id=[DOMAIN]&pw=[PASSWORD]&ip=[IP]"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/duckdns.org.json View File

@ -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"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/duiadns.net.json View File

@ -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]"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/dy.fi.json View File

@ -0,0 +1,7 @@
{
"name": "dy.fi",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@www.dy.fi/nic/update?hostname=[DOMAIN]",
"answer": "good|nochg"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/dyn.com.json View 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"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/dyndns.it.json View File

@ -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"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/dyndns.org.json View File

@ -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"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/dyndnss.net.json View File

@ -0,0 +1,6 @@
{
"name": "dyndnss.net",
"ipv4": {
"url": "http://www.dyndnss.net/?user=[USERNAME]&pass=[PASSWORD]&domain=[DOMAIN]&updater=other"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/dyns.net.json View File

@ -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"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/dynsip.org.json View File

@ -0,0 +1,6 @@
{
"name": "dynsip.org",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@dynsip.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/dynu.com.json View File

@ -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]"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/dynv6.com.json View File

@ -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"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/easydns.com.json View File

@ -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"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/editdns.net.json View File

@ -0,0 +1,6 @@
{
"name": "editdns.net",
"ipv4": {
"url": "http://dyndns-free.editdns.net/api/dynLinux.php?p=[PASSWORD]&r=[DOMAIN]"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/freedns.42.pl.json View File

@ -0,0 +1,6 @@
{
"name": "freedns.42.pl",
"ipv4": {
"url": "update_freedns_42_pl.sh"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/godaddy.com-v1.json View File

@ -0,0 +1,9 @@
{
"name": "godaddy.com-v1",
"ipv4": {
"url": "update_godaddy_com_v1.sh"
},
"ipv6": {
"url": "update_godaddy_com_v1.sh"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/goip.de.json View File

@ -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]"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/google.com.json View File

@ -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
- 0
net/ddns-scripts/files/usr/share/ddns/services/he.net.json View 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
- 0
net/ddns-scripts/files/usr/share/ddns/services/inwx.de.json View 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"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/joker.com.json View File

@ -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"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/loopia.se.json View File

@ -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"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/moniker.com.json View File

@ -0,0 +1,7 @@
{
"name": "moniker.com",
"ipv4": {
"url": "https://dynamicdns.key-systems.net/update.php?hostname=[DOMAIN]&password=[PASSWORD]&ip=[IP]",
"answer": "success"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/mydns.ip.json View File

@ -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]"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/myip.co.ua.json View File

@ -0,0 +1,7 @@
{
"name": "myip.co.ua",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@myip.co.ua/update?hostname=[DOMAIN]&myip=[IP]",
"answer": "good"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/myonlineportal.net.json View File

@ -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"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/mythic-beasts.com.json View File

@ -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=."
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/namecheap.com.json View File

@ -0,0 +1,6 @@
{
"name": "namecheap.com",
"ipv4": {
"url": "http://dynamicdns.park-your-domain.com/update?host=[USERNAME]&domain=[DOMAIN]&password=[PASSWORD]&ip=[IP]"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/nettica.com.json View File

@ -0,0 +1,6 @@
{
"name": "nettica.com",
"ipv4": {
"url": "http://www.nettica.com/Domain/Update.aspx?U=[USERNAME]&PC=[PASSWORD]&FQDN=[DOMAIN]&N=[IP]"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/no-ip.com.json View File

@ -0,0 +1,7 @@
{
"name": "no-ip.com",
"ipv4": {
"url": "update_no-ip_com.sh"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/no-ip.pl.json View File

@ -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]"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/now-dns.com.json View File

@ -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"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/nsupdate.info.json View File

@ -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"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/nubem.com.json View File

@ -0,0 +1,6 @@
{
"name": "nubem.com",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@nubem.com/nic/update?hostname=[DOMAIN]&myip=[IP]"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/opendns.com.json View File

@ -0,0 +1,7 @@
{
"name":"opendns.com",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@updates.opendns.com/nic/update?hostname=[DOMAIN]&myip=[IP]",
"answer": "good|nochg"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/oray.com.json View File

@ -0,0 +1,6 @@
{
"name": "oray.com",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@ddns.oray.com/ph/update?hostname=[DOMAIN]&myip=[IP]"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/ovh.com.json View File

@ -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"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/regfish.de.json View File

@ -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"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/route53-v1.json View File

@ -0,0 +1,9 @@
{
"name": "route53-v1",
"ipv4": {
"url": "update_route53_v1.sh"
},
"ipv6": {
"url": "update_route53_v1.sh"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/schokokeks.org.json View File

@ -0,0 +1,7 @@
{
"name": "schokokeks.org",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@dyndns.schokokeks.org/nic/update?myip=[IP]",
"answer": "good|nochg"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/selfhost.de.json View File

@ -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"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/sitelutions.com.json View File

@ -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
- 0
net/ddns-scripts/files/usr/share/ddns/services/spdyn.de.json View 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"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/strato.com.json View File

@ -0,0 +1,7 @@
{
"name": "strato.com",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@dyndns.strato.com/nic/update?hostname=[DOMAIN]&myip=[IP]",
"answer": "good|nochg"
}
}

+ 8
- 0
net/ddns-scripts/files/usr/share/ddns/services/system-ns.com.json View File

@ -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"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/thatip.com.json View File

@ -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]"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/twodns.de.json View File

@ -0,0 +1,6 @@
{
"name": "twodns.de",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@update.twodns.de/update?hostname=[DOMAIN]&ip=[IP]"
}
}

+ 9
- 0
net/ddns-scripts/files/usr/share/ddns/services/udmedia.de.json View File

@ -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]"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/variomedia.de.json View File

@ -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"
}
}

+ 7
- 0
net/ddns-scripts/files/usr/share/ddns/services/xlhost.de.json View File

@ -0,0 +1,7 @@
{
"name": "xlhost.de",
"ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@nsupdate.xlhost.de/nic/update?hostname=[DOMAIN]&myip=[IP]",
"answer": "good|nochg"
}
}

+ 11
- 0
net/ddns-scripts/files/usr/share/ddns/services/zerigo.com.json View File

@ -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"
}
}

+ 6
- 0
net/ddns-scripts/files/usr/share/ddns/services/zoneedit.com.json View File

@ -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 changed in this diff

Loading…
Cancel
Save