Documentation
Canaux de notification
SSLTrackr peut vous notifier via plusieurs canaux lorsque vos certificats SSL sont sur le point d'expirer, ont expiré, ou lorsqu'un domaine devient inaccessible.
Chaque canal est un simple point de notification lié à votre compte. Les seuils d'alerte se configurent par domaine : sur la page détail de chaque domaine, vous abonnez des canaux et choisissez quels seuils déclenchent les notifications. Vous pouvez configurer plusieurs canaux du même type.
Envoie un email HTML via Brevo (SMTP) avec la sévérité de l'alerte, le hostname, la date d'expiration et le nombre de jours restants.
| Field | Example |
|---|---|
| Libellé | My email alerts |
| Adresse email | ops@example.com |
SMS
Envoie un SMS de 160 caractères via Brevo. Lors de l'abonnement d'un canal SMS à un domaine, seuls les seuils 3 jours, 1 jour et expiré (0) sont disponibles par défaut pour éviter des coûts excessifs.
Slack
Publie un message riche dans un canal Slack via Incoming Webhook, avec une barre de couleur selon la sévérité (bleu = info, orange = avertissement, rouge = critique).
Setup
- Allez sur https://api.slack.com/apps et cliquez sur Create New App
- Choisissez From scratch, nommez-la (ex : SSLTrackr) et sélectionnez votre workspace
- Dans le menu de gauche, cliquez sur Incoming Webhooks
- Activez Activate Incoming Webhooks sur On
- Cliquez sur Add New Webhook to Workspace
- Sélectionnez le canal où les alertes seront publiées (ex : #ssl-alerts) et cliquez sur Allow
- Copiez l'URL du Webhook et collez-la dans SSLTrackr
L'URL ressemble à : https://hooks.slack.com/services/T.../B.../xxxx
Webhook
Envoie une requête POST JSON signée vers n'importe quel endpoint HTTPS. Chaque requête est signée avec HMAC-SHA256 pour vérifier l'authenticité.
Le secret HMAC doit contenir au moins 16 caractères.
En-tête de signature
X-SSLTrackr-Signature: sha256=<hex-encoded HMAC-SHA256>Format du payload
Exemple de payload :
{
"alert_type": "ssl_expiry",
"hostname": "example.com",
"severity": "warning",
"title": "example.com — SSL certificate expires in 30 days",
"message": "The SSL certificate for example.com expires on 2026-03-21. 30 days remaining.",
"threshold_days": 30,
"triggered_at": "2026-02-19T12:00:00.000Z"
}Types d'alertes
| alert_type | threshold_days | Description |
|---|---|---|
ssl_expiry | 60, 30, 14, 7, 3, 1 | Le certificat expire dans N jours |
ssl_expired | 0 | Le certificat a expiré |
domain_unreachable | null | Domaine inaccessible depuis 3+ vérifications consécutives |
Niveaux de sévérité
| Severity | Condition |
|---|---|
info | Plus de 30 jours restants |
warning | 8 à 30 jours restants |
critical | 7 jours ou moins / expiré / inaccessible |
Vérification de la signature
La signature HMAC est calculée sur le corps JSON brut avec votre secret. Vérifiez toujours la signature avant de traiter le payload.
Node.js
const crypto = require("crypto");
app.post("/webhook", express.raw({ type: "application/json" }), (req, res) => {
const signature = req.headers["x-sslexpirealert-signature"];
const expected = "sha256=" + crypto
.createHmac("sha256", process.env.WEBHOOK_SECRET)
.update(req.body)
.digest("hex");
if (signature !== expected) return res.status(401).send("Invalid signature");
const payload = JSON.parse(req.body);
// Handle the alert...
res.status(200).send("OK");
});Python
import hmac, hashlib
def verify(body: bytes, secret: str, header: str) -> bool:
expected = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
return header == f"sha256={expected}"Notifications Push
Recevez des notifications natives directement sur votre navigateur ou appareil mobile. Les notifications push fonctionnent même lorsque l'application n'est pas ouverte.
Seuils d'alerte
Sur la page détail de chaque domaine, vous abonnez un canal et sélectionnez les seuils qui déclenchent les notifications. Chaque canal peut avoir des seuils différents par domaine. Une seule alerte est envoyée par seuil et par certificat.
- 60 jours — Avertissement précoce
- 30 jours — Renouvellement recommandé
- 14 jours — Renouvellement fortement recommandé
- 7 jours — Urgent, renouvellement nécessaire bientôt
- 3 jours — Critique, action immédiate requise
- 1 jour — Dernière chance avant expiration
- Expiré — Le certificat a déjà expiré
Déduplication
La même alerte ne sera pas envoyée deux fois pour le même seuil tant que le certificat n'est pas renouvelé (détecté via le changement de numéro de série).