#!/bin/bash # Get public IP address (there are many ways to do it, I picked this way) PUBLIC_IPV4=$(curl -4 ifconfig.me) PUBLIC_IPV6=$(curl -6 ifconfig.me) # Update reeselink records cat /etc/ddns/ipv4_reeselink_record_template.json \ | jq '.Changes[0].ResourceRecordSet.ResourceRecords[0].Value = "'$PUBLIC_IPV4'"' \ > /etc/ddns/ipv4_reeselink_record.json cat /etc/ddns/ipv6_reeselink_record_template.json \ | jq '.Changes[0].ResourceRecordSet.ResourceRecords[0].Value = "'$PUBLIC_IPV6'"' \ > /etc/ddns/ipv6_reeselink_record.json # Update reeseapps records cat /etc/ddns/ipv4_reeseapps_record_template.json \ | jq '.Changes[].ResourceRecordSet.ResourceRecords[0].Value = "'$PUBLIC_IPV4'"' \ > /etc/ddns/ipv4_reeseapps_record.json cat /etc/ddns/ipv6_reeseapps_record_template.json \ | jq '.Changes[].ResourceRecordSet.ResourceRecords[0].Value = "'$PUBLIC_IPV6'"' \ > /etc/ddns/ipv6_reeseapps_record.json # Update reeselink records aws route53 change-resource-record-sets --hosted-zone-id {{ reeselink_zone_id }} --change-batch file:///etc/ddns/ipv4_reeselink_record.json aws route53 change-resource-record-sets --hosted-zone-id {{ reeselink_zone_id }} --change-batch file:///etc/ddns/ipv6_reeselink_record.json # Update reeseapps records aws route53 change-resource-record-sets --hosted-zone-id {{ reeseapps_zone_id }} --change-batch file:///etc/ddns/ipv4_reeseapps_record.json aws route53 change-resource-record-sets --hosted-zone-id {{ reeseapps_zone_id }} --change-batch file:///etc/ddns/ipv6_reeseapps_record.json