DNSレコードファイルから抽出したホストのTLS証明書有効期限を効率的に確認するシェルスクリプトです。お名前.com形式のDNSレコード設定完了通知メールフォーマットおよびBINDゾーンファイル(RFC 1035準拠)に対応しています。
v0.1
# インストール
git clone <repository>
cd cert_expiry
chmod +x cert_expiry.sh
# 実行
./cert_expiry.sh# TLS証明書有効期限チェック(推奨)
# 同じディレクトリの*.onamae.txtファイルを自動検出
./cert_expiry.sh
# カスタムお名前.com形式ファイルを使用
./cert_expiry.sh my_zone.onamae.txt
# BINDゾーンファイルを使用
./cert_expiry.sh my_zone.zone
# 複数のファイルを指定(同じフォーマット)
./cert_expiry.sh zone1.onamae.txt zone2.onamae.txt
./cert_expiry.sh zone1.zone zone2.zone
# ヘルプ表示
./cert_expiry.sh --help
# バージョン表示
./cert_expiry.sh --version- FQDN: ホスト名
- DNS_Type: DNSレコードタイプ(A, AAAA, CNAME)
- IPv4/IPv6: IPアドレス情報
- 証明書ブランド: 証明書発行者
- Common_Name: 証明書のCommon Name
- SNI: Server Name Indication
- 証明書有効期限: 期限日と残り日数
- HTTPS通信可否: 接続状況
- FQDN: ホスト名
- DNS_Type: DNSレコードタイプ(A, AAAA, CNAME)
- IPv4: IPv4アドレス
- IPv6: IPv6アドレス
- Certificate_Brand: 証明書ブランド
- Common_Name: 証明書のCommon Name
- SNI: Server Name Indication
- Expiry_Date: 有効期限
- Days_Until_Expiry: 残り日数
- HTTPS_Status: HTTPS接続状況
- Notes: 備考
cert_expiry_YYYYMMDD_HHMMSS/
- OpenSSL: SSL証明書チェックツール(macOS標準搭載)
- dig: DNS解決コマンド(macOS標準搭載)
- お名前.com形式ファイル: ホスト情報を含むファイル(デフォルト: 同じディレクトリの
*.onamae.txtファイルを自動検出) - ファイル形式: お名前.comのDNSレコード設定完了通知メールフォーマット
- 大量のホストをチェックするため、完了まで時間がかかる場合があります
- サーバーに負荷をかけないよう適切な間隔を設けています
- お名前.comのDNSレコード設定完了通知メールフォーマット
- ファイル拡張子:
.onamae.txt(推奨) - 自動検出対応
- 標準的なBINDゾーンファイル形式
- ファイル拡張子:
.zone(推奨) - 対応ディレクティブ:
$ORIGIN: ゾーンの起点ドメイン$TTL: デフォルトTTL値$GENERATE: レコード自動生成(範囲: 1-10000)
- 対応レコードタイプ: A、AAAA、CNAME
- @ 表記対応
- 相対名対応(警告を表示しつつ処理)
- 絶対名対応(末尾ドット自動除去)
- 未対応:
$INCLUDEディレクティブ - 相対名: 末尾にドットがない名前は警告を表示します。
$ORIGINが設定されている場合は完全修飾名に変換されます - $GENERATE: 展開範囲は1-10000に制限されています
- TTL単位略記: パース可能ですが、値は使用しません(例:
1h、1dなど)
chmod +x cert_expiry.sh- ネットワーク環境を確認
- ファイアウォール設定を確認
- 対象ホストの稼働状況を確認
# 同じディレクトリのファイルを確認
ls -la *.onamae.txt *.zone
# カスタムファイルを指定
./cert_expiry.sh /path/to/your/zone.onamae.txt
./cert_expiry.sh /path/to/your/zone.zone
# 複数のファイルを指定
./cert_expiry.sh zone1.onamae.txt zone2.onamae.txt
./cert_expiry.sh zone1.zone zone2.zoneMIT License - 詳細は LICENSE ファイルを参照してください。
このプロジェクトへの貢献を歓迎します。詳細は CONTRIBUTING.md を参照してください。