summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@pi-broughton.fritz.box>2026-06-29 12:16:56 +0100
committerJoe Carstairs <me@joeac.net>2026-06-29 12:18:13 +0100
commit3bed4c4bbc786919572c679c650f98149bcf3dcc (patch)
treeea2c200a5cd97214a6b9d4b83f3e7791e067a27c
parent2060f8379f12ba489706e7c4dd1594b449a672aa (diff)
always uses @ for subdomain when on rootHEADmain
-rwxr-xr-xdyndns.sh17
1 files changed, 10 insertions, 7 deletions
diff --git a/dyndns.sh b/dyndns.sh
index 127629c..fcce427 100755
--- a/dyndns.sh
+++ b/dyndns.sh
@@ -31,14 +31,17 @@ SUBDOMAIN=`echo $DOMAIN | sed "s/[^.]\+\.[^.]\+$//g"`
if [ -z "$SUBDOMAIN" ]; then
SUBDOMAIN="@"
ROOT_DOMAIN=$DOMAIN
+elif [ "$SUBDOMAIN" = "@." ]; then
+ SUBDOMAIN="@"
+ ROOT_DOMAIN=`echo $DOMAIN | sed "s/^@.//"`
else
SUBDOMAIN=`echo $SUBDOMAIN | sed "s/\.$//g"`
ROOT_DOMAIN=`echo $DOMAIN | sed "s/^${SUBDOMAIN}\.//g"`
fi
REPEAT_CHECK_DIR=${CACHE_DIR}
-REPEAT_CHECK_A=$REPEAT_CHECK_DIR/REPEAT_CHECK_${DOMAIN}_A
-REPEAT_CHECK_AAAA=$REPEAT_CHECK_DIR/REPEAT_CHECK_${DOMAIN}_AAAA
+REPEAT_CHECK_A=$REPEAT_CHECK_DIR/REPEAT_CHECK_${SUBDOMAIN}.${ROOT_DOMAIN}_A
+REPEAT_CHECK_AAAA=$REPEAT_CHECK_DIR/REPEAT_CHECK_${SUBDOMAIN}.${ROOT_DOMAIN}_AAAA
REPEAT_CHECK="$([ $ip_version = 4 ] && echo $REPEAT_CHECK_A || echo $REPEAT_CHECK_AAAA)"
get_a_record_ids() {
@@ -90,7 +93,7 @@ add_aaaa_record() {
}
delete_record_by_id() {
- echo deleting existing A/AAAA record for $DOMAIN
+ echo deleting existing A/AAAA record for ${SUBDOMAIN}.${ROOT_DOMAIN}
curl -X DELETE \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
@@ -104,10 +107,10 @@ replace_a_records() {
new_record_id=`add_a_record`
if [ "$new_record_id" = "null" ] ; then
- echo unable to add new A record for $DOMAIN with value: $IP
+ echo unable to add new A record for ${SUBDOMAIN}.${ROOT_DOMAIN} with value: $IP
return 1
fi
- echo added new A record for $DOMAIN with value: $IP
+ echo added new A record for ${SUBDOMAIN}.${ROOT_DOMAIN} with value: $IP
}
@@ -118,10 +121,10 @@ replace_aaaa_records() {
new_record_id=`add_aaaa_record`
if [ "$new_record_id" = "null" ] ; then
- echo unable to add new AAAA record for $DOMAIN with value: $IP
+ echo unable to add new AAAA record for ${SUBDOMAIN}.${ROOT_DOMAIN} with value: $IP
return 1
fi
- echo added new AAAA record for $DOMAIN with value: $IP
+ echo added new AAAA record for ${SUBDOMAIN}.${ROOT_DOMAIN} with value: $IP
}
replace_records() {