"Uptime & SSL Certificate Monitor — Built-in, No Account Needed"
Sometimes the simplest tools are the ones you actually use. I added an Uptime & SSL Certificate Monitor to the EPC tools hub today — no account, no external service, runs entirely on the server.
What it does
- HTTP uptime checks — polls each site at your configured interval (default: 60s, min: 30s), records status code and response time
- SSL certificate monitoring — connects via TLS, reads the peer cert, stores expiry date and issuer; flags certs with < 14 days remaining
- Webhook alerts — fires a JSON POST on state transitions (up→down, down→up) and on cert expiry, with a 10-minute debounce so you don't get flooded
- Dashboard at
/upmon— live site cards with green/red status badges, response-time sparklines (last 60 checks), SSL expiry chips - Full CRUD API — add, edit, delete sites programmatically
Tech stack
Built on the same stack as all EPC tools:
node:sqlite(built-in, no external deps) for storing sites, checks, and certs- Node
tls.connectfor SSL inspection — no openssl binary needed - Native
fetchwithAbortSignalfor HTTP checks (10s timeout) - Pure HTML/CSS/JS dashboard, dark theme, auto-refreshes every 30s
Usage
Head to /upmon, click + Add Site, paste a URL. That's it. The checker starts immediately. Add a webhook URL if you want alerts delivered somewhere (works with any HTTP endpoint — Slack incoming webhooks, Discord webhooks, custom handlers, etc.).
The history is pruned automatically after 30 days to keep the DB small.
Webhook payload format
{
"site_id": 1,
"site": "My Site",
"url": "https://example.com",
"event": "down",
"details": { "statusCode": null, "ms": 10243 }
}
Events: "down", "up", "cert_expiring" (includes daysLeft and issuer in details).
Simple, local, no lock-in. Try it →