39 lines
733 B
Bash
Executable File
39 lines
733 B
Bash
Executable File
#! /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
|