前書き#
国外の大手ドメインプラットフォームでドメインを購入した後、NS を Cloudflare に変更すると、次のような状況がよく発生します。
そうです、Cloudflare は役に立たない多くのレコードをスキャンしています。
1000 以上のレコード、700 以上のレコードがあり、非常に抽象的と言えます。
この問題を解決するために、API を繰り返し呼び出して問題を解決しましょう。
チュートリアル#
始める前に、API に関する 2 つの情報を取得する必要があります。
グローバルキー#
まず、Cloudflare アカウントのグローバルキーを取得する必要があります(安全のために、自分で領域を変更する DNS レコードの権限を持つキーを作成することもできますが、私は手間を省くためにグローバルキーを使用しています)。
Cloudflare の右上にある人をクリックし、プロフィールを選択します。
次に、API トークンを見つけるために左側に移動します。
下にスクロールしてグローバルキーを見つけ、表示をクリックします。
パスワードを入力して表示できます。
ゾーン ID#
Cloudflare ダッシュボードでドメインをクリックし、右側にスクロールするとゾーン ID が表示されます。
これら 2 つの情報を覚えておく必要があります。後で使用します。
スクリプト#
ここでは 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
に変更します。
その後、右クリックして「Powershell で実行」を選択します。
一度では完全に削除されない場合は、何度か実行してください。
その後、Cloudflare ダッシュボードに戻ります。
ああ、気持ちいいです。
この記事はMix Spaceから xLog に同期されています。
元のリンクはhttps://blog.nekorua.com/posts/coding/24.htmlです。