39 lines
733 B
Plaintext
39 lines
733 B
Plaintext
|
#! /bin/sh
|
||
|
|
||
|
domain=woozle.org
|
||
|
host=sweetums
|
||
|
key=6SRjTBJG7v2bHyG9gqX913w1
|
||
|
|
||
|
log() {
|
||
|
echo "=== $*"
|
||
|
}
|
||
|
|
||
|
json() {
|
||
|
ip4=$1
|
||
|
ip6=$2
|
||
|
printf '{"items": ['
|
||
|
if [ -n "$ip6" ]; then
|
||
|
printf '{"rrset_type":"AAAA","rrset_values":["%s"],"rrset_ttl":300},' "$ip6"
|
||
|
fi
|
||
|
printf '{"rrset_type":"A","rrset_values":["%s"],"rrset_ttl":300}' "$ip4"
|
||
|
printf ']}'
|
||
|
}
|
||
|
|
||
|
push() {
|
||
|
host=$1
|
||
|
domain=$2
|
||
|
authh="Authorization: Apikey $key"
|
||
|
log "$host.$domain"
|
||
|
curl -s -H "$authh" -T - https://api.gandi.net/v5/livedns/domains/$domain/records/$host
|
||
|
echo
|
||
|
}
|
||
|
|
||
|
me4=$(curl -s -4 https://api64.ipify.org/)
|
||
|
me6=$(curl -s -6 https://api64.ipify.org/)
|
||
|
|
||
|
log "IPv4: $me4"
|
||
|
log "IPv6: $me6"
|
||
|
|
||
|
json $me4 $me6 | push sweetums woozle.org
|
||
|
json $me4 | push drive woozle.org
|