Cloudflare 批量删除 DNS 解析

教程

域名从 Vercel 转到 Cloudlare 以后自动创建了一大堆记录,总共有一百多条,都是没用的解析。由于 Cloudflare 的控制台没有批量删除解析的功能,一条一条删很麻烦。不过我们可以通过 Cloudflare 的 API 功能来实现批量删除解析,准确地讲是全部删除,目前还不能实现删除指定的解析。

创建 API 令牌

打开 用户 API 令牌 页面,点击 创建令牌

641622b45f4db95eb997d96e5f8b0c80.png

然后点击 编辑区域 DNS 后的 使用模板 按钮。

eb75928078b45f0335870ea2c116f674.png

接着在 特定区域 右侧的下拉列表列表中选择你需要批量删除解析的域名。

a96a4c8dc9075946e63eefe24140ad3c.png

翻到网页底部,点击 继续以显示摘要

3ad85249be28468eeba4b32b30eaf2d6.png

点击 创建令牌

23e95910af8a36b2a9b2fb2e153a0b5b.png

复制虚线框内的令牌,保存备用。

87fbfb72b76189745927cdbe1e21522f.png

找到区域 ID

打开域名的概述页,下拉网页,在右下角找到 区域 ID

80457dca0b17bf03b5f8ddb977152427.png

执行批量删除

注意:脚本会删除指定域名的所有解析!

请将以下的 <API TOKEN> 替换为你之前创建的 API 令牌,将 <ZONE ID> 替换为域名的区域 ID。

Windows

如果你使用 Windows 系统,请使用以下 PowerShell 脚本。(此脚本来自 Cloudflare 论坛

6155c4bc1d7c0a6085cb851ba270d939.png

点击下载 PowerShell 脚本

使用方法:

  1. 首先将脚本中的 <API TOKEN> 替换为你之前创建的 API 令牌,将 <ZONE ID> 替换为域名的区域 ID。
  2. 然后右键脚本,点击 使用 PowerShell 运行,等待执行完成即可。

macOS / Linux / BSD / Termux

如果你使用其他操作系统,请使用以下 Python 脚本。

点击下载 Python 脚本

使用方法:

  1. 首先安装 Python 环境和 requests 库(如果没有安装的话)。

  2. 然后将脚本中的 <API TOKEN> 替换为你之前创建的 API 令牌,将 <ZONE ID> 替换为域名的区域 ID。

  3. 在脚本目录打开终端,并执行命令 python3 cf-del-records.py,等待执行完成即可。

本文作者:Tony

本文链接: https://blog.iamsjy.com/2023/09/25/cloudflare-bulk-delete-dns-records/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

评论