banner
libxcnya.so

libxcnya.so

Nothing...
telegram
twitter
github
email

Cloudflare 一键删除所有解析

前言#

当我们在国外大厂域名平台购买域名后,修改 NS 到 Cloudflare,经常会出现这种情况

1

是的,Cloudflare "贴心" 的扫了一大堆没鸟用的记录进去
有 1000 多条的,有 700 多条的,可以说是十分的抽象
为了解决这个问题,我们来通过 API 反复调用来解决这个问题

教程#

开始之前我们需要先获取两个关于 API 的东西

Global Key#

首先我们先要获取你的 Cloudflare 帐号的 Global Key(你要是为了安全自己创建一个带有修改你的区域的 DNS 记录权限的 Key 也行,我图省事直接用 Global Key 了)

点击 Cloudflare 右上角的人,选择我的个人资料

2

然后去左边找到 API 令牌

3

然后往下滑找到 Global Key,点击查看

4

输入密码即可查看

5

Zone ID#

在 Cloudflare Dashboard 点击你的域名,然后往下滑右边就能看到你的 区域 ID

6

我们需要记住这两个东西,等会要用

脚本#

这边使用的是 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

7

一遍没删干净可以多跑几遍
然后回到 Cloudflare Dashboard
啊,舒服

8

此文由 Mix Space 同步更新至 xLog
原始链接为 https://blog.nekorua.com/posts/coding/24.html


加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。