44 lines
1.4 KiB
Bash
Executable File
44 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# curl -X GET https://api.cloudflare.com/client/v4/zones/bf7a05315be9bf7a39d50dd4001e7a97/dns_records -H "X-Auth-Email: alexmickelson96@gmail.com" -H "X-Auth-Key: jo7GntHEEBtANFsuteAM8EJ-stLUqyNbOk2x4Czr" | python -m json.tool
|
|
|
|
source /home/alex/actions-runner/_work/infrastructure/infrastructure/home-pi/dns/cloudflare.env
|
|
|
|
NETWORK_INTERFACE=wlan0
|
|
IP=$(ip a s $NETWORK_INTERFACE | awk '/inet / {print$2}' | cut -d/ -f1)
|
|
EMAIL="alexmickelson96@gmail.com";
|
|
ZONE_ID="bf7a05315be9bf7a39d50dd4001e7a97";
|
|
|
|
|
|
update_record() {
|
|
LOCAL_NAME=$1
|
|
LOCAL_RECORD_ID=$2
|
|
|
|
echo "UPDATING RECORD FOR $LOCAL_NAME TO $IP"
|
|
|
|
curl -X PUT "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$LOCAL_RECORD_ID" \
|
|
-H "X-Auth-Email: alexmickelson96@gmail.com" \
|
|
-H "X-Auth-Key: $CLOUDFLARE_TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
--data '{"type":"A","name":"'"$LOCAL_NAME"'","content":"'"$IP"'","ttl":1}' \
|
|
| python3 -m json.tool;
|
|
|
|
echo
|
|
echo "------------------------------------"
|
|
echo
|
|
}
|
|
|
|
NAME="ha.alexmickelson.guru";
|
|
RECORD_ID="09eac5a17fa4302091532dabdbe73a68"
|
|
update_record $NAME $RECORD_ID
|
|
|
|
NAME="jellyfin.alexmickelson.guru";
|
|
RECORD_ID="577293ab0488913308fda78010a7483b"
|
|
update_record $NAME $RECORD_ID
|
|
|
|
NAME="next.alexmickelson.guru";
|
|
RECORD_ID="cc686333d2421a4e558a04589b375ded"
|
|
update_record $NAME $RECORD_ID
|
|
|
|
|