Domain Expiry Monitor
July 10, 2026 ยท View on GitHub
GitHub Action that monitors domain WHOIS and SSL certificate expiry. Creates GitHub Issues when your domains are about to expire.
Features
- ๐ WHOIS + SSL monitoring โ Checks both domain registration and TLS certificate expiry
- ๐ซ Auto Issue tracking โ Creates/updates GitHub Issues with expiry details
- ๐ Auto-close on renewal โ Issues close automatically when domain is renewed
- ๐ท๏ธ Smart labeling โ Issues tagged by domain and severity (warning/critical/expired)
- โก Zero config server โ Free APIs: RDAP + crt.sh Certificate Transparency
Usage
Option 1: Config file (recommended)
Create .github/domains.json:
{
"domains": [
"example.com",
"mysite.org"
],
"whois_threshold": 30,
"ssl_threshold": 14
}
Add to .github/workflows/domain-check.yml:
name: Domain Expiry Check
on:
schedule:
- cron: "0 8 * * *" # Daily at 8am UTC
workflow_dispatch: # Manual trigger
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ipythoning/domain-expiry-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
Option 2: Inline domains
- uses: ipythoning/domain-expiry-action@v1
with:
domains: "example.com, mysite.org, myapp.io"
github_token: ${{ secrets.GITHUB_TOKEN }}
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
domains | No | โ | Comma-separated domains or JSON array |
config_path | No | .github/domains.json | Path to config file |
whois_threshold | No | 30 | Days before WHOIS expiry to alert |
ssl_threshold | No | 14 | Days before SSL expiry to alert |
github_token | No | ${{ github.token }} | Token for creating issues |
Outputs
| Output | Description |
|---|---|
alerts | JSON array of alerts found |
alert_count | Total number of alerts |
issues_created | New issues created |
issues_updated | Existing issues updated |
issues_closed | Issues auto-closed (domain renewed) |
How It Works
- WHOIS check via RDAP (Registration Data Access Protocol) โ HTTP-based, no TCP sockets needed
- SSL check via crt.sh Certificate Transparency logs โ free, no API key
- Issue management:
- Labels:
domain-expiry,domain:example.com,severity:warning|critical|expired - Issues are auto-closed when domain is renewed
- Updated on each run with latest expiry data
- Labels:
Related
- Domain Monitor MCP Server โ MCP server for AI assistants. Ask Claude/Cursor/Windsurf to check domain health directly with
npx domain-monitor-mcp-server. Zero API keys. - Domain Monitor Client โ Web dashboard for domain monitoring. Visual status overview, CSV export.
License
MIT