Merhaba,

Konu ile ilgili olarak paylaşım olması açısından terminal üzerinden işlemlerin gerçekleştirilebileceği şekilde iki adet ufak betik hazırladım.

İlkinde yalnızca tek bir zone (alan) ve record (kayıt) üzerinden işlem sağlanırken, diğerinde ise dosya aracılığı ile listeye göre aksiyon almaktadır.

CF UPDATER:

user=$1

apikey=$2

domain=$3

record=$4

type=$5

content=$6

ttl=$7

proxied=$8


if [ ! -z $user ] && [ ! -z $apikey ] && [ ! -z $domain ] && [ ! -z $record ] && [ ! -z $type ] && [ ! -z $content ] && [ ! -z $ttl ] && [ ! -z $proxied ]

then

cfzoneid=`curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$domain"     -H "X-Auth-Email: $user"     -H "X-Auth-Key: $apikey"     -H "Content-Type: application/json" | jq '.result[0].id' | cut -f 2 -d '"'`

cfrecordid=`curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$cfzoneid/dns_records?type=$type&name=$record"     -H "X-Auth-Email: $user"     -H "X-Auth-Key: $apikey"     -H "Content-Type: application/json" | jq '.result[0].id' | cut -f 2 -d '"'`

curl -s -X PATCH "https://api.cloudflare.com/client/v4/zones/$cfzoneid/dns_records/$cfrecordid"     -H "X-Auth-Email: $user"     -H "X-Auth-Key: $apikey"     -H "Content-Type: application/json" --data '{"type":"'$type'","name":"'$record'","content":"'$content'","ttl":"'$ttl'","proxied":'$proxied'}'

else echo "Usage: ./cfupdater user apikey domain record type content ttl proxied"

fi
CF BULK UPDATER:

user=$1

apikey=$2

list=$3

if [ ! -z $user ] && [ ! -z $apikey ] && [ ! -z $list ]

then

for i in `cat $list`

do

domain=`echo $i | cut -f 1 -d ":"`

type=`echo $i | cut -f 2 -d ":"`

record=`echo $i | cut -f 3 -d ":"`

content=`echo $i | cut -f 4 -d ":"`

ttl=`echo $i | cut -f 5 -d ":"`

proxied=`echo $i | cut -f 6 -d ":"`

cfzoneid=`curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$domain"     -H "X-Auth-Email: $user"     -H "X-Auth-Key: $apikey"     -H "Content-Type: application/json" | jq '.result[0].id' | cut -f 2 -d '"'`

cfrecordid=`curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$cfzoneid/dns_records?type=$type&name=$record"     -H "X-Auth-Email: $user"     -H "X-Auth-Key: $apikey"     -H "Content-Type: application/json" | jq '.result[0].id' | cut -f 2 -d '"'`

curl -s -X PATCH "https://api.cloudflare.com/client/v4/zones/$cfzoneid/dns_records/$cfrecordid"     -H "X-Auth-Email: $user"     -H "X-Auth-Key: $apikey"     -H "Content-Type: application/json" --data '{"type":"'$type'","name":"'$record'","content":"'$content'","ttl":"'$ttl'","proxied":'$proxied'}'

done

else echo "Usage: ./cfbulkupdater user apikey list"

fi
CF BULK UPDATER EXAMPLE LIST:

dnseek.com:A:dnseek.com:2.2.2.2:60:false
dnseek.com:A:test.dnseek.com:2.2.2.3:60:true
isitliquid.com:A:test2.isitliquid.com:5.5.5.5:3600:false
Teşekkürler.