Paste the URL of any Uptime Kuma public status page — yours or someone else's. This chart fetches it straight from your browser; nothing is stored or relayed by this site.
The instance you're pasting has to answer with an
Access-Control-Allow-Origin header on its status-page
JSON — that's the browser's own cross-origin rule, not something
this site controls. Most Uptime Kuma installs don't send it by
default, since a status page is normally viewed at its own
address, not embedded from another site. If the chart says
"signal lost" for a URL you know is live, this is almost always
why.
Fix: front that instance with a small relay that adds the header, then paste this site's URL through the relay's port instead of Kuma's own port. A minimal one:
// cors-relay.mjs — put this in front of your Kuma instance
import { createServer } from "node:http";
const UP = "http://localhost:3001"; // your Kuma
createServer(async (req, res) => {
const r = await fetch(UP + req.url, { headers: req.headers });
const h = Object.fromEntries(r.headers);
h["access-control-allow-origin"] = "*";
res.writeHead(r.status, h);
res.end(Buffer.from(await r.arrayBuffer()));
}).listen(8080);
Run it with node cors-relay.mjs, then paste
http://your-host:8080/status/<slug> above
instead of Kuma's own address.
npx terrain-scout ·
data-terrain-showcase.vercel.app