Files
dyndns-go/update-dyndns.sh
2017-12-22 16:42:32 +01:00

31 lines
832 B
Bash
Executable File

#!/bin/sh
SERVER="dyn.paphosting.net"
PORT="53"
TSIG="bWFyaWVsbGU="
INTERFACE_A="eth0"
INTERFACE_AAAA="eth0"
# Generated variables follow:
UPDATE_FILE="/tmp/go-dyndns-nsupdate.$$"
A_RECORD=$(ip addr show $INTERFACE_A | awk '/inet .*scope global/ { ip=$2; gsub("/.*","", ip); } END { print ip}')
AAAA_RECORD=$(ip addr show $INTERFACE_AAAA | awk '/inet6 .*scope global/ { ip=$2; gsub("/.*","", ip); } END { print ip}')
HOSTNAME_SHORT=$(hostname -s)
cat << EOL > $UPDATE_FILE
server $SERVER $PORT
key key bWFyaWVsbGU=
; debug
zone dyn.ipng.nl.
; update delete ${HOSTNAME_SHORT}.dyn.ipng.nl. A
; update delete ${HOSTNAME_SHORT}.dyn.ipng.nl. AAAA
update add ${HOSTNAME_SHORT}.dyn.ipng.nl. 120 A ${A_RECORD}
update add ${HOSTNAME_SHORT}.dyn.ipng.nl. 120 AAAA ${AAAA_RECORD}
show
send
EOL
nsupdate ${UPDATE_FILE}
rm -f ${UPDATE_FILE}