-
Notifications
You must be signed in to change notification settings - Fork 1
Home
πΏ Heimdall is an open-source WHOIS, DNS, Uptime monitor and status page, fully powered by GitHub Actions and GitHub Pages.
Easily monitor your domains and get alerts when:
- β³ Domain (WHOIS) is set to expire within 30 days
- π SSL certificate expires soon (example)
β οΈ HTTP status code for website is >400 (example)- π Response time for website is >1000ms (example)
- π¨ IP address (A record) for domain changes (example)
- π¨ Nameservers for the domain are changed
relies entirely on GitHub Actions and GitHub Issues - no external services required.
- Click on
- Add your domains to
domains.txt. - Optional: If you want a status page, create Gitub Page
- That's it.
The workflow will:
- Run automatically almost every mininute (or you can trigger it manually).
- Check daily: WHOIS expiration date, SSL expiration date, Nameservers.
- Check every time: A record, HTTP response time, Status code.
| If a domain expires soon, IP changes, SSL expired or status code is >400, a GitHub issue will be opened: | If the domain is later renewed, SSL renewed or status code changes, the issue will be automatically closed: |
|
|
For live demo view: http://status.openpanel.com/status/
| All monitors | Single page |
![]() |
![]() |
In the summer of 2025, I got caught up with personal milestones: got married, became a father, bought an apartment - and ended up missing domain expiration emails. Several of my domains, including pcx3.com and plugins.club, expired, and years of work and projects were lost. π I didn't want this to ever happen again, neither to me nor anyone else.
Since I use GitHub daily, I realized that if these were GitHub Issues, I probably wouldn't have missed them.
That's why I decided to use Upptime, an amazing tool that tracks uptime using GitHub Issues. However, I wasn't a fan of how it records statuses via git commits. I wanted JSON data that could easily feed into other tools like Grafana.
Enter Heimdall: it uses GitHub Actions to run scheduled checks, stores results in JSON files per domain, and presents the data on a front-end using simple HTML pages.
It notifies you whenever there are changes to your domain's WHOIS info, SSL certificate, or HTTP status/response.
Feel free to use it, experiment, break it, fork it - whatever you like!
detect nameserver changes and open issuesadd ignore option for ip changes when cloudflare proxy is usedadd ignore option for ip changes when vercel is useddetect registrar changes in whois info- record whois data
- check A, AAAA, MX, SOA, TXT records
- create screenshot when response code >400
- tag in comment or auto-assign isuses
- setup assigments per domain
- if multiple domains (sub dir or domain) of same domain, reuse existing whois data
- implement https://raw.githubusercontent.com/stefanpejcic/vercel-ipv4/refs/heads/main/list.txt

