Larm
Zkrinet säger till när något händer med ditt projekt — till mejl, till en webhook eller båda. Ställ in under fliken Larm.
#Vad som larmar
| Händelse | När |
|---|---|
| Nere | Projektet har inte svarat på två kontroller i rad. Vi kontrollerar en gång i minuten och försöker starta om det automatiskt. |
| Uppe igen | Projektet svarar igen efter ett nere-larm. |
| Lagring | Lagringen når 80 % och 95 % av din kvot. Larmar en gång per nivå; sjunker du under 75 % kan det larma igen. |
| Deploy rullades tillbaka | En deploy från GitHub gick inte igenom och projektet återställdes. |
Ett pausat projekt larmar inte. Högst 20 larm per projekt och dygn (testlarm räknas inte) — så att ett projekt som går upp och ner inte fyller din inkorg.
Larm för misslyckad backup KOMMER tillsammans med backupen.
#Mejl
Larmen går till e-posten på ditt konto. Bocka ur Mejla mig larmen om du bara vill ha webhook.
#Webhook
Ange en https-adress — till exempel en Slack- eller Discord-webhook eller din egen server. Varje larm skickas som en POST med JSON:
{
"id": "…", // unikt per larm
"typ": "nere", // nere | uppe | lagring | deploy | test
"projekt": "min-app",
"adress": "https://min-app.zkrinet.com",
"text": "Projektet har inte svarat …",
"text_en": "The project has failed …",
"data": {},
"tid": "2026-11-08T10:15:00.000Z"
}
#Kontrollera signaturen
När du sparar en webhook får du en hemlighet (visas en gång). Varje anrop har två rubriker:
X-Zk-Tid— tidpunkten i sekunder (Unix-tid)X-Zk-Signatur—sha256=+ HMAC-SHA256 med hemligheten överX-Zk-Tid + "." + kroppen
Exempel i Node:
import crypto from "node:crypto"
function akta(req, kropp, hemlighet) {
const tid = req.headers["x-zk-tid"]
const forvantad = "sha256=" + crypto.createHmac("sha256", hemlighet).update(tid + "." + kropp).digest("hex")
const ok = crypto.timingSafeEqual(Buffer.from(forvantad), Buffer.from(req.headers["x-zk-signatur"] || ""))
const farsk = Math.abs(Date.now() / 1000 - Number(tid)) < 300 // avvisa gamla anrop
return ok && farsk
}
Använd kroppen exakt som den kom (rå text), inte omparsad JSON.
#Testa
Skicka testlarm skickar ett larm av typen test till mejl och webhook och visar resultatet. Historiken över de senaste larmen syns på samma flik.