Konu Başlıkları Gizle
Merhaba, bugün sizlere Cloudflare üzerindeki yüzlerce hatta binlerce DNS kaydını tek tıkla nasıl temizleyebileceğinizi göstereceğim.
NOT: Yapacağınız işlemlerin sorumluluğu size aittir.
Hazırsanız rehbere geçelim.
Bize iki adet bilgi lazım olacak. Bunlardan biri zone ID diğeri ise API token.
Zone ID almak için:
Cloudflare site paneline gidiyoruz, daha sonra sağ altta zone ID kısmının altındaki kodu kopyalıyoruz.
API key almak için:
Cloudflare site paneline giriyoruz, sağ altta get your API token kısmına tıklıyoruz ve gelen ekrandan create token diyoruz. Gelen ekrandan edit zone DNS olanı seçiyoruz.
zone resources kısmının en sağındaki "select" kısmından sitemizi seçiyoruz.
Daha sonra contuine to summary diyoruz. Gelen ekrana da onay veriyoruz. Insan doğrulaması ve şifre girdikten sonra API key gelecektir. Kopyalıyoruz.
[CODE title="Kod"]
$zoneid = ""
$bearer = ""
$response = Invoke-RestMethod -Uri "https://api.cloudflare.com/client/v4/zones/$zoneid/dns_records?per_page=50000" -Headers @{"Authorization" = "Bearer $bearer"}
if ($response.success) {
$recordIds = $response.result.id
} else {
Write-Error "Error fetching DNS records: $($response.errors[0].message)"
exit 1 # Stop the script if there was an error.
}
foreach ($id in $recordIds) {
Invoke-RestMethod -Uri "https://api.cloudflare.com/client/v4/zones/$zoneid/dns_records/$id" -Method DELETE -Headers @{"Authorization" = "Bearer $bearer"}
}[/CODE]
Bu koddaki $zoneid ve $bearer kısımlarına aldığımız değerleri yerleştiriyoruz. $bearer == API key
Tamamladıktan sonra, "dosya > farklı kaydet" seçip, dosya uzantısını ".PS1" olarak değiştiriyoruz.
Durun! Hemen çalıştırmayın.
Windows PowerShell'i açın ve şunu yazın.
İşlemin bitmesini bekleyin. Işlem bittikten sonra bu linkten PowerShell 7 yükleyin ve kurun. https://github.com/PowerShell/PowerShell/releases/download/v7.4.3/PowerShell-7.4.3-win-x64.msi
Kurduktan sonra ilgili dosyaya gelin, sağ tıklayın ve run with PowerShell 7 yazısına tıklayın. Bilgiler doğru ise işlem tamamlanacaktır.
Windows için işlemlerimiz bu kadardı.
Öncelikle Linux üzerinde curl ve jq paketlerini kurun. Dağıtımınıza göre farklı olabileceğinden komut vermeyeceğim.
Kurduktan sonra bir
[CODE title="Kod"]
zoneid=
bearer=
curl --silent "https://api.cloudflare.com/client/v4/zones/$zoneid/dns_records?per_page=50000" \
--header "Authorization: Bearer $bearer" \
| jq --raw-output '.result[].id' | while read id.
do.
curl --silent --request DELETE "https://api.cloudflare.com/client/v4/zones/$zoneid/dns_records/$id" \
--header "Authorization: Bearer $bearer"
done[/CODE]
Burada yine zoneid kısmına zone ID, bearer kısmına ise API key giriniz.
Dosyanın bulunduğu dizinde terminal açıp:
Dosyayı oluşturdukten sonra,
İşlemin bitmesini bekleyin. Işte bu kadar!
bugün sizlere tüm Cloudflare DNS kayıtlarınızı nasıl silebileceğinizi gösterdim, umarım rehberi beğenmişsinizdir. Iyi günler dilerim...
NOT: Yapacağınız işlemlerin sorumluluğu size aittir.
Hazırsanız rehbere geçelim.
Gerekli bilgilerin toplanması
Bize iki adet bilgi lazım olacak. Bunlardan biri zone ID diğeri ise API token.
Zone ID almak için:
Cloudflare site paneline gidiyoruz, daha sonra sağ altta zone ID kısmının altındaki kodu kopyalıyoruz.
API key almak için:
Cloudflare site paneline giriyoruz, sağ altta get your API token kısmına tıklıyoruz ve gelen ekrandan create token diyoruz. Gelen ekrandan edit zone DNS olanı seçiyoruz.
zone resources kısmının en sağındaki "select" kısmından sitemizi seçiyoruz.
Daha sonra contuine to summary diyoruz. Gelen ekrana da onay veriyoruz. Insan doğrulaması ve şifre girdikten sonra API key gelecektir. Kopyalıyoruz.
DNS kayıtlarını silme (Windows)
Windows üzerinde PowerShell kullanacağız. Boş bir metin belgesi açıyoruz ve içine şunları yazıyoruz.[CODE title="Kod"]
$zoneid = ""
$bearer = ""
$response = Invoke-RestMethod -Uri "https://api.cloudflare.com/client/v4/zones/$zoneid/dns_records?per_page=50000" -Headers @{"Authorization" = "Bearer $bearer"}
if ($response.success) {
$recordIds = $response.result.id
} else {
Write-Error "Error fetching DNS records: $($response.errors[0].message)"
exit 1 # Stop the script if there was an error.
}
foreach ($id in $recordIds) {
Invoke-RestMethod -Uri "https://api.cloudflare.com/client/v4/zones/$zoneid/dns_records/$id" -Method DELETE -Headers @{"Authorization" = "Bearer $bearer"}
}[/CODE]
Bu koddaki $zoneid ve $bearer kısımlarına aldığımız değerleri yerleştiriyoruz. $bearer == API key
Tamamladıktan sonra, "dosya > farklı kaydet" seçip, dosya uzantısını ".PS1" olarak değiştiriyoruz.
Durun! Hemen çalıştırmayın.
Windows PowerShell'i açın ve şunu yazın.
winget install jqlang.jq
İşlemin bitmesini bekleyin. Işlem bittikten sonra bu linkten PowerShell 7 yükleyin ve kurun. https://github.com/PowerShell/PowerShell/releases/download/v7.4.3/PowerShell-7.4.3-win-x64.msi
Kurduktan sonra ilgili dosyaya gelin, sağ tıklayın ve run with PowerShell 7 yazısına tıklayın. Bilgiler doğru ise işlem tamamlanacaktır.
Windows için işlemlerimiz bu kadardı.
DNS kayıtlarını silme (Linux)
Öncelikle Linux üzerinde curl ve jq paketlerini kurun. Dağıtımınıza göre farklı olabileceğinden komut vermeyeceğim.
Kurduktan sonra bir
.sh
dosyası oluşturun ve içine:[CODE title="Kod"]
zoneid=
bearer=
curl --silent "https://api.cloudflare.com/client/v4/zones/$zoneid/dns_records?per_page=50000" \
--header "Authorization: Bearer $bearer" \
| jq --raw-output '.result[].id' | while read id.
do.
curl --silent --request DELETE "https://api.cloudflare.com/client/v4/zones/$zoneid/dns_records/$id" \
--header "Authorization: Bearer $bearer"
done[/CODE]
Burada yine zoneid kısmına zone ID, bearer kısmına ise API key giriniz.
Dosyanın bulunduğu dizinde terminal açıp:
Dosyayı oluşturdukten sonra,
chmod +x dosyaadi.sh
daha sonra ise ./dosyaadi.sh
İşlemin bitmesini bekleyin. Işte bu kadar!
bugün sizlere tüm Cloudflare DNS kayıtlarınızı nasıl silebileceğinizi gösterdim, umarım rehberi beğenmişsinizdir. Iyi günler dilerim...
Dosya Ekleri
Son düzenleme: