make cloudflare_dns generic
This commit is contained in:
parent
3a3685eb8e
commit
df5721e728
@ -2,9 +2,12 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
ZONE_ID="$(cat .var/zone_id)"
|
||||
DNS_RECORD="$(cat .var/dns_record)"
|
||||
CACHED_PUBLIC_IP="$(cat .var/cached_public_ip)"
|
||||
ZONE_ID=""
|
||||
ZONE_ID_FILE=""
|
||||
DNS_RECORD=""
|
||||
DNS_RECORD_FILE=""
|
||||
DOMAIN=""
|
||||
CACHED_PUBLIC_IP=""
|
||||
AUTHORIZATION="$(cat .var/bearer)"
|
||||
|
||||
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..."
|
||||
"${SEND_TELEGRAM}" "Public IP has changed from ${CACHED_PUBLIC_IP} to ${new_ip}. Updating records..."
|
||||
CACHED_PUBLIC_IP="${new_ip}"
|
||||
echo "${new_ip}" > .var/cached_public_ip
|
||||
echo "${new_ip}" > ${PUBLIC_IP_FILE}
|
||||
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_new_ip
|
||||
|
||||
@ -64,7 +104,7 @@ curl_answer="$(curl --request PATCH \
|
||||
--silent \
|
||||
--data '{
|
||||
"content": "'${CACHED_PUBLIC_IP}'",
|
||||
"name": "tylencloud.com",
|
||||
"name": "'${DOMAIN}'",
|
||||
"proxied": false,
|
||||
"type": "A",
|
||||
"comment": "Main Record",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user