Cloudflare 一键删除所有解析
前言
当我们在国外大厂域名平台购买域名后,修改 NS 到 Cloudflare,经常会出现这种情况
是的,Cloudflare "贴心"的扫了一大堆没鸟用的记录进去
有 1000 多条的,有 700 多条的,可以说是十分的抽象
为了解决这个问题,我们来通过 API 反复调用来解决这个问题
教程
开始之前我们需要先获取两个关于 API 的东西
Global Key
首先我们先要获取你的 Cloudflare 帐号的 Global Key(你要是为了安全自己创建一个带有修改你的区域的 DNS 记录权限的 Key 也行,我图省事直接用 Global Key 了)
点击 Cloudflare 右上角的人,选择我的个人资料
然后去左边找到 API 令牌
然后往下滑找到 Global Key,点击查看
输入密码即可查看
Zone ID
在 Cloudflare Dashboard 点击你的域名,然后往下滑右边就能看到你的 区域 ID
我们需要记住这两个东西,等会要用
脚本
这边使用的是 Powershell 脚本,某人的那个有点问题,我拉出来修复了一下
$ZONE_ID = "YOUR_ZONE_ID"
$baseUrl = "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records"
$headers = @{
'X-Auth-Key' = 'YOUR_GLOBAL_KEY'
'X-Auth-Email' = 'YOUR_EMAIL'
'Content-Type' = "application/json"
}
$listUrl = $baseUrl + '?per_page=500'
Write-Host $listUrl
$records = Invoke-RestMethod -Uri $listUrl -Method 'GET' -Headers $headers
$records = $records | Select-Object -ExpandProperty result
foreach ($record in $records) {
Write-Host "Deleting $($record.name) that points to $($record.content)"
$deleteUrl = $baseUrl + '/' + $record.id
Invoke-RestMethod -Uri $deleteUrl -Method 'DELETE' -Headers $headers
Write-Host $deleteUrl
}
将以上文件替换好你的信息,然后复制进记事本,保存后改后缀名为 .ps1
然后右键 Run with Powershell
一遍没删干净可以多跑几遍
然后回到 Cloudflare Dashboard
啊,舒服