Skip to content

Instantly share code, notes, and snippets.

@axilleas
Forked from ql-owo-lp/ddns-start
Created July 12, 2020 12:08
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 axilleas/37c9199892705adbd2326596d8fb1efa to your computer and use it in GitHub Desktop.
Save axilleas/37c9199892705adbd2326596d8fb1efa 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment