プロジェクト一覧に戻る
DW
dns-watchdog
ツールSlack通知付きDNSレコード監視ツール
概要
dns-watchdog は DNS レコードを監視し、不一致を検知した際に Slack で通知するツールです。DNS-over-HTTPS(Google Public DNS)を使用してクエリを行うため、ローカルリゾルバや OS の設定に依存しません。
シングルバイナリの CLI ツールと GitHub Action の両方で利用可能。オンデマンドでも CI でのスケジュール実行でも簡単に使えます。外部監視サービスに頼らず DNS 設定を検証したい個人や小規模チームに最適です。
機能
- A / MX / TXT / NS / CNAME レコードの監視
- 完全一致と部分一致の2つのマッチモード
- 不一致検知時の Slack Webhook 通知
- DNS-over-HTTPS(Google Public DNS)によるクエリ
- シングルバイナリ、ゼロランタイム依存
- CLI + GitHub Action 対応
- クロスプラットフォーム: Linux, macOS, Windows(amd64/arm64)
インストール
go install github.com/daigotanaka0714/dns-watchdog@latest クイックスタート
config.yml を作成:
domain: example.com
checks:
- type: A
name: "@"
expected:
- "93.184.216.34"
- type: TXT
name: "@"
contains: "v=spf1"
notify:
slack_webhook_env: "SLACK_WEBHOOK_URL"
template: "default" チェックを実行:
SLACK_WEBHOOK_URL=https://hooks.slack.com/... dns-watchdog GitHub Action で cron スケジュール実行も可能:
name: DNS Watchdog
on:
schedule:
- cron: "0 */6 * * *"
workflow_dispatch:
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: daigotanaka0714/dns-watchdog@v1
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
DNS_WATCHDOG_CONFIG: ./config.yml 技術スタック
Go
Go
主要言語
DoH
DNS-over-HTTPS
dns.google
S
Slack
Webhook通知
パッケージ情報
ライセンス MIT
種類 ツール
配布方式 GoReleaser