diff --git a/etc/live-dns/live-dns.conf b/etc/live-dns/live-dns.conf index 835d8a9..90145f9 100644 --- a/etc/live-dns/live-dns.conf +++ b/etc/live-dns/live-dns.conf @@ -1,3 +1,3 @@ DOMAIN="domain.tld" -RECORD="host" +RECORD="host" # Set to empty string to update the @ record APIKEY="Your-API-Key" diff --git a/usr/local/bin/live-dns-update.sh b/usr/local/bin/live-dns-update.sh index 45c5ccd..d90af9b 100755 --- a/usr/local/bin/live-dns-update.sh +++ b/usr/local/bin/live-dns-update.sh @@ -33,8 +33,14 @@ if [[ -z "$WAN_IP4" && -z "$WAN_IP6" ]]; then fi # Get IP from DNS -DNS_IP4=$(dig +short @ns1.gandi.net -t A $RECORD.$DOMAIN) -DNS_IP6=$(dig +short @ns1.gandi.net -t AAAA $RECORD.$DOMAIN) +if [[ ! -z "$RECORD" ]] +then + DNS_IP4=$(dig +short @ns1.gandi.net -t A $RECORD.$DOMAIN) + DNS_IP6=$(dig +short @ns1.gandi.net -t AAAA $RECORD.$DOMAIN) +else + DNS_IP4=$(dig +short @ns1.gandi.net -t A $DOMAIN) + DNS_IP6=$(dig +short @ns1.gandi.net -t AAAA $DOMAIN) +fi echo DNS IPv4 : $DNS_IP4 | logger echo DNS IPv6 : $DNS_IP6 | logger @@ -45,10 +51,18 @@ if [[ ! -z "$WAN_IP4" ]]; then then echo Updating IPv4 DNS records for $RECORD.$DOMAIN | logger DATA='{"rrset_values": ["'$WAN_IP4'"]}' - IP4_RES=$(curl -s -XPUT -d "$DATA" \ + if [[ ! -z "$RECORD" ]] + then + IP4_RES=$(curl -s -XPUT -d "$DATA" \ -H"X-Api-Key: $APIKEY" \ -H"Content-Type: application/json" \ "$API/domains/$DOMAIN/records/$RECORD/A" 2>&1) + else + IP4_RES=$(curl -s -XPUT -d "$DATA" \ + -H"X-Api-Key: $APIKEY" \ + -H"Content-Type: application/json" \ + "$API/domains/$DOMAIN/records/@/A" 2>&1) + fi echo Update of IPv4 DNS record : $IP4_RES | logger else echo No need to update IPv4 DNS record for $RECORD.$DOMAIN | logger @@ -62,10 +76,18 @@ if [[ ! -z "$WAN_IP6" ]]; then then echo Updating IPv6 DNS records for $RECORD.$DOMAIN | logger DATA='{"rrset_values": ["'$WAN_IP6'"]}' - IP6_RES=$(curl -s -XPUT -d "$DATA" \ + if [[ ! -z "$RECORD" ]] + then + IP6_RES=$(curl -s -XPUT -d "$DATA" \ -H"X-Api-Key: $APIKEY" \ -H"Content-Type: application/json" \ "$API/domains/$DOMAIN/records/$RECORD/AAAA" 2>&1) + else + IP6_RES=$(curl -s -XPUT -d "$DATA" \ + -H"X-Api-Key: $APIKEY" \ + -H"Content-Type: application/json" \ + "$API/domains/$DOMAIN/records/@/AAAA" 2>&1) + fi echo Update of IPv6 DNS record : $IP6_RES | logger else echo No need to update IPv6 DNS record for $RECORD.$DOMAIN | logger