FyLy - 2019-06-30

shell script of proof by Cloudlfare API v4

(sorry pound sign is changed to %23)

`%23!/bin/bash

CF_AUTH_KEY="xxx"
CF_AUTH_MAIL="mmm"

curlRetrieve(){
curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$1/dns_records/$2" \ -H "X-Auth-Email: "$CF_AUTH_MAIL \ -H "X-Auth-Key: "$CF_AUTH_KEY \ -H "Content-Type: application/json" | \ python -m json.tool
}

curlUpdate(){
echo "Changing IP addr... '$3'"

curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$1/dns_records/$2" \
    -H "X-Auth-Email: "$CF_AUTH_MAIL \
    -H "X-Auth-Key: "$CF_AUTH_KEY \
    -H "Content-Type: application/json" \
    --data "{\"type\":\"A\",\"name\":\"$4\",\"content\":\"$3\",\"ttl\":1,\"proxied\":$5}" | \
python -m json.tool

}

if [ "$IP" != "$OLD_IP" ]; then
%23 zone_id of cloudflare dns domain
ZONE_ID="zzz"
DDNZ_DOM="dom"

%23 DNS_RECORD_ID: Can get by
%23 curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
%23      -H "X-Auth-Email: $CF_AUTH_MAIL" \
%23      -H "X-Auth-Key: $CF_AUTH_KEY" \
%23      -H "Content-Type: application/json" | \
%23 python -m json.tool

DNS_RECORD_ID="ddd"
echo $IP > $IP_FILE
curlRetrieve $ZONE_ID $DNS_RECORD_ID

%23echo
curlUpdate $ZONE_ID $DNS_RECORD_ID $IP $DDNZ_DOM "false" %23 or true for proxy

fi
`

 

Last edit: FyLy 2019-06-30