Cloudflare da bulunan domain içerisinde 10-100-1000 satır DNS varsa ve bunlar için tek tek işlem yapmaktansa toplu işlemleri kolayca yaptığım Python betiğini paylaşmak istedim.
Umarım bir çok kişinin işini görecektir.
Kullanım amacı:
Cloudflare Hesabınızda domainin tek seferde DNS listesini temizlemeye yarayacak,
Faydaları:
Cloudflare tarafında fazlaca domain sahibi olanlar veya domain içerisinde oldukça fazla DNS temizlenmesini isteyenler hızlıca işlemi sonuçlandıracak. Böylelikle, 1 günden fazla vakit kazanılmış olacak.
Önceki yazımızda bulunan CloudFlare API oluşturduysanız direkt aşağıdaki kodu çalıştırabilirsiniz.
Önceki Yazımız:
Python ile Cloudflare Toplu A Türü DNS Değiştirme
Bilgisayarınızda Python yüklü değil ise indirip yükleyin.
https://www.python.org/downloads/
Komut İstemi açıp gerekli kütüphaneyi yükleyin.
pip install requestsSonrasında aşağıdaki betiği kopyalayıp CF_A_Update.py dosyası oluşturun.
Python IDE ile Run yapın.
import requests
api_token = "XX" # API Token buraya girin
site_name = ".com" # Site adınızı buraya girin
# Zone ID'yi alma
zone_id_response = requests.get(
f"https://api.cloudflare.com/client/v4/zones?name={site_name}",
headers={
"Authorization": f"Bearer {api_token}",
"Content-Type": "application/json"
}
)
zone_id = zone_id_response.json()['result'][0]['id']
# DNS kayıtlarını listeleme
dns_records_response = requests.get(
f"https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records",
headers={
"Authorization": f"Bearer {api_token}",
"Content-Type": "application/json"
}
)
dns_records = dns_records_response.json()['result']
# DNS kayıtlarını silme
for record in dns_records:
record_id = record['id']
delete_response = requests.delete(
f"https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records/{record_id}",
headers={
"Authorization": f"Bearer {api_token}",
"Content-Type": "application/json"
}
)
print(f"Deleted record {record['name']} with status: {delete_response.status_code}")Sonuç;