Skip to content

Instantly share code, notes, and snippets.

@Markieta
Forked from ql-owo-lp/ddns-start
Last active October 30, 2022 23:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Markieta/3d2649e186b8c38a4b47dadc22156b4f to your computer and use it in GitHub Desktop.
Save Markieta/3d2649e186b8c38a4b47dadc22156b4f to your computer and use it in GitHub Desktop.
Asus-Merlin-DuckDNS
#!/bin/sh
# register a subdomain at https://www.duckdns.org/ to get your token
# put 'hostname:token' in the 'Host Name' field under DDNS
# e.g. myhost:abcdefgh-1234-5678-9876-f71b0ed7a7fe
DDNS_HOSTNAME_FIELD=$(nvram get ddns_hostname_x)
SUBDOMAIN=$(echo "$DDNS_HOSTNAME_FIELD" | awk -F':' '{print $1}')
TOKEN=$(echo "$DDNS_HOSTNAME_FIELD" | awk -F':' '{print $2}')
IPV4=$(nvram get wan0_ipaddr)
IPV6=$(nvram get ipv6_wan_addr | awk -F'/' '{print $1}')
REQUEST_URL="https://www.duckdns.org/update?domains=${SUBDOMAIN}&token=${TOKEN}&ip=${IPV4}&ipv6=${IPV6}"
logger "DDNS Request URL: ${REQUEST_URL}"
# no modification below needed
RESULT=$(curl --silent "${REQUEST_URL}" 2>&1)
logger "DDNS Request result: $RESULT"
if [[ "$RESULT" == "OK" ]];
then
/sbin/ddns_custom_updated 1
else
/sbin/ddns_custom_updated 0
fi
@Markieta
Copy link
Author

Replacing no longer supported | with :.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment