whois.api.airat.top — WHOIS/RDAP 公開 API
概要
Cloudflare Worker 上に実装された whois.api.airat.top は、ドメインの WHOIS/RDAP 情報を手軽に取得できる公開 API です。クエリで domain(または alias の name)を指定するだけで、レジストラ名、ドメインステータス、登録日・有効期限、ネームサーバ、DNSSEC の有無など主要なメタデータを返します。レスポンス形式はデフォルトの JSON に加え /text、/yaml、/xml をサポートし、/health エンドポイントでサービス稼働状況を確認できます。シンプル設計で他サービスからの組み込みや監視用途に向いています。
リポジトリの統計情報
- スター数: 2
- フォーク数: 0
- ウォッチャー数: 2
- コミット数: 3
- ファイル数: 5
- メインの言語: JavaScript
主な特徴
- Cloudflare Worker ベースでサーバレスに動作し低レイテンシを実現
- WHOIS と RDAP の情報を統合して標準化された出力を提供
- JSON、text、YAML、XML の複数フォーマットに対応
- /health によるシンプルなヘルスチェックを提供
技術的なポイント
このプロジェクトは Cloudflare Workers のランタイムを利用しており、軽量な JavaScript(worker.js)で HTTP リクエストを受けて WHOIS/RDAP の取得と整形を行います。エンドポイント設計は REST 的で、クエリパラメータに domain(alias: name)を指定するだけで動作。内部では RDAP(RESTfulなドメイン情報取得プロトコル)や既存の WHOIS 情報ソースへアクセスし、レスポンスを統一されたスキーマにマッピングします。出力のシリアライズは要求されたフォーマットに応じて行い、Content-Type を切り替えて返却するため、クライアント側のパースが容易です。
また Cloudflare Workers の特性上、コールドスタートや実行時間の制限を考慮した設計が必要で、外部への同期的な長時間待ちを避ける実装が想定されます。wrangler.toml が含まれているためローカルでのデプロイや環境設定が容易で、CI/CD 経由での自動デプロイも想定可能です。軽量 API のためキャッシュ戦略(Cloudflare のエッジキャッシュ)を組み合わせることでコストとレイテンシをさらに最適化できます。セキュリティ面では公開 API であるためリクエスト頻度や悪意ある利用を監視する必要があり、Status page(https://status.airat.top)や /health による監視連携が役立ちます。
プロジェクトの構成
主要なファイルとディレクトリ:
- .github: dir
- LICENSE: file
- README.md: file
- worker.js: file
- wrangler.toml: file
補足:
- worker.js が実際のリクエスト受け取りとレスポンス生成の中核です。
- wrangler.toml により Cloudflare Workers へのデプロイ設定が管理されています。
- README.md に利用方法、ライブエンドポイント、サンプル curl コマンドなどが記載されています。
まとめ
軽量で使いやすく監視や統合に適した公開 WHOIS/RDAP APIです。
リポジトリ情報:
- 名前: whois.api.airat.top
- 説明: Public Cloudflare Worker API for WHOIS/RDAP domain lookup. Returns registrar, domain status, registration/expiration dates, nameservers, and DNSSEC info in JSON (/, /json), text (/text), YAML (/yaml), or XML (/xml), with /health endpoint.
- スター数: 2
- 言語: JavaScript
- URL: https://github.com/AiratTop/whois.api.airat.top
- オーナー: AiratTop
- アバター: https://avatars.githubusercontent.com/u/4050715?v=4
README の抜粋:
- Live endpoint: https://whois.api.airat.top
- Status page: https://status.airat.top
- 必須クエリパラメータ: domain(alias: name)
- GET / がデフォルトで JSON を返却。その他フォーマットはパスで指定可能。