make cloudflare_dns generic
This commit is contained in:
parent
3a3685eb8e
commit
df5721e728
@ -2,9 +2,12 @@
|
|||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
ZONE_ID="$(cat .var/zone_id)"
|
ZONE_ID=""
|
||||||
DNS_RECORD="$(cat .var/dns_record)"
|
ZONE_ID_FILE=""
|
||||||
CACHED_PUBLIC_IP="$(cat .var/cached_public_ip)"
|
DNS_RECORD=""
|
||||||
|
DNS_RECORD_FILE=""
|
||||||
|
DOMAIN=""
|
||||||
|
CACHED_PUBLIC_IP=""
|
||||||
AUTHORIZATION="$(cat .var/bearer)"
|
AUTHORIZATION="$(cat .var/bearer)"
|
||||||
|
|
||||||
IP_URL="ifconfig.me/ip"
|
IP_URL="ifconfig.me/ip"
|
||||||
@ -50,10 +53,47 @@ function check_new_ip() {
|
|||||||
info "Public IP has changed from ${CACHED_PUBLIC_IP} to ${new_ip}. Updating records..."
|
info "Public IP has changed from ${CACHED_PUBLIC_IP} to ${new_ip}. Updating records..."
|
||||||
"${SEND_TELEGRAM}" "Public IP has changed from ${CACHED_PUBLIC_IP} to ${new_ip}. Updating records..."
|
"${SEND_TELEGRAM}" "Public IP has changed from ${CACHED_PUBLIC_IP} to ${new_ip}. Updating records..."
|
||||||
CACHED_PUBLIC_IP="${new_ip}"
|
CACHED_PUBLIC_IP="${new_ip}"
|
||||||
echo "${new_ip}" > .var/cached_public_ip
|
echo "${new_ip}" > ${PUBLIC_IP_FILE}
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Parse command-line arguments
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
-z|--zone-id-file)
|
||||||
|
ZONE_ID_FILE="$2"
|
||||||
|
shift # past argument
|
||||||
|
shift # past value
|
||||||
|
;;
|
||||||
|
-d|--dns-record-file)
|
||||||
|
DNS_RECORD_FILE="$2"
|
||||||
|
shift # past argument
|
||||||
|
shift # past value
|
||||||
|
;;
|
||||||
|
--domain)
|
||||||
|
DOMAIN="$2"
|
||||||
|
shift # past argument
|
||||||
|
shift # past value
|
||||||
|
;;
|
||||||
|
-*|--*)
|
||||||
|
echo "Unknown option $1"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown option $1"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
DNS_RECORD=$(cat "${DNS_RECORD_FILE}")
|
||||||
|
ZONE_ID=$(cat "${ZONE_ID_FILE}")
|
||||||
|
PUBLIC_IP_FILE=".var/${DOMAIN}_cached_ip"
|
||||||
|
if [ -e "$PUBLIC_IP_FILE" ]; then
|
||||||
|
CACHED_PUBLIC_IP=$(cat "${PUBLIC_IP_FILE}")
|
||||||
|
else
|
||||||
|
touch "${PUBLIC_IP_FILE}"
|
||||||
|
fi
|
||||||
check_internet_access
|
check_internet_access
|
||||||
check_new_ip
|
check_new_ip
|
||||||
|
|
||||||
@ -64,7 +104,7 @@ curl_answer="$(curl --request PATCH \
|
|||||||
--silent \
|
--silent \
|
||||||
--data '{
|
--data '{
|
||||||
"content": "'${CACHED_PUBLIC_IP}'",
|
"content": "'${CACHED_PUBLIC_IP}'",
|
||||||
"name": "tylencloud.com",
|
"name": "'${DOMAIN}'",
|
||||||
"proxied": false,
|
"proxied": false,
|
||||||
"type": "A",
|
"type": "A",
|
||||||
"comment": "Main Record",
|
"comment": "Main Record",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user