コマンドライン DNS: シェルスクリプトで Porkbun API を使用する

コマンドライン DNS: シェルスクリプトで Porkbun API を使用する

豚まん DNS の管理に関しては、次の 3 つのカテゴリに分けられると思います。

  • ほとんどの人は、Web ブラウザ経由で DNS を管理します。つまり、レジストラ、プロバイダー、パネル、またはサードパーティの DNS プロバイダーにログインし、GUI を使用して DNS レコードを変更します。
  • 7 桁の金額を保有している人は、一連の複雑なクラウド API 呼び出しを通じて DNS を管理しています。
  • そして、独自の DNS を管理し、ゾーン ファイルにアクセスして、シリアル番号の管理に独自の最適化されたシステムを使用するハードコアなユーザーもいます。

しかし、あなたは私のような人だとしたらどうでしょう。つまり、面倒くさがりなので自分の DNS サーバーを実行する気にはなれないが、自分がコマンド ラインの LowEndZone (ターミナル ウィンドウが 10 個開いていて、机の上にカフェイン入りの飲み物の残りが散らばっていて、ヘッドフォンからはウィリー ジョーンズが聞こえている) にいることに気づいたとき、インターフェイスのセマンティクスを直交的に壊して、Web ブラウザーで自分のレジストラでホストされている DNS を更新するのを嫌がる人です。

そのような場合は、Porkbun API が役に立つかもしれません。公式のサンプルでは Python と Java が使われていますが、これは JSON を POST するだけなので、curl でも簡単に実行できます。

はじめる

Porkbun APIを使い始めるには、まず「Porkbun APIを使い始める」という記事を読んでください。はい、ほぼこれだけで大丈夫です。

指示に従って次の 2 つのことを行います。

  1. API キーを取得します。
  2. 作業するドメインの API アクセスをオンにします (デフォルトではオフになっています)。

サンプルの使用

以下は、192.168.1.1 を解決する「example.lowend.party」という A レコードを作成するスクリプトです。

 #!/bin/bash

curl --header "コンテンツタイプ: application/json" \
  --リクエスト POST \
   - データ '{ 
    「apikey」: 「MY_API_KEY」、
    "secretapikey": "MY_SECRET_KEY",
    「名前」:「例」、
    「タイプ」:「A」、
    「コンテンツ」:「1.2.3.4」、
    "ttl" : "600"
  }' \
  https://porkbun.com/api/json/v3/dns/create/lowend.party
エコー

実行すると、次が返されます:

 # ./dns.sh 
{"ステータス":"成功","id":302181389}

確認するには:

 # nslookup example.lowend.party 8.8.8.8
サーバー: 8.8.8.8
住所: 8.8.8.8#53

非権威的な回答:
名前: example.lowend.party
住所: 1.2.3.4

#

フル機能API

Porkbun APIを使えば、作成、取得、更新、削除といった基本的なCRUD操作をすべて実行できます。取得にはドメイン指定も含まれるため、特定のドメインのすべてのレコードを一覧表示することも可能です。

詳細についてはAPI ドキュメントを確認し、上記の curl スクリプトをテンプレートとして使用してください。変更するのは、送信する JSON と API エンドポイントだけです。

おすすめの記事