@@ -81,7 +81,7 @@ get_records() {
8181 done
8282}
8383
84- get_ip_addr () {
84+ get_record_ip_addr () {
8585 # Get record's IP address
8686 if [ -n " $record_ipv4 " ]; then
8787 ipv4_rec=" $(
@@ -97,17 +97,19 @@ get_ip_addr() {
9797 jq -r ' .record.value'
9898 ) "
9999 fi
100- # Get current IP address
101- if [ -n " $record_ipv4 " ]; then
102- ipv4_cur=" $(
103- curl ' http://ipv4.whatismyip.akamai.com/' 2> /dev/null
104- ) "
105- fi
106- if [ -n " $record_ipv6 " ]; then
107- ipv6_cur=" $(
108- curl ' http://ipv6.whatismyip.akamai.com/' 2> /dev/null
109- ) "
100+ if [ -z " $ipv4_rec " ] && [ -z " $ipv6_rec " ]; then
101+ return 1
110102 fi
103+ }
104+
105+ get_my_ip_addr () {
106+ # Get current public IP address
107+ ipv4_cur=" $(
108+ curl ' http://ipv4.whatismyip.akamai.com/' 2> /dev/null
109+ ) "
110+ ipv6_cur=" $(
111+ curl ' http://ipv6.whatismyip.akamai.com/' 2> /dev/null
112+ ) "
111113 if [ -z " $ipv4_cur " ] && [ -z " $ipv6_cur " ]; then
112114 return 1
113115 fi
@@ -159,14 +161,17 @@ pick_record() {
159161}
160162
161163set_records () {
162- # Update all records if possible
163- for n in $records ; do
164- record_ipv4=" $( pick_record " $n " " $records_ipv4 " ) "
165- record_ipv6=" $( pick_record " $n " " $records_ipv6 " ) "
166- if [ -n " $record_ipv4 " ] || [ -n " $record_ipv6 " ]; then
167- get_ip_addr && set_record
168- fi
169- done
164+ # Get my public IP address
165+ if get_my_ip_addr; then
166+ # Update all records if possible
167+ for n in $records ; do
168+ record_ipv4=" $( pick_record " $n " " $records_ipv4 " ) "
169+ record_ipv6=" $( pick_record " $n " " $records_ipv6 " ) "
170+ if [ -n " $record_ipv4 " ] || [ -n " $record_ipv6 " ]; then
171+ get_record_ip_addr && set_record
172+ fi
173+ done
174+ fi
170175}
171176
172177printf ' [%s] Started Hetzner DDNS daemon\n' " $( date ' +%Y-%m-%d %H:%M:%S' ) " \
0 commit comments