{"id":51254967,"url":"https://github.com/danst0/kuma-plasmoid","last_synced_at":"2026-06-29T09:32:08.413Z","repository":{"id":358518711,"uuid":"1241707235","full_name":"danst0/kuma-plasmoid","owner":"danst0","description":"KDE Plasma 6 widget for Uptime Kuma — panel and desktop, with notifications and uptime badges","archived":false,"fork":false,"pushed_at":"2026-05-17T18:16:52.000Z","size":210,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T20:38:56.785Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"QML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danst0.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-17T18:06:25.000Z","updated_at":"2026-05-17T18:16:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/danst0/kuma-plasmoid","commit_stats":null,"previous_names":["danst0/kuma-plasmoid"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/danst0/kuma-plasmoid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danst0%2Fkuma-plasmoid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danst0%2Fkuma-plasmoid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danst0%2Fkuma-plasmoid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danst0%2Fkuma-plasmoid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danst0","download_url":"https://codeload.github.com/danst0/kuma-plasmoid/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danst0%2Fkuma-plasmoid/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34921804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-29T09:32:05.083Z","updated_at":"2026-06-29T09:32:08.391Z","avatar_url":"https://github.com/danst0.png","language":"QML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Uptime Kuma Plasmoid\n\n\u003cimg src=\"docs/screenshots/logo.png\" alt=\"Uptime Kuma Plasmoid logo\" width=\"96\" align=\"right\"\u003e\n\nKDE Plasma 6 widget that polls an [Uptime Kuma](https://github.com/louislam/uptime-kuma)\ninstance and shows monitor status in the panel and as a desktop widget.\n\nSister project of the GNOME Shell extension\n[`uptime-kuma-indicator`](https://extensions.gnome.org/extension/8710/uptime-kuma-indicator/).\n\n## Features\n\n- **Panel + desktop** — same plasmoid, two form factors. Panel shows a status\n  dot with optional summary text and a tooltip listing the down/degraded\n  monitors. Desktop widget renders the full list inline.\n- **Three fetch modes** — public status page (`status/\u003cslug\u003e/status.json`),\n  private API (Bearer token), or Prometheus metrics with Basic auth.\n- **API key in the keyring** — token stored via `secret-tool`, works with both\n  KWallet and GNOME Keyring.\n- **Notifications** — `notify-send` on every outage / degradation, optional\n  recovery notifications. First refresh seeds without firing, and a\n  clock-skew-based wake-up detection silences the diff after suspend so you\n  don't get a flood of stale alerts.\n- **24h uptime badges** per monitor, fetched from `/api/badge/\u003cid\u003e/uptime/24h`\n  and color-coded (green ≥99.5 %, yellow ≥95 %, red below).\n- **Demo mode** for screenshot-friendly mock monitors without touching a\n  server.\n- **i18n** — English and German strings shipped, gettext-based.\n\n## Install (binary)\n\nEither:\n\n- KDE Store: search „Uptime Kuma\" in *Get New Widgets…* and install with one\n  click (once the store entry is approved).\n- Manual: grab `kuma-plasmoid.plasmoid` from the [Releases page](https://github.com/danst0/kuma-plasmoid/releases),\n  then right-click on the desktop → *Add Widgets…* → *Get New Widgets…* →\n  *Install Widget from Local File* and pick the `.plasmoid`. Or:\n\n  ```fish\n  kpackagetool6 --type Plasma/Applet --install kuma-plasmoid.plasmoid\n  ```\n\n## Install (from source)\n\n```fish\ngit clone https://github.com/danst0/kuma-plasmoid \u0026\u0026 cd kuma-plasmoid\nmake install            # kpackagetool6 --install + msgfmt for translations\nmake preview-panel      # plasmoidviewer in horizontal form factor\nmake preview-desktop    # plasmoidviewer in planar form factor\nmake upgrade            # after edits\nmake pack               # produces kuma-plasmoid.plasmoid\nmake lint               # qmllint on all QML (optional)\n```\n\nRequirements: `kpackagetool6`, `plasmoidviewer`, `gettext` (xgettext + msgfmt),\noptionally `qmllint`. On Fedora: `sudo dnf install plasma-sdk`.\n\n## Configuration\n\nRight-click the widget → *Configure Uptime Kuma…*. Three tabs:\n\n- **Connection** — base URL, fetch mode, slug/endpoint overrides, API key.\n- **Appearance** — Normal vs. Compact panel layout, summary text, latency,\n  uptime badges, service filter.\n- **Notifications** — toggle outage + recovery alerts.\n\nThe API key field is masked; clicking *Save key* shells out to `secret-tool`,\nwhich stores the token under `service=me.dumke.kuma key=apikey` in the\nsession keyring. Multiple plasmoid instances share the same key automatically.\n\n### Fetch modes\n\n| Mode | URL | Auth | Notes |\n|---|---|---|---|\n| Public status page | `${baseUrl}/status/${slug}/status.json` | none | Slug must exist as a published status page in Kuma. |\n| Private API (token) | `${baseUrl}/${apiEndpoint}` (default `api/monitor`) | `Authorization: \u003ctoken\u003e` | Requires a Kuma fork/extension that exposes a JSON monitor list — vanilla Uptime Kuma has no such REST endpoint. |\n| Prometheus metrics | `${baseUrl}/metrics` | Basic auth, user empty, password = token | Works with vanilla Uptime Kuma. The most reliable mode for private setups. |\n\n## Logging\n\nLogs are tagged `[kuma]` and end up in plasmashell's journal:\n\n```fish\njournalctl --user -f -t plasmashell | grep -i kuma\n```\n\nVerbosity is configurable in the Connection tab (`Error` / `Info` / `Debug`).\nFor raw QML/JS errors during development:\n\n```fish\nQT_LOGGING_RULES='*.debug=true' plasmoidviewer -a me.dumke.kuma\n```\n\n## License\n\nGPL-3.0-or-later. Parser code in `contents/code/parsers.js` is a near-verbatim\ncopy from the GNOME variant — see file header for the source commit. Network\ncode is original Plasma-side work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanst0%2Fkuma-plasmoid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanst0%2Fkuma-plasmoid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanst0%2Fkuma-plasmoid/lists"}