hexo-ehm.pages.dev Open in urlscan Pro
172.66.47.137  Public Scan

Submitted URL: https://hexo-ehm.pages.dev/posts/cloudflare_bulk_delete_dns_records.html
Effective URL: https://hexo-ehm.pages.dev/posts/cloudflare_bulk_delete_dns_records
Submission Tags: @ecarlesi possiblethreat phishing Search All
Submission: On August 11 via api from IT — Scanned from IT

Form analysis 1 forms found in the DOM

<form action="" role="search" class="ais-SearchBox-form" novalidate=""><input class="ais-SearchBox-input" type="search" placeholder="搜索文章" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" maxlength="512"
    aria-label="Search"><button class="ais-SearchBox-submit" type="submit" title="Submit the search query" hidden=""><svg class="ais-SearchBox-submitIcon" width="10" height="10" viewBox="0 0 40 40" aria-hidden="true">
      <path
        d="M26.804 29.01c-2.832 2.34-6.465 3.746-10.426 3.746C7.333 32.756 0 25.424 0 16.378 0 7.333 7.333 0 16.378 0c9.046 0 16.378 7.333 16.378 16.378 0 3.96-1.406 7.594-3.746 10.426l10.534 10.534c.607.607.61 1.59-.004 2.202-.61.61-1.597.61-2.202.004L26.804 29.01zm-10.426.627c7.323 0 13.26-5.936 13.26-13.26 0-7.32-5.937-13.257-13.26-13.257C9.056 3.12 3.12 9.056 3.12 16.378c0 7.323 5.936 13.26 13.258 13.26z">
      </path>
    </svg></button><button class="ais-SearchBox-reset" type="reset" title="Clear the search query" hidden=""><svg class="ais-SearchBox-resetIcon" viewBox="0 0 20 20" width="10" height="10" aria-hidden="true">
      <path d="M8.114 10L.944 2.83 0 1.885 1.886 0l.943.943L10 8.113l7.17-7.17.944-.943L20 1.886l-.943.943-7.17 7.17 7.17 7.17.943.944L18.114 20l-.943-.943-7.17-7.17-7.17 7.17-.944.943L0 18.114l.943-.943L8.113 10z"></path>
    </svg></button><span class="ais-SearchBox-loadingIndicator" hidden=""><svg aria-label="Results are loading" class="ais-SearchBox-loadingIcon" width="16" height="16" viewBox="0 0 38 38" stroke="#444" aria-hidden="true">
      <g fill="none" fill-rule="evenodd">
        <g transform="translate(1 1)" stroke-width="2">
          <circle stroke-opacity=".5" cx="18" cy="18" r="18"></circle>
          <path d="M36 18c0-9.94-8.06-18-18-18">
            <animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="1s" repeatCount="indefinite"></animateTransform>
          </path>
        </g>
      </g>
    </svg></span></form>

Text Content

文章
92
标签
366
分类
10

--------------------------------------------------------------------------------

线路
 * 主线路 (Vercel)
 * Netlify
 * CLoudflare

首页
归档
标签
分类
友链
搜索
线路
 * 主线路 (Vercel)
 * Netlify
 * CLoudflare

首页
归档
标签
分类
友链



CLOUDFLARE 批量删除 DNS 解析

发表于 2024-04-27|更新于 2024-04-28|转载
| 字数总计:681|阅读时长:2 分钟

由于 Cloudflare 的控制台没有批量删除解析的功能,一条一条删很麻烦。不过我们可以通过 Cloudflare 的 API
功能来实现批量删除解析,准确地讲是全部删除,目前还不能实现删除指定的解析。


创建 API 令牌

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

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

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

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

点击 创建令牌。

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



找到区域 ID

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



执行批量删除

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

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


WINDOWS

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


powershell


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22


$API_TOKEN = "<API TOKEN>"
$ZONE_ID   = "<ZONE ID>"

$baseUrl = "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records"

$headers = @{
  'Authorization' = "Bearer $API_TOKEN"
  '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
}


使用方法:

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

 2. 然后右键脚本,点击 使用 PowerShell 运行,等待执行完成即可。


MACOS / LINUX / BSD / TERMUX

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

python


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26


import requests

API_TOKEN = "<API TOKEN>"
ZONE_ID = "<ZONE ID>"

baseUrl = f"https://api.cloudflare.com/client/v4/zones/{ZONE_ID}/dns_records"

headers = {
    'Authorization': f'Bearer {API_TOKEN}',
    'Content-Type': 'application/json'
}

listUrl = f"{baseUrl}?per_page=500"
print(listUrl)
response = requests.get(listUrl, headers=headers)
records = response.json()['result']

for record in records:
    name = record['name']
    content = record['content']

    print(f"Deleting {name} that points to {content}")

    deleteUrl = f"{baseUrl}/{record['id']}"
    requests.delete(deleteUrl, headers=headers)
    print(deleteUrl)


使用方法:

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

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

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

文章作者: 闪闪发光的 ZZZ
文章链接: https://blog.captainz.cc/posts/cloudflare_bulk_delete_dns_records.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hyper Tech!
cloudflaredns

微信扫一扫:分享



微信里点 “发现”,扫一下

二维码便可将本文分享至朋友圈。

下一篇
gcr.io,ghcr.io,k8s.gcr.io,quay.io 国内镜像加速服务整理分享
相关推荐
2023-11-29
利用 cloudflare+backblaze 自建图床源站

--------------------------------------------------------------------------------

评论

闪闪发光的 ZZZ
一个专注于知识分享,项目搭建教程的博客。
文章
92
标签
366
分类
10
目录
 1. 1. 创建 API 令牌
 2. 2. 找到区域 ID
 3. 3. 执行批量删除
    1. 3.1. Windows
    2. 3.2. macOS / Linux / BSD / Termux

最新文章
Cloudflare 批量删除 DNS 解析 2024-04-27
gcr.io,ghcr.io,k8s.gcr.io,quay.io 国内镜像加速服务整理分享 2024-04-23
火绒 6.0 简要介绍 2024-04-14
Butterfly 的魔改教程:个性定位信息 2024-04-14
Hexo-GitHub Actions 发布博客静态资源至 NPM2024-03-26
©2020 - 2024 By 闪闪发光的 ZZZ
繁

搜索

--------------------------------------------------------------------------------