logo
icon

kuma-extended

一个轻量、专注的 API 代理,将已发布的 Uptime Kuma 状态页转换为稳定、可缓存的 JSON API。

一个轻量、专注的 API 代理,将已发布的 Uptime Kuma 状态页转换为稳定、可缓存的 JSON API。

平台Zeabur
部署次数2
发布者authorsk5s
部署次数2
发布者sk5s
创建于2026-08-28
标签
APIMonitoringNetworking

模版内的服务

kuma-extended

一个轻量、专注的 API 代理,将已发布的 Uptime Kuma 状态页转换为稳定、可缓存的 JSON API,供 Web 与移动端调用。

kuma-extended 设计为与 Uptime Kuma 部署在同一内网中。它在 Kuma 公开的 /api/status-page/:slug 接口之上加了一层固定契约,提供 TTL 缓存、按 IP 速率限制、安全响应头,以及可选的 CORS 配置。

前置条件

本模板仅部署 kuma-extended 代理服务。你必须先有一个可被 kuma-extended 访问的 Uptime Kuma 实例

在 Zeabur 上,最简单的方式是在同一项目内再部署一个 Uptime Kuma 服务。两者之间可以通过内部主机名相互访问,例如 http://uptime-kuma.<container-hostname>.zeabur.internal:3001

配置

变量是否必填默认值说明
KUMA_BASE_URL上游 Uptime Kuma 实例的 URL
KUMA_STATUS_PAGE_SLUGdefault要代理的 Kuma 状态页 slug
ALLOWED_ORIGIN(空)CORS 来源;留空则停用 CORS
CACHE_TTL_SECONDS60Kuma 响应缓存 TTL(秒)
KUMA_TIMEOUT_MS10000调用 Kuma 时的超时时间(毫秒)
RATE_LIMIT_PER_MINUTE120每个 IP 令牌桶的补充速率
RATE_LIMIT_BURST20令牌桶容量(突发上限)

API

所有响应使用统一的信封结构:

{ "ok": true,  "data": { ... }, "meta": { ... } }
{ "ok": false, "error": { "code": "...", "message": "..." } }
  • GET /api/v1/status — 返回所配置状态页的故障与维护事件汇总。
  • GET /healthz — 代理存活状态与 Kuma 最近一次同步信息(不受速率限制)。

许可证

MIT — 详情见 GitHub 上的 kuma-extended