44 lines
1.7 KiB
Bash
Executable File
44 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
CF_ACCESS_TOKEN=033xQP4_ZpTq3sSkeftz5J6BWw_R9eoDNTba7zfH
|
|
CF_ZONE_ID=1d6a623d1780c31544fc86f718dac16e
|
|
URLS=('awin.one'
|
|
'blog.awin.one'
|
|
'ftp.awin.one'
|
|
'git.awin.one'
|
|
'storj.awin.one'
|
|
'rss.awin.one'
|
|
'nc.awin.one'
|
|
'collabora.awin.one'
|
|
'storjkh.awin.one')
|
|
CF_RECORD_IDS=('d67b2a1b3d7cd520b8e8dad2cb522460'
|
|
'69dcc0bd619b1a3d4a71458faff2aa50'
|
|
'bd397d9779d42c0b92c9c9c47b765769'
|
|
'4eccb48e85f2daa8fefeb92c8cb4b4ee'
|
|
'216d631bc860c6a11b62e3a1003f3e3e'
|
|
'62981cfec8bf370696c62ca979667ff6'
|
|
'2c0b1330487af1262b090a8731a0e0b2'
|
|
'bde4e54eb87b2d543541dea2c008f0da'
|
|
'658a4587ea02f0a65debf8ee832792e7')
|
|
|
|
INTERNET_IP=`curl -s http://ipv4.icanhazip.com`
|
|
DNS_RECORD_IP=`dig +short "${URLS[0]}" | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | awk 'NR==1{print}'`
|
|
NOW_TIME=`date`
|
|
|
|
if [ "$INTERNET_IP" != "$DNS_RECORD_IP" ] || [ "$1" = "-f" ]
|
|
then
|
|
printf "[${NOW_TIME}]: Renew IP: ${DNS_RECORD_IP} to ${INTERNET_IP}\n"
|
|
for ((i = 0; i < ${#URLS[@]}; i++)); do
|
|
printf "\n************************************************************\n"
|
|
printf "Update ${URLS[$i]}, ${CF_RECORD_IDS[$i]}\n"
|
|
curl -X PUT "https://api.cloudflare.com/client/v4/zones/${CF_ZONE_ID}/dns_records/${CF_RECORD_IDS[$i]}" \
|
|
-H "Authorization: Bearer ${CF_ACCESS_TOKEN}" \
|
|
-H "Content-Type: application/json" \
|
|
--data '{"type":"A","name":"'${URLS[$i]}'","content":"'${INTERNET_IP}'","ttl":120,"proxied":false}'
|
|
done
|
|
printf "\n[${NOW_TIME}]: Update to ${INTERNET_IP}\n"
|
|
else
|
|
printf "No change: ${INTERNET_IP}\n"
|
|
printf "[${NOW_TIME}]: No change: ${INTERNET_IP}\n"
|
|
fi
|
|
|