Compare commits

..

124 Commits

Author SHA1 Message Date
Alexandre
2afef8cf05 fix(claude_desktop): preserve backend logging 2026-08-02 17:58:22 +02:00
Alexandre
b59beb2aad fix(claude_desktop): keep Headroom logs in addon output 2026-08-02 17:57:47 +02:00
Alexandre
4f5d0fa6b6 fix(claude_desktop): fail open on Headroom API changes 2026-08-02 17:57:33 +02:00
github-actions[bot]
2497729f14 docs(claude_desktop): document memory reduction 2026-08-02 15:55:56 +00:00
Alexandre
57aac487c5 ci: prepare Claude Desktop changelog entry 2026-08-02 17:55:41 +02:00
Alexandre
0664e00ad1 fix(claude_desktop): expire stale keepalive sessions 2026-08-02 17:53:40 +02:00
Alexandre
307e2687f2 fix(claude_desktop): resolve persistent bashrc explicitly 2026-08-02 17:52:02 +02:00
Alexandre
c7583ac4ce fix(claude_desktop): avoid recursive cache chown 2026-08-02 17:51:49 +02:00
Alexandre
519fc02b60 fix(claude_desktop): remove RAM-backed tmpfs 2026-08-02 17:50:47 +02:00
Alexandre
4084a57b6f fix(claude_desktop): start Headroom backend on demand 2026-08-02 17:50:28 +02:00
Alexandre
504d86fa50 fix(claude_desktop): move application cache off tmpfs 2026-08-02 17:50:16 +02:00
Alexandre
0ce79bf3ec fix(claude_desktop): route Headroom MCP through adapter 2026-08-02 17:50:04 +02:00
Alexandre
e464608155 fix(claude_desktop): delegate MCP compression 2026-08-02 17:49:54 +02:00
Alexandre
800e4a9d89 fix(claude_desktop): lazy-load Headroom proxy 2026-08-02 17:49:37 +02:00
alexbelgium
d9e6213c1a Updater bot : prowlarr updated to 2.6.2.5517.9 (upstream nightly-2.6.2.5517-ls9) 2026-08-02 15:05:41 +02:00
GitHub Actions
17ba56100a Revert "Updater bot : ente updated to 4.4.24 (upstream 1.7.27)"
This reverts commit 41f01bf1c5.
2026-08-02 13:05:28 +00:00
alexbelgium
b01196b768 Updater bot : jackett updated to 0.24.2315 (upstream 0.24.2315) 2026-08-02 15:04:20 +02:00
alexbelgium
41f01bf1c5 Updater bot : ente updated to 4.4.24 (upstream 1.7.27) 2026-08-02 15:03:18 +02:00
GitHub Actions
81c93687c3 Revert "Updater bot : binance-trading-bot updated to 1.0.0 (upstream 1.0.0)"
This reverts commit cd2b6ec707.
2026-08-02 13:03:04 +00:00
alexbelgium
cd2b6ec707 Updater bot : binance-trading-bot updated to 1.0.0 (upstream 1.0.0) 2026-08-02 15:01:08 +02:00
GitHub Actions
4101033a09 Revert "Fix binance-trading-bot 1.0.0 build"
This reverts commit 4a1904852a.
2026-08-02 04:54:51 +00:00
Alexandre
4a1904852a Fix binance-trading-bot 1.0.0 build
Restore the reverted 1.0.0 update after explicitly switching to root for package installation and S6-managed services.
2026-08-02 06:52:44 +02:00
alexbelgium
efe3512970 Updater bot : zzz_archived_paperless_ngx updated to 3.0.5 (upstream 3.0.5) 2026-08-02 06:52:03 +02:00
Alexandre
b1b472782c Fix binance-trading-bot build permissions 2026-08-02 06:50:37 +02:00
GitHub Actions
31c0b32c6c Revert "Updater bot : ente updated to 4.4.24 (upstream 1.7.27)"
This reverts commit 2b230c4aa1.
2026-08-02 04:49:19 +00:00
alexbelgium
76a0ac6253 Updater bot : maintainerr updated to 3.21.1 (upstream 3.21.1) 2026-08-02 06:48:46 +02:00
alexbelgium
2b230c4aa1 Updater bot : ente updated to 4.4.24 (upstream 1.7.27) 2026-08-02 06:47:23 +02:00
GitHub Actions
910662db46 Revert "Updater bot : binance-trading-bot updated to 1.0.0 (upstream 1.0.0)"
This reverts commit c100e8bfe8.
2026-08-02 04:47:12 +00:00
alexbelgium
8cbcba64a6 Updater bot : codex updated to 2.2.5 (upstream 2.2.5) 2026-08-02 06:47:01 +02:00
alexbelgium
c100e8bfe8 Updater bot : binance-trading-bot updated to 1.0.0 (upstream 1.0.0) 2026-08-02 06:45:16 +02:00
github-actions[bot]
193ff5cca4 Update stargazer map & cache 2026-08-02 01:23:41 +00:00
alexbelgium
0050e67bca Updater bot : scrutiny_fa updated to v1.68.0 (upstream v1.68.0) 2026-08-01 18:59:33 +02:00
alexbelgium
0f742d23d0 Updater bot : scrutiny updated to v1.68.0 (upstream v1.68.0) 2026-08-01 18:59:29 +02:00
GitHub Actions
22151348a6 Revert "Updater bot : ente updated to 4.4.24 (upstream 1.7.27)"
This reverts commit 4b7943fb84.
2026-08-01 16:58:46 +00:00
alexbelgium
1920ecbb54 Updater bot : maintainerr updated to 3.21.0 (upstream 3.21.0) 2026-08-01 18:58:12 +02:00
alexbelgium
2606fd65dc Updater bot : jackett updated to 0.24.2307 (upstream 0.24.2307) 2026-08-01 18:57:47 +02:00
alexbelgium
b677f35864 Updater bot : epicgamesfree updated to 2026.08.01 (upstream debian-2026-08-01) 2026-08-01 18:56:48 +02:00
alexbelgium
4b7943fb84 Updater bot : ente updated to 4.4.24 (upstream 1.7.27) 2026-08-01 18:56:45 +02:00
GitHub Actions
548258cb86 Revert "Updater bot : binance-trading-bot updated to 1.0.0 (upstream 1.0.0)"
This reverts commit d17c5c0a34.
2026-08-01 16:56:38 +00:00
alexbelgium
5a2b6fec25 Updater bot : browser_chromium updated to 2026.08.01.1 (upstream version-e2e1ec9c) 2026-08-01 18:55:40 +02:00
alexbelgium
9d50d04910 Updater bot : browser_brave updated to 1.93.129-ls119 (upstream 1.93.129-ls119) 2026-08-01 18:55:29 +02:00
alexbelgium
d17c5c0a34 Updater bot : binance-trading-bot updated to 1.0.0 (upstream 1.0.0) 2026-08-01 18:54:35 +02:00
Alexandre
74121509cd fix: give every addon a version Home Assistant can order (#2926)
Seventeen addons carried a config.yaml version that awesomeversion, the
library Home Assistant orders versions with, reports as UNKNOWN: text
tags such as version-bf9e0b4f or sts, LinuxServer tags such as
v26.2-ls256, and local counters written as a semver pre-release such as
15.7-47. Home Assistant cannot tell which of two such versions is newer,
so update detection depends on a compare exception rather than on
ordering, and any version that becomes partially comparable silently
stops being offered.

Each version keeps every number it carried, as a section of its own:
v26.2-ls256 becomes v26.2.256, 4.16-r0-ls95-7 becomes 4.16.0.95.7 and
5.0.0b5-3 becomes 5.0.0.5.3, so nothing that ordered the addon is lost
and no previously published version is reused. The two versions holding
no number at all use the date instead. Only config.yaml and CHANGELOG.md
change, so every addon still builds from the upstream tag recorded in
its Dockerfile and updater.json.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 18:51:31 +02:00
Alexandre
a989e7fbdc feat(addons_updater): write Home Assistant compliant addon versions (#2925)
* feat(addons_updater): write Home Assistant compliant addon versions

The updater copied the raw upstream tag into config.yaml. Home Assistant
orders addon versions with awesomeversion and hides the update when it can
compare both versions and the new one is not strictly newer, so tags such
as 1.2.3-2, 1.2.3+4 or 1.2.3-2026-08-01 silently stopped the update from
being offered, and tags such as version-bf9e0b4f or ubuntu-2026-06-01
cannot be ordered at all.

The addon version is now derived from the upstream tag by ha_version.py,
using the same library Home Assistant uses: a sortable and newer tag is
kept as it is, 1.2.3-4 and 1.2.3+4 become 1.2.3.4, otherwise the release
number inside the tag, an incremented addon number or the date is used.
updater.json keeps the raw upstream tag, so the same upstream release is
never published twice.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(addons_updater): address review comments

- calendar versions carrying a counter now advance to the current date
  instead of only incrementing the counter
- --selftest runs against a fixed date, so it keeps passing after today
- config.json is written from a validated jq result, as updater.json is
- README states the raw tag is added to the changelog only when it
  differs from the addon version
- docstring, comment and changelog formatting

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* feat(addons_updater): turn pre-release markers into a version section

"5.0.0b5" is published as "5.0.0.5" so the beta number keeps ordering
the addon instead of relying on how awesomeversion reads the marker.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* feat(addons_updater): keep every number of an unorderable tag

"v26.2-ls256" is published as "v26.2.256", "nightly-2.6.1.5509-ls8" as
"2.6.1.5509.8" and "4.16-r0-ls94" as "4.16.0.94", so the build number
keeps ordering the addon instead of being dropped. Words holding no
number, architectures and commit hashes are left out, and a section
ending on a year is counted up rather than incremented.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* style(addons_updater): keep the helper docstrings on one line

Codacy runs pydocstyle with D213, which the multi-line summary added
with the numbers rule trips.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(addons_updater): leave out more arch words and unreal dates

"i686" and friends were read as the number 686, and "2026.02.31" was
taken for a calendar version. Both now fall back to the plain number
rules.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 18:51:14 +02:00
Alexandre
857d4d2984 fix(templates): use exact ntfs-3g package name instead of glob on apt (#2927)
The "mount" auto-detection in ha_automatic_packages.sh appended the
glob "ntfs*" to the apt install list. On Debian trixie-based images
(e.g. ghcr.io/starosdev/scrutiny:latest-omnibus, used by scrutiny and
scrutiny_fa) this glob fails to resolve even though the real package
ntfs-3g exists, breaking the Docker build. Use the exact package name
instead, matching the apk branch just above it.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-01 18:41:05 +02:00
GitHub Actions
c042e2cb5c Revert "Updater bot : scrutiny_fa updated to v1.68.0"
This reverts commit 5dc1a5179b.
2026-08-01 05:58:47 +00:00
GitHub Actions
23017d1b28 Revert "Updater bot : scrutiny updated to v1.68.0"
This reverts commit 287fb820b7.
2026-08-01 05:58:40 +00:00
GitHub Actions
ab3cc64bb4 Revert "Updater bot : browser_chromium updated to version-e2e1ec9c"
This reverts commit c9c5d694a6.
2026-08-01 05:58:17 +00:00
alexbelgium
5dc1a5179b Updater bot : scrutiny_fa updated to v1.68.0 2026-08-01 07:56:13 +02:00
alexbelgium
287fb820b7 Updater bot : scrutiny updated to v1.68.0 2026-08-01 07:56:09 +02:00
GitHub Actions
8350db333a Revert "Updater bot : browser_brave updated to 1.93.129-ls119"
This reverts commit 47604a3ede.
2026-08-01 05:55:29 +00:00
GitHub Actions
3f6b174218 Revert "Updater bot : ente updated to 1.7.27"
This reverts commit 18e25f5b70.
2026-08-01 05:55:19 +00:00
alexbelgium
18e25f5b70 Updater bot : ente updated to 1.7.27 2026-08-01 07:53:23 +02:00
alexbelgium
7a7c1e2d63 Updater bot : emby_beta updated to 4.10.0.22 2026-08-01 07:53:12 +02:00
GitHub Actions
b2eee03e9c Revert "Updater bot : binance-trading-bot updated to 1.0.0"
This reverts commit 5215bc7b7b.
2026-08-01 05:52:58 +00:00
alexbelgium
5fe3d6e1d8 Updater bot : claude_desktop updated to ubunturesolute-version-3a10bef7 2026-08-01 07:52:50 +02:00
alexbelgium
c9c5d694a6 Updater bot : browser_chromium updated to version-e2e1ec9c 2026-08-01 07:52:15 +02:00
alexbelgium
47604a3ede Updater bot : browser_brave updated to 1.93.129-ls119 2026-08-01 07:52:04 +02:00
alexbelgium
5215bc7b7b Updater bot : binance-trading-bot updated to 1.0.0 2026-08-01 07:51:10 +02:00
alexbelgium
2ecb7146ff Updater bot : aurral updated to 2.0.3 2026-08-01 07:50:54 +02:00
GitHub Actions
9e4cc10589 Revert "Updater bot : scrutiny_fa updated to v1.68.0"
This reverts commit 6cd2da1fad.
2026-07-31 23:42:59 +00:00
GitHub Actions
ed00161f2c Revert "Updater bot : scrutiny updated to v1.68.0"
This reverts commit 4419a12380.
2026-07-31 23:42:52 +00:00
GitHub Actions
98cb041866 Revert "Updater bot : ente updated to 1.7.27"
This reverts commit af51a486c5.
2026-07-31 23:36:28 +00:00
GitHub Actions
63533b4122 Revert "Updater bot : browser_brave updated to 1.93.129-ls119"
This reverts commit 30b2e4eb3d.
2026-07-31 23:34:12 +00:00
alexbelgium
dd3e1f373f Updater bot : zzz_archived_paperless_ngx updated to 3.0.4 2026-08-01 01:33:38 +02:00
alexbelgium
404799a215 Updater bot : zzz_archived_jellyseerr updated to v3.4.1 2026-08-01 01:33:29 +02:00
alexbelgium
a57e0e511a Updater bot : zzz_archived_code-server updated to 4.131.0 2026-08-01 01:33:24 +02:00
alexbelgium
d273eb47dc Updater bot : webtop_kde updated to 4.16-r0-ls94 2026-08-01 01:33:00 +02:00
GitHub Actions
b3c4e46dd7 Revert "Updater bot : browser_chromium updated to version-e2e1ec9c"
This reverts commit 31c8ef9a94.
2026-07-31 23:32:49 +00:00
alexbelgium
759ecfebd2 Updater bot : transmission_openvpn updated to v5.4.2 2026-08-01 01:32:07 +02:00
alexbelgium
5c784fff45 Updater bot : sonarr updated to 4.0.19.2995 2026-08-01 01:31:47 +02:00
alexbelgium
25d8e3767d Updater bot : seerr updated to 3.4.1 2026-08-01 01:31:36 +02:00
alexbelgium
6cd2da1fad Updater bot : scrutiny_fa updated to v1.68.0 2026-08-01 01:31:23 +02:00
alexbelgium
4419a12380 Updater bot : scrutiny updated to v1.68.0 2026-08-01 01:31:19 +02:00
alexbelgium
e37e3b3e2d Updater bot : prowlarr updated to nightly-2.6.1.5509-ls8 2026-08-01 01:30:54 +02:00
alexbelgium
9f592e58e4 Updater bot : portainer_be updated to sts 2026-08-01 01:30:48 +02:00
alexbelgium
28cb4c0ffb Updater bot : portainer updated to 2.44.0 2026-08-01 01:30:44 +02:00
alexbelgium
1ca2bc8e52 Updater bot : plex updated to 1.43.3.10828-00f62d37d-ls316 2026-08-01 01:30:39 +02:00
alexbelgium
0e1f27bbfa Updater bot : photoprism updated to ubuntu-2026-07-28 2026-08-01 01:30:32 +02:00
alexbelgium
3a1baaabfa Updater bot : nzbget updated to v26.2-ls256 2026-08-01 01:30:21 +02:00
alexbelgium
976603c2a6 Updater bot : mealie updated to v3.22.0 2026-08-01 01:29:55 +02:00
alexbelgium
9d003935c0 Updater bot : manyfold updated to 0.147.1 2026-08-01 01:29:50 +02:00
alexbelgium
d7c9567e6c Updater bot : maintainerr updated to 3.20.1 2026-08-01 01:29:46 +02:00
alexbelgium
78cf88e436 Updater bot : linkwarden updated to 2.16.0 2026-08-01 01:29:41 +02:00
alexbelgium
b32e38109b Updater bot : kometa updated to 2.4.6 2026-08-01 01:29:30 +02:00
alexbelgium
b1b5782247 Updater bot : jackett updated to 0.24.2304 2026-08-01 01:29:17 +02:00
alexbelgium
b5e440b579 Updater bot : immich_openvino updated to 3.1.0 2026-08-01 01:29:08 +02:00
alexbelgium
1b041afe37 Updater bot : immich_noml updated to 3.1.0 2026-08-01 01:29:03 +02:00
alexbelgium
805687ad2c Updater bot : immich_cuda updated to 3.1.0 2026-08-01 01:28:55 +02:00
alexbelgium
c7ca9b92df Updater bot : immich updated to 3.1.0 2026-08-01 01:28:50 +02:00
alexbelgium
e48702b30a Updater bot : grav updated to 2.0.14 2026-08-01 01:28:42 +02:00
alexbelgium
d9e62d7d5e Updater bot : grampsweb updated to 26.7.1 2026-08-01 01:28:38 +02:00
alexbelgium
940a75f17d Updater bot : gitea updated to 1.27.1 2026-08-01 01:28:33 +02:00
alexbelgium
d858f6c09b Updater bot : flexget updated to 3.19.31 2026-08-01 01:28:24 +02:00
alexbelgium
4dc694e4a0 Updater bot : filebrowser updated to 2.63.23 2026-08-01 01:28:07 +02:00
alexbelgium
ce58551af8 Updater bot : epicgamesfree updated to debian-2026-07-27 2026-08-01 01:28:02 +02:00
alexbelgium
af51a486c5 Updater bot : ente updated to 1.7.27 2026-08-01 01:27:59 +02:00
alexbelgium
fb6a85bf09 Updater bot : emby_beta updated to 4.10.0.21 2026-08-01 01:27:47 +02:00
GitHub Actions
d5c20b72d7 Revert "Updater bot : binance-trading-bot updated to 1.0.0"
This reverts commit 0b8ce41fce.
2026-07-31 23:27:40 +00:00
alexbelgium
72f40bb069 Updater bot : codex updated to 2.2.4 2026-08-01 01:27:34 +02:00
alexbelgium
59b700e713 Updater bot : cleanuparr updated to 2.10.2 2026-08-01 01:27:26 +02:00
alexbelgium
c87443054e Updater bot : claude_desktop updated to kali-version-e963b19b 2026-08-01 01:27:22 +02:00
alexbelgium
185e5d6016 Updater bot : calibre updated to 9.12.0 2026-08-01 01:26:50 +02:00
alexbelgium
fedb38d333 Updater bot : browserless_chrome updated to 2.55.2 2026-08-01 01:26:45 +02:00
alexbelgium
31c8ef9a94 Updater bot : browser_chromium updated to version-e2e1ec9c 2026-08-01 01:26:41 +02:00
alexbelgium
30b2e4eb3d Updater bot : browser_brave updated to 1.93.129-ls119 2026-08-01 01:26:29 +02:00
alexbelgium
f28ceb5cd4 Updater bot : bitwarden updated to 1.37.1 2026-08-01 01:25:47 +02:00
alexbelgium
a4273620ec Updater bot : birdnet-pipy updated to 0.8.5 2026-08-01 01:25:41 +02:00
alexbelgium
0b8ce41fce Updater bot : binance-trading-bot updated to 1.0.0 2026-08-01 01:25:30 +02:00
alexbelgium
3933291a53 Updater bot : autobrr updated to 1.83.0 2026-08-01 01:25:18 +02:00
alexbelgium
7c356e7305 Updater bot : aurral updated to 2.0.2 2026-08-01 01:25:13 +02:00
github-actions
e54e4656e8 GitHub bot : README updated 2026-07-31 17:31:11 +00:00
github-actions
486d25b655 GitHub bot : graphs updated 2026-07-31 12:45:48 +00:00
github-actions
c7c7d17eb5 Github bot : stats updated 2026-07-31 12:44:56 +00:00
github-actions
7575df1e94 GitHub bot: changelog [nobuild] 2026-07-29 13:13:26 +00:00
Alexandre
4c4c4360a7 fix(birdnet-go-dev): rebuild without broken PR 36 (#2923)
Exclude the compile-breaking Species Manage PR from dynamic source merging by keeping it in draft, and retrigger the birdnet-go-dev build as source-20260729.1.
2026-07-29 15:06:45 +02:00
GitHub Actions
5c44b2e94b Revert "Update config.yaml"
This reverts commit 3005790933.
2026-07-29 12:36:11 +00:00
Alexandre
3005790933 Update config.yaml 2026-07-29 14:30:37 +02:00
github-actions
4749911994 GitHub bot : README updated 2026-07-28 17:30:51 +00:00
github-actions
6ea3ef774d GitHub bot: sanitize (spaces + LF endings) & chmod [nobuild] 2026-07-28 15:07:44 +00:00
Alexandre
da50d9b178 fix(claude_desktop): persist sign-in by opting into Electron safeStorage (#2922)
* fix(claude_desktop): persist sign-in by opting into Electron safeStorage

Claude Desktop asked the user to sign in again on every start. The v1.35 fix
was inert: --password-store=basic did reach the process (confirmed on a live
install's /proc/<pid>/cmdline), but the app still logged "safeStorage not
available, tokens will not persist" on every launch.

Electron refuses its built-in basic_text backend unless the application calls
safeStorage.setUsePlainTextEncryption(true) before the ready event, and Claude
Desktop never calls it - the symbol is present in the shipped Electron binary
but absent from resources/app.asar. So isEncryptionAvailable() stayed false and
the auth token was never persisted. Verified against a standalone Electron of
the same generation: without the opt-in it is false; with it, true, and a
separate later process decrypts a blob written by an earlier one.

There is no equivalent command-line switch, and NODE_OPTIONS=--require is
ignored by packaged Electron apps (verified against the real binary), so the
opt-in is injected into the app's main bundle inside app.asar. gnome-keyring
stays out of the image: its first-boot password prompt blocks the app from
launching at all.

The patcher fails closed, rebuilds the archive preserving unpacked/symlink
entries, recomputes the changed entry's SHA-256 integrity record, and fully
re-validates the result from disk before renaming it into place. It re-runs on
every boot after 81-claude_update.sh, since an apt upgrade ships a fresh
unpatched app.asar, and is marker-guarded so an unchanged app is a no-op.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(claude_desktop): harden the safeStorage hook against review findings

- Sweep stale .app.asar.addon-tmp.* from the shell hook. `timeout` kills the
  patcher outright, so a run that hits the 120s cap never executes its own
  cleanup; the live archive stays unpatched, so every later boot would retry
  under a new pid and strand another archive-sized file.
- End the hook with an explicit `exit 0`. The logging `while` loop's status
  became the script's status, so an empty last line could exit non-zero and
  fail cont-init - the opposite of the documented "never block startup".

Both raised in review on #2922.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 17:06:44 +02:00
Alexandre
dc1044e453 fix(webtop,webtop_kde,claude_desktop): give Selkies XDG_RUNTIME_DIR and the right websocket port (#2921)
* fix(webtop,webtop_kde,claude_desktop): give Selkies XDG_RUNTIME_DIR and the right WS port

Selkies panics with `RuntimeDirNotSet` right after its data websocket server
comes up, and binds that server on 8081 while nginx proxies 8082.

Upstream relies on s6-rc ordering: init-selkies-config publishes
XDG_RUNTIME_DIR and CUSTOM_WS_PORT into the s6 envdir, and svc-selkies is
started afterwards. ha_entrypoint.sh replaces s6-overlay and launches every
s6-rc.d run script in parallel with no dependency graph, so a longrun can
snapshot the envdir (with-contenv reads it once, at exec) before the oneshot
has written to it. Port 8081 in the report is the proof: that is selkies' own
default, not the 8082 init-selkies-config writes near the end of its run.

Only the webtop images carry PIXELFLUX_WAYLAND=true, which is why the missing
runtime dir reaches a Wayland socket bind there and not on claude_desktop.

20-folders.sh now exports both variables inside each run script, where no
start ordering can lose them, and 90-ingress.sh derives the nginx CWS
substitution from the same value.

Also correct the base image's $HOME/.XDG override where that write happens
rather than appending a correction to init-selkies-config: the oneshot
tolerance block appends `exit 0`, so on every boot after the first the
appended correction sat past it and never ran.

81-microsoft_edge.sh (webtop only), addressing the open review comments on
PR #2920:
- apt-get/dpkg failures no longer abort cont-init; each is guarded, warns and
  exits 0, and apt acquisition is bounded so a stalled mirror cannot hang
  start-up
- quote ${EDGE_VERSION+x}
- gate the wrapper swap on /helpers/microsoft-edge-stable still existing, so a
  second run cannot move the installed wrapper aside with nothing to replace it

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(claude_desktop): inject the run-script exports after the data_location rewrite

Two findings from an independent review of the previous commit.

The `s|$DEFAULT_LOCATION|$LOCATION|g` pass over the s6-rc.d run scripts is a
blind textual substitution, and it ran after the export injection. A
data_location *under* the image default -- /config/data_kde/foo on an image
whose default is /config/data_kde -- therefore rewrote the freshly injected
`export HOME=/config/data_kde/foo` into `.../foo/foo`. Injecting after the
rewrite instead of before removes the double substitution.

Quote the injected values so a location containing whitespace cannot produce a
broken run script. XDG_CACHE_HOME stays unquoted: the loop greps for it as its
idempotence marker.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(webtop,webtop_kde,claude_desktop): address review feedback on the Selkies env fix

Refresh the injected run-script exports on every boot (codex, coderabbit).
They were guarded by the XDG_CACHE_HOME sentinel, so they were written once and
then survived in the writable layer. Raising PUID left every service exporting a
/run/user/<old-uid> the remapped abc user cannot use, and clearing a custom
CUSTOM_WS_PORT left Selkies on the old port while 90-ingress.sh moved nginx back
to 8082 -- with the envdir written at the same boot disagreeing with both. The
exports now sit in a marked managed block that is stripped and rewritten each
boot, mirroring how the ~/.bashrc block in the same script already works. The
sweep also removes the bare exports earlier versions wrote, so an upgraded
container cannot end up with two sets. No upstream run script in these images
sets any of the five, so it only ever removes our own.

Validate CUSTOM_WS_PORT once, where it enters (coderabbit). It is interpolated
into generated shell and into a sed replacement, so a non-numeric or
out-of-range value could corrupt a run script or the nginx config. 90-ingress.sh
repeats the check rather than trusting the envdir, so a malformed value cannot
reach the nginx config if 20-folders.sh did not get that far.

Download Edge to an mktemp path instead of a fixed /tmp/edge.deb (coderabbit).
This runs as root against a world-writable tmpfs, where a predictable name can
be pre-created as a symlink to redirect the download or swap what is installed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 17:05:07 +02:00
Alexandre
bfe91cbeac refactor(webtop,webtop_kde,claude_desktop): share the Selkies startup scripts (#2920)
* refactor(webtop,webtop_kde,claude_desktop): share the Selkies startup scripts

All three add-ons are built on the LinuxServer Selkies base image and had
independently drifted copies of the same startup scripts. claude_desktop's
copies carry a set of fixes the two webtops never received, so make
claude_desktop the single source and symlink the shared scripts from
webtop_kde/rootfs (which webtop/rootfs already symlinks in full).

Shared by symlink: 20-folders.sh, 21-gpu_permissions.sh, 80-configuration.sh,
90-ingress.sh and the six etc/nginx/includes files.

Kept add-on specific: everything Claude-only stays in claude_desktop
(81/82/83/84 tool installs, 85-openbox_autostart.sh, defaults/, usr/local/bin,
svc-headroom), and everything webtop-only stays in webtop_kde (90-ssl.sh,
helpers/microsoft-edge-stable, and the new 81-microsoft_edge.sh).

To make the shared scripts add-on agnostic:
- 20-folders.sh derives its default data location from the home directory the
  Dockerfile baked into the abc user instead of hardcoding /data/data. That
  yields /data/data on claude_desktop and /config/data_kde on both webtops,
  matching each add-on's previous behaviour exactly.
- The permission_mode: bypass root guard is skipped on add-ons that do not
  declare that option.
- 80-configuration.sh falls back to pip when the image does not ship uv.
- The Microsoft Edge install moves out of 80-configuration.sh into a
  webtop-only 81-microsoft_edge.sh, which also absorbs the ownership fixup
  that used to run in 20-folders.sh before Edge was installed and so never
  matched anything.

CI: the builder's symlink-resolution step made a single pass over a
pre-computed file list, so resolving webtop/rootfs (a directory symlink)
could copy the symlinks inside it verbatim, leaving links that escape the
webtop build context. Verified on this tree: the old loop leaves 10 dangling
symlinks under webtop/. Extract it to .github/scripts/resolve_symlinks.sh,
repeat until a pass finds nothing, and run it in the PR check too, which had
no resolution step at all.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix: guard two startup aborts found in review

Both are crash paths in code added by this PR, not hardening:

- 20-folders.sh: getent exits 2 when the user does not exist, and under
  bashio's `set -o pipefail` plus the script's `set -e` that aborts at the
  assignment, so the "could not read abc's home" fallback below it was
  unreachable. Same trap already documented in 21-gpu_permissions.sh.
  Verified: without the guard the shell exits 2; with it the fallback runs.

- 81-microsoft_edge.sh: the ownership fixup lost the `-f` guard the original
  had in 20-folders.sh. Without nullglob an unmatched /usr/bin/microsoft-edge*
  reaches chown as a literal and `set -e` kills container startup. Now a
  nullglob array with a warning when empty.

Also make resolve_symlinks.sh fail on a broken symlink instead of deleting it.
Dropping it silently yields an image that builds clean and misbehaves at
runtime; a red build is easier to diagnose. Verified both paths: the repo as-is
resolves to 0 symlinks and exit 0, and an injected broken link exits 1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix: address review comments on data-location default and Edge downloads

Two findings from CodeRabbit, both correctness rather than hardening:

- 20-folders.sh rewrites abc's home in /etc/passwd further down, so re-reading
  it on the next boot returned the *previously selected* location as the image
  default. On a restart that reuses the container's writable layer, clearing
  data_location would strand the user on their old custom path instead of
  restoring the built-in one. Cache the value in /etc/.addon_image_home, which
  shares the writable layer's lifetime with the edit it compensates for: a
  rebuilt or recreated container starts from a pristine /etc/passwd and
  regenerates it. Simulated all three cases (first boot, reused container with
  a rewritten passwd, recreated container) under `set -e` + `set -o pipefail`.

- 81-microsoft_edge.sh: both curl calls were unbounded, so a stalled
  packages.microsoft.com would hang cont-init.d and with it the whole add-on.
  Add --fail/--connect-timeout/--max-time and skip the install with a logged
  error when version discovery or the download fails. The desktop is useful
  without Edge; an add-on wedged before Selkies starts is not.

Not addressed, deliberately: escaping $LOCATION/$DEFAULT_LOCATION for sed, and
validating symlink targets in resolve_symlinks.sh. Both are hardening against
inputs that are not reachable in normal use, both predate this PR, and the
maintainer has asked to prioritise usability over that class of change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 14:23:52 +02:00
Alexandre
5eb7cd2744 fix(seerr): re-encode ingress query strings for the OpenAPI validator (#2917)
* fix(seerr): re-encode ingress query strings for the OpenAPI validator

Searches through ingress fail with a 400 from the Seerr API, which the UI
reports as "500 Internal Server Error". The same searches succeed on the
directly published port 5055.

Supervisor proxies ingress traffic with `params=request.query`
(supervisor/api/ingress.py) - an already-decoded MultiDict - so aiohttp/yarl
re-encodes the query string on the way to the add-on. yarl's safe set is far
wider than the one express-openapi-validator accepts: it emits a space as "+"
and forwards ":", "/", "@", "!", "$", "'", "(", ")", "*" and "," bare, while
the validator tests the raw, still-encoded value against

    RESERVED_CHARS = /[\:\/\?#\[\]@!\$&\'()\*\+,;=]/

and rejects the request. That breaks most real titles - "Monsters, Inc.",
"Ocean's Eleven", "Mission: Impossible", "Mamma Mia!".

An njs handler now re-encodes exactly those characters before proxying. This
is lossless: yarl only emits them bare when they were literal characters of
the value, since anything ambiguous arrives already encoded ("+" as %2B, "&"
as %26, "=" as %3D). "&" and "=" are left alone as the query string's own
separators, and the path is forwarded byte-for-byte.

Verified against a real express-openapi-validator over all 19 characters in
RESERVED_CHARS, and diffed byte-for-byte against the previous config across
representative traffic: only query-string encoding changes.

Fixes #2906
Fixes #2646

* fix(seerr): ship the njs load_module snippet and encode "?" and ";"

Addresses two review findings.

1. The njs module never loaded. .templates/ha_automatic_packages.sh moves the
   rootfs /etc/nginx aside to /etc/nginx2 before installing nginx, then does
   `rm -r /etc/nginx` and restores the saved tree. That deletes the
   load_module snippet nginx-mod-http-js installs, so nginx aborted with
   `unknown directive "js_import"` and the service's finish hook would have
   shut the add-on down - all ingress dead, not just search. The image build
   still passed CI because it never starts nginx. The snippet now ships in the
   rootfs so it survives the swap, under the package's own filename so the two
   can never both be present and double-load the module.

2. "?" arrives bare from yarl and was not encoded. It slipped through testing
   because the validator strips one occurrence with `qs.replace('?', '')`
   before checking, so a single "?" passes by accident and only a second one
   ("Who? What?") returned 400.

NEEDS_ENCODING is now derived from the validator's RESERVED_CHARS minus the
"&" and "=" separators, rather than from the characters yarl happens to emit
bare today, so it stays correct if either side changes its safe set. The added
characters are a no-op for current traffic: yarl already percent-encodes
"# [ ] ;", so Seerr receives them encoded regardless.

Verified by replaying the build-time /etc/nginx2 swap and starting nginx, which
fails without the snippet and serves correctly with it; by sending every
RESERVED_CHAR bare; and by diffing forwarded bytes against master, unchanged at
2/20 with all query-parser edge cases identical.

* style(seerr): satisfy Codacy - double quotes in njs, changelog blank lines

Clears the 11 new Info-level Codacy findings: 9x ESLint 'quotes' in
njs/ingress.js and 2x markdownlint MD022/MD032 on the changelog entry.
No behaviour change; re-verified through the build-time /etc/nginx2 swap.
2026-07-28 09:13:31 +02:00
331 changed files with 2659 additions and 864 deletions

45
.github/scripts/resolve_symlinks.sh vendored Executable file
View File

@@ -0,0 +1,45 @@
#!/usr/bin/env bash
# Replace every symlink in the checked-out repository with a real copy of its target.
#
# Add-ons share files by symlinking across add-on directories (e.g. webtop/rootfs ->
# ../webtop_kde/rootfs, and files inside it -> ../../../../claude_desktop/rootfs/...). A
# Docker build context is a single add-on directory, so any symlink that escapes it has to be
# materialised before the build.
#
# The loop repeats because resolving one symlink can create others: copying a directory
# symlink with `cp -a` preserves the symlinks *inside* it, and those copies are not part of
# the file list the current pass is iterating over. Repeating until a pass finds nothing makes
# the result independent of the order `find` happens to return.
set -euo pipefail
for _ in 1 2 3 4 5; do
mapfile -t links < <(find . -type l)
if [ "${#links[@]}" -eq 0 ]; then
exit 0
fi
for link in "${links[@]}"; do
target=$(readlink -f "$link" || true)
if [ -z "$target" ] || [ ! -e "$target" ]; then
# Fail rather than drop it. A broken link here means an add-on is missing a file
# it expects to ship; silently removing it produces an image that builds fine and
# misbehaves at runtime, which is far harder to diagnose than a red build.
echo "::error::Broken symlink: $link -> $(readlink "$link")"
exit 1
fi
rm "$link"
if [ -d "$target" ]; then
mkdir -p "$link"
cp -a "$target/." "$link/"
else
cp "$target" "$link"
fi
done
done
if [ -n "$(find . -type l)" ]; then
echo "::error::Symlinks still present after 5 resolution passes; possible symlink cycle"
find . -type l
exit 1
fi

View File

@@ -73,6 +73,7 @@ Antianti2016,
Antjrobles,
Arbel-arad,Israel
Areppa,
ArjunZe,India
Arrgh106,Germany
Art-Ev,France
Asahi21,
@@ -106,6 +107,7 @@ Bigdaddy1990,Germany
BilboBagCoder,
Bill-Dung,Germany
Blueyzachary,
Bo1jo,
BobMcCloy,
Bobdugrand8,France
Boilerplate4u,
@@ -391,7 +393,7 @@ Kderyck,
KecskeTech,
Keiran90,
KellsonM,
KenKilty,
KenKilty,United States
KennyStier,United States
Kensingtonn,
KerstenAlheit,
@@ -429,6 +431,7 @@ Lemonade455,
LeoLTM,
Leoin1,
Leolion2023,
Leonkatze1,
LifeofDan-EL,Nigeria
Likqez,Germany
Lizzardis,
@@ -541,6 +544,7 @@ Omni-Engineering,
OneByJorah,
OnkelKiwi,
Oraind,
Orbernator,Australia
OsipovOV,
Ozzoman30,
P4uLT,France
@@ -597,6 +601,7 @@ RandomUsernameThatIsNotYetTaken,Belgium
RaneyDazed,United States
Rapozillha,Portugal
Raw2x2,
Raynstorm96,
Rchtr,
RdN-J,
RealJustMe,
@@ -1373,6 +1378,7 @@ francoarendholz,Germany
frankkoornstra,Netherlands
frankythedog,
fransixles,Canada
fredct15,
fredleger,France
freechw,
frizzi42,
@@ -1426,6 +1432,7 @@ git-mdumont,
git-rafael,Brazil
gitapisup,
gitmotion,
gkrenn,Austria
glgghit,Italy
gli-james-roland,
glxzander,
@@ -1673,6 +1680,7 @@ katta07,
kayserlein,Germany
kcbergmo,
kcm117,United States
keatonp-inahoodie,
keefey,Australia
keikoro,
keithcroshaw,
@@ -1815,6 +1823,7 @@ mapeje,Sweden
maphouse,Canada
maratbakirov,
marcetad,
marcjay,United Kingdom
marcoboers,Netherlands
marcodangelo,Italy
marcschraepler,Austria
@@ -1855,6 +1864,7 @@ mbinks,
mcalpine87,
mccollege-au,Australia
mcflexus,Netherlands
mchaplyak,United States
mclala22,
mcmastermind,United States
md-ray,Indonesia
@@ -1906,6 +1916,7 @@ minscof,
mirsalimov,
miruoy,
misterdev,Italy
misterkeats,
miumida,
mjendza,Poland
mking47,
@@ -1957,6 +1968,7 @@ naor1,Israel
natbrood,
nate-marshall,
nduest,Germany
ne7runner,
nedsined,
neildotwilliams,
neilpercy,
@@ -2511,8 +2523,10 @@ vespexx,
vetcher,
vikavorkin,Israel
vikt-v,Israel
vincegre,Switzerland
vinnyduke,
vlad36N,United States
vlanwalker,Poland
vlassen,
vortexua,
vova-musin,
1 username country
73 Antjrobles
74 Arbel-arad Israel
75 Areppa
76 ArjunZe India
77 Arrgh106 Germany
78 Art-Ev France
79 Asahi21
107 BilboBagCoder
108 Bill-Dung Germany
109 Blueyzachary
110 Bo1jo
111 BobMcCloy
112 Bobdugrand8 France
113 Boilerplate4u
393 KecskeTech
394 Keiran90
395 KellsonM
396 KenKilty United States
397 KennyStier United States
398 Kensingtonn
399 KerstenAlheit
431 LeoLTM
432 Leoin1
433 Leolion2023
434 Leonkatze1
435 LifeofDan-EL Nigeria
436 Likqez Germany
437 Lizzardis
544 OneByJorah
545 OnkelKiwi
546 Oraind
547 Orbernator Australia
548 OsipovOV
549 Ozzoman30
550 P4uLT France
601 RaneyDazed United States
602 Rapozillha Portugal
603 Raw2x2
604 Raynstorm96
605 Rchtr
606 RdN-J
607 RealJustMe
1378 frankkoornstra Netherlands
1379 frankythedog
1380 fransixles Canada
1381 fredct15
1382 fredleger France
1383 freechw
1384 frizzi42
1432 git-rafael Brazil
1433 gitapisup
1434 gitmotion
1435 gkrenn Austria
1436 glgghit Italy
1437 gli-james-roland
1438 glxzander
1680 kayserlein Germany
1681 kcbergmo
1682 kcm117 United States
1683 keatonp-inahoodie
1684 keefey Australia
1685 keikoro
1686 keithcroshaw
1823 maphouse Canada
1824 maratbakirov
1825 marcetad
1826 marcjay United Kingdom
1827 marcoboers Netherlands
1828 marcodangelo Italy
1829 marcschraepler Austria
1864 mcalpine87
1865 mccollege-au Australia
1866 mcflexus Netherlands
1867 mchaplyak United States
1868 mclala22
1869 mcmastermind United States
1870 md-ray Indonesia
1916 mirsalimov
1917 miruoy
1918 misterdev Italy
1919 misterkeats
1920 miumida
1921 mjendza Poland
1922 mking47
1968 natbrood
1969 nate-marshall
1970 nduest Germany
1971 ne7runner
1972 nedsined
1973 neildotwilliams
1974 neilpercy
2523 vetcher
2524 vikavorkin Israel
2525 vikt-v Israel
2526 vincegre Switzerland
2527 vinnyduke
2528 vlad36N United States
2529 vlanwalker Poland
2530 vlassen
2531 vortexua
2532 vova-musin

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 331 KiB

2
.github/stars.svg vendored
View File

@@ -652,7 +652,7 @@
</pattern>
</defs>
</svg>
<svg x="612" y="408" width="64" height="64">\n<title>mxwi</title>
<svg x="612" y="408" width="64" height="64">\n<title>brewing8309</title>
<circle cx="32" cy="32" r="32" stroke="#c0c0c0" stroke-width="1" fill="url(#fill81)" />
<defs>
<pattern id="fill81" x="0" y="0" width="64" height="64" patternUnits="userSpaceOnUse" >

Before

Width:  |  Height:  |  Size: 403 KiB

After

Width:  |  Height:  |  Size: 403 KiB

BIN
.github/stats.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -108,6 +108,9 @@ jobs:
- name: ↩️ Checkout
uses: actions/checkout@v7.0.1
- name: Resolve symlinks in repository copy
run: bash .github/scripts/resolve_symlinks.sh
- name: Copy templates into addon build context
env:
ADDON: ${{ matrix.addon }}

View File

@@ -142,24 +142,7 @@ jobs:
persist-credentials: false
- name: Resolve symlinks in repository copy
run: |
set -euo pipefail
find . -type l | while read -r link; do
target=$(readlink -f "$link" || true)
if [ -z "$target" ]; then
echo "Skipping broken symlink: $link"
continue
fi
rm "$link"
if [ -d "$target" ]; then
mkdir -p "$link"
cp -a "$target/." "$link/"
else
cp "$target" "$link"
fi
done
run: bash .github/scripts/resolve_symlinks.sh
- name: Copy templates into addon build context
env:

View File

@@ -65,7 +65,7 @@ for files in "/etc/cont-init.d" "/etc/services.d"; do
if grep -q -rnw "$files/" -e "$COMMAND"; then
[ "$VERBOSE" = true ] && echo "$COMMAND required"
[ "$PACKMANAGER" = "apk" ] && PACKAGES="$PACKAGES exfatprogs ntfs-3g ntfs-3g-progs squashfs-tools fuse lsblk"
[ "$PACKMANAGER" = "apt" ] && PACKAGES="$PACKAGES exfat* ntfs* squashfs-tools util-linux"
[ "$PACKMANAGER" = "apt" ] && PACKAGES="$PACKAGES exfat* ntfs-3g squashfs-tools util-linux"
#[ "$PACKMANAGER" = "pacman" ] && PACKAGES="$PACKAGES ntfs-3g"
fi

View File

@@ -56,19 +56,19 @@ If you want to do add the repository manually, please follow the procedure highl
### Number of addons
- In the repository : 136
- Installed : 591099
- In the repository : 137
- Installed : 612843
### Top 3
1. Arpspoof (102260x)
2. Sponsorblockcast (98515x)
3. Jellyfin (88478x)
1. Arpspoof (102274x)
2. Sponsorblockcast (98951x)
3. Jellyfin (88956x)
### Architectures used
- amd64: 90%
- aarch64: 10%
- amd64: 89%
- aarch64: 11%
### Stars evolution
@@ -77,7 +77,7 @@ If you want to do add the repository manually, please follow the procedure highl
## Add-ons provided by this repository
%%ADDONS_LIST%%
&#10003; [Arpspoof (102260x)](arpspoof/) : block internet connection for local network devices
&#10003; [Arpspoof (102274x)](arpspoof/) : block internet connection for local network devices
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Farpspoof%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Farpspoof%2Fupdater.json)
@@ -522,7 +522,7 @@ If you want to do add the repository manually, please follow the procedure highl
![smb][smb-badge]
![localdisks][localdisks-badge]
&#10003; ![image](https://api.iconify.design/mdi/billiards-rack.svg) [Jellyfin (88478x) NAS](jellyfin/) : A free Software Media System that puts you in control of managing and streaming your media
&#10003; ![image](https://api.iconify.design/mdi/billiards-rack.svg) [Jellyfin (88956x) NAS](jellyfin/) : A free Software Media System that puts you in control of managing and streaming your media
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fjellyfin%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fjellyfin%2Fupdater.json)
@@ -585,7 +585,7 @@ If you want to do add the repository manually, please follow the procedure highl
![aarch64][aarch64-badge]
![amd64][amd64-badge]
&#10003; ![image](https://api.iconify.design/mdi/movie-search.svg) [Maintainerr](maintainerr/) : Rule-based media cleanup tool for Plex, Jellyfin (88478x) and Emby. Creates collections and optionally deletes unwatched content.
&#10003; ![image](https://api.iconify.design/mdi/movie-search.svg) [Maintainerr](maintainerr/) : Rule-based media cleanup tool for Plex, Jellyfin (88956x) and Emby. Creates collections and optionally deletes unwatched content.
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fmaintainerr%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fmaintainerr%2Fupdater.json)
@@ -796,6 +796,14 @@ If you want to do add the repository manually, please follow the procedure highl
![amd64][amd64-badge]
![full_access][full_access-badge]
&#10003; ![image](https://api.iconify.design/mdi/docker.svg) [Portainer Business Edition](portainer_be/) : Manage your Docker environment with ease (Business Edition)
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fportainer_be%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fportainer_be%2Fupdater.json)
![aarch64][aarch64-badge]
![amd64][amd64-badge]
![ingress][ingress-badge]
&#10003; [Postgres 15](postgres_15/) : Postgres 15 with VectorChord support
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fpostgres_15%2Fconfig.yaml)
@@ -899,7 +907,7 @@ If you want to do add the repository manually, please follow the procedure highl
![smb][smb-badge]
![localdisks][localdisks-badge]
&#10003; ![image](https://api.iconify.design/mdi/movie-search.svg) [Seerr](seerr/) : Open-source media request and discovery manager for Jellyfin (88478x), Plex, and Emby
&#10003; ![image](https://api.iconify.design/mdi/movie-search.svg) [Seerr](seerr/) : Open-source media request and discovery manager for Jellyfin (88956x), Plex, and Emby
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fseerr%2Fconfig.yaml)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fseerr%2Fupdater.json)

263
Stats
View File

@@ -1,131 +1,132 @@
2026-07-24 2026-07-17 2026-07-10 2026-07-03 2026-06-26 2026-06-12 2026-06-05 2026-05-29 2026-05-22 2026-05-15 2026-05-08 2026-05-01 2026-04-24 2026-04-17 2026-04-10 2026-04-03 2026-03-27 2026-03-20 2026-03-13 2026-03-06 2026-02-27 2026-02-20 2026-02-13 2026-02-06 2026-01-30 2026-01-23 2026-01-16 2026-01-09 2026-01-02 2025-12-26 2025-12-19 2025-12-12 2025-12-05 2025-11-28 2025-11-21 2025-11-14 2025-11-07 2025-11-06 2025-10-31 2025-10-24 2025-10-17 2025-10-10 2025-10-03 2025-09-26 2025-09-19 2025-09-12 2025-09-05 2025-08-29 2025-08-22 2025-08-15 2025-08-08 2025-08-01 2025-07-25 2025-07-18 2025-07-11 2025-07-04 2025-06-27 2025-06-20 2025-06-13 2025-06-06 2025-05-30 2025-05-30 2025-05-23 2025-05-16 2025-05-09 2025-05-08 2025-04-11 2025-04-04 2025-03-28 2025-03-21 2025-03-14 2025-03-07 2025-02-28 2025-02-21 2025-02-14 2025-02-07 2025-01-31 2025-01-24 2025-01-17 2025-01-10 2025-01-03 2024-12-27 2024-12-20 2024-12-13 2024-12-06 2024-11-29 2024-11-22 2024-11-15 2024-11-08 2024-11-01 2024-10-25 2024-10-18 2024-10-11 2024-10-04 2024-09-27 2024-09-20 2024-09-13 2024-09-06 2024-08-30 2024-08-23 2024-08-16 2024-08-09 2024-08-02 2024-07-26 2024-07-19 2024-07-12 2024-07-05 2024-06-28 2024-06-21 2024-06-14 2024-06-07 2024-05-31 2024-05-24 2024-05-24 2024-05-17 2024-05-10 2024-05-03 2024-04-26 2024-04-19 2024-04-12 2024-04-05 2024-03-29 2024-03-22 2024-03-15 2024-03-08 2024-03-01 2024-02-16 2024-02-09 2024-02-02 2024-01-26 2024-01-19 2024-01-12 2024-01-05 2023-12-22 2023-12-15 2023-12-08 2023-11-24 2023-11-17 2023-11-10 2023-11-03 2023-10-27 2023-10-20 2023-10-13 2023-10-06 2023-09-29 2023-09-22 2023-09-15 2023-09-08 2023-09-01 2023-08-25 2023-08-18 2023-08-11 2023-08-04 2023-07-28 2023-07-21 2023-07-14 2023-07-07 2023-06-30 2023-06-23 2023-06-16 2023-06-09 2023-06-02 2023-05-26 2023-05-19 2023-05-12 2023-05-05 2023-04-28 2023-04-21 2023-04-14 2023-04-07 2023-03-31 2023-03-24 2023-03-17 2023-03-10 2023-03-03 2023-02-24 2023-02-17 2023-02-10 2023-02-03 2023-01-27 2023-01-21 2023-01-13 2023-01-06 2022-12-30 2022-12-24 2022-12-16 2022-12-09 2022-12-08 Date
591099 669538 626324 508490 295538 187951 202857 207298 140475 196724 195429 192371 161135 168787 147551 141128 128014 125333 116609 115189 108264 102680 82287 69115 77528 69094 60852 63855 80968 76650 76368 76680 74263 72911 76740 86290 85365 84859 - - 93916 89227 85492 81733 82398 80928 80058 77828 76925 73054 77998 74436 75347 75004 72775 69407 74365 76109 75314 73044 68415 68003 74989 75413 95755 95280 94242 91014 90233 88789 86207 85170 85194 86915 84812 82572 80743 84366 86769 84305 81481 76240 76908 75990 74319 76488 77734 75851 75809 74807 73967 74197 71724 73990 73372 74249 73736 71352 83606 88312 89846 87690 86596 92746 94295 90039 80926 72882 71830 70159 69833 67653 69012 69005 70922 69934 66029 66168 66686 64308 67070 65017 73318 76478 73677 74019 70426 62241 55701 53744 52326 49500 48175 42473 42336 39905 34679 46033 42786 42795 40675 39766 38360 36480 37779 40026 39455 41790 43334 50337 49386 48913 46173 43611 43648 42982 41225 38304 38828 30434 30232 30051 32193 31615 29210 26192 19917 20377 19409 19253 18223 18044 16127 15701 14436 13970 13610 14133 12886 12065 11500 10919 9777 7647 7966 4937 3908 3691 TOTAL
102260 102238 86665 59486 31480 20032 18566 17110 15635 14159 12678 11315 10091 9013 7413 6046 4639 3399 3376 3356 3341 3313 3287 3254 3238 3225 3206 3199 3184 3170 3144 3134 3116 3099 3086 3568 3559 3559 - - 3510 3489 3470 3450 3439 3431 3418 3399 3389 3354 3338 3329 3318 3304 3292 3280 3272 3263 3253 3239 3232 3231 3221 3199 3186 3184 3132 3113 3091 3082 3062 3047 3030 3015 2994 2980 2967 2950 2932 2911 2883 2859 2847 2835 2818 2796 2778 2774 2759 2749 2737 2722 2711 2692 2669 2662 2632 2619 2604 2595 2582 2566 2561 2548 2530 2517 2505 2487 2464 2450 2440 2423 2407 2407 2384 2349 2303 2264 2222 2190 2150 2095 2068 2031 1999 1974 1910 1883 1845 1813 1780 1736 1693 1612 1574 1546 1469 1429 1378 1343 1321 1301 1277 1260 1239 1223 1199 1191 1178 1167 1122 1079 1036 1001 959 915 841 787 778 647 635 622 618 589 527 451 353 326 313 300 289 277 262 252 240 227 218 193 183 168 142 126 98 88 75 39 30 29 arpspoof
98515 98379 82801 55582 27559 16050 14551 13058 11558 10047 8509 7130 5849 4717 3063 2295 2074 3473 3399 3345 3289 3011 2747 2690 2651 2608 2568 2536 2501 2472 2435 2402 2361 2327 2296 2281 2251 2249 - - 2182 2149 2107 2083 2057 2022 1996 1960 1919 1875 1836 1793 1749 1714 1678 1639 1607 1577 1530 1482 1446 1442 1412 1381 1338 1334 1152 1102 1059 1005 909 2227 2184 2140 1274 1239 1181 1123 1055 992 924 820 1466 1428 1380 1343 1299 1253 1210 1159 1113 1074 1036 976 918 884 824 767 700 1735 1699 1661 1626 1581 1534 1510 1466 1430 1381 1346 1303 1266 1233 1232 1151 1091 1008 940 880 806 732 628 530 5291 5234 5190 4304 1538 380 500 412 312 700 568 509 427 424 348 333 387 322 281 232 254 219 228 196 161 198 208 770 723 674 621 571 521 431 363 343 205 187 172 156 104 338 263 152 113 92 74 54 35 14 - - - - - - - - - - - - - - - sponsorblockcast
88478 87974 71957 44263 15879 1533 4760 5035 322 12978 11060 9266 7616 6058 3740 6494 4683 3030 2664 2247 695 1615 1136 615 1559 1153 838 1869 1609 1327 803 1332 909 797 1006 1342 1335 1306 - - 3567 3472 3370 3281 3162 3045 2935 2826 2734 2609 2516 2387 2255 2155 2075 1983 1877 1774 1677 1572 1477 1473 1343 1230 1116 1098 1353 1227 1106 985 838 680 296 5 1024 905 870 1718 1609 1501 1373 1252 1160 1060 949 815 1013 878 776 1206 1143 1069 1012 935 843 730 832 733 895 806 691 762 652 5900 5837 4452 2213 814 726 627 609 775 652 651 2399 2319 2230 2155 2068 1983 1896 1811 1727 1643 1565 1462 1259 1167 1071 971 860 768 660 460 351 344 358 373 330 692 630 570 487 426 1712 1662 1590 1542 1500 1457 1373 1302 1234 1154 1075 995 896 818 788 619 561 523 461 375 261 205 495 448 409 353 291 331 285 274 254 173 262 268 268 251 193 193 225 172 181 156 201 196 jellyfin
87516 87430 71762 44486 16436 4822 3168 17372 15885 14386 12788 11218 9779 8500 6664 5074 3427 1945 1845 1723 1625 1548 1376 1277 1218 1121 1059 994 925 842 757 674 569 488 289 600 578 568 - - 564 573 510 442 208 208 208 208 770 719 689 651 624 601 566 530 479 391 324 1576 1538 1538 1514 1481 1459 1455 1363 1335 1309 1289 1260 1230 1211 1177 1152 1122 1097 1068 1040 1011 975 949 916 892 868 847 825 796 773 751 737 714 689 658 635 613 583 572 552 525 493 466 450 412 377 348 319 329 391 371 347 309 545 545 497 462 405 354 296 526 480 424 382 330 245 238 396 346 299 223 157 343 297 200 167 221 124 183 265 228 194 181 163 150 136 131 125 118 251 241 206 152 191 146 356 314 243 184 171 129 114 99 384 352 293 226 130 111 95 88 100 94 82 146 138 128 117 112 100 90 70 56 44 39 34 11 7 6 flaresolverr
81142 81138 65589 38416 10433 9826 8389 6967 5524 4069 2603 1251 16 833 658 478 290 109 101 97 95 89 83 80 78 77 74 73 69 68 67 65 56 51 50 50 48 48 - - 42 34 34 33 33 30 28 25 73 66 65 64 63 59 57 57 56 53 52 50 47 47 44 43 41 38 32 30 29 26 54 47 45 41 39 34 31 27 377 377 376 374 372 366 364 353 344 342 342 342 339 335 333 331 329 328 321 321 321 319 317 316 315 312 308 307 301 299 295 295 293 293 293 293 258 244 209 185 152 128 94 64 48 184 162 146 103 79 54 40 97 70 41 121 98 76 28 105 75 48 35 34 29 27 25 22 21 20 17 52 120 87 50 390 359 327 263 214 211 90 87 84 81 56 189 129 38 26 20 17 17 46 43 40 34 28 27 23 21 20 25 25 24 22 19 6 3 3 mylar3
18475 23997 21558 19966 19356 9643 24812 22468 2430 22305 25659 24171 21797 23876 20636 24120 21748 24134 21638 21185 19921 17876 12032 8215 11110 8649 3807 5314 11483 10156 10195 10314 10172 10081 10076 10043 11067 10951 - - 11537 10765 9557 9367 11692 11023 10227 8929 8833 7902 8340 7762 8427 8277 8285 8229 8228 11416 10904 10325 9669 9633 8767 7401 26982 26925 25607 25173 24774 24363 23957 23559 23174 22845 22434 22023 21617 21190 20760 20328 19788 19317 18902 18464 17966 17528 17159 16773 16375 15944 15536 15163 14735 14288 13905 13564 13225 12882 12557 12187 11830 11475 11150 10830 10519 10206 9880 9545 9204 8880 8509 8102 7701 7701 7265 6739 6139 5257 6152 5411 9957 9569 9181 8879 8506 8131 7318 6854 6384 5921 5304 4283 4406 3468 5309 4756 3599 6078 5712 5363 5001 4643 4144 3597 4034 3492 4252 3817 3241 8250 8000 7767 7521 7293 7034 6803 6575 6325 6136 5808 5613 5426 5247 5029 4775 4482 4212 3978 3759 3498 3263 3035 2810 2532 2229 1960 1569 2036 1730 1356 1359 1359 1070 888 727 477 285 264 filebrowser
12633 12212 11758 11304 10999 10101 9699 9262 8852 8362 7977 7565 7246 6833 6473 6031 5642 5248 4976 4696 4487 4257 3947 3753 3627 3492 3384 3252 3077 2936 2821 2718 2574 2440 2299 2166 2023 2013 - - 1647 1511 1387 1298 1172 1037 893 733 1262 1115 966 805 646 418 573 250 141 262 184 95 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - postgres_17
9264 8506 7594 4502 3948 7706 9960 9417 8697 7732 10309 9774 9165 8442 7216 5738 4860 3040 670 6846 6020 4442 4315 3305 4492 3804 2138 1145 3090 2566 1 197 192 3312 3150 2996 2728 2664 - - 1748 1512 2499 2397 2271 2122 1970 1840 1626 1374 1366 2482 2332 1872 1220 910 759 587 1229 1003 842 834 1184 1069 955 943 656 980 874 753 595 456 517 405 207 353 239 0 64 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - netalertx
5326 4890 4533 4039 5006 4366 3910 3918 404 2609 4234 3827 1790 4213 3922 3508 3514 3524 4060 3798 3402 2324 1903 1445 1310 1172 1000 67 818 1443 974 131 1731 1589 1436 1571 1397 1356 - - 1318 1364 744 1299 1547 1446 1274 1264 558 551 549 1137 1170 1035 573 9 1987 1940 1898 1856 1777 1773 1746 1687 1637 1633 1372 1268 1129 1338 1246 1077 1325 1202 1073 640 1084 959 821 195 877 711 567 446 951 1051 904 793 660 1005 889 704 303 574 571 1153 1041 920 738 1030 951 831 1064 978 889 765 799 654 690 629 718 632 730 730 641 477 327 627 716 622 809 705 595 554 648 583 619 519 286 6 972 914 853 732 689 641 533 485 421 347 289 233 808 771 732 710 680 660 631 607 567 520 468 415 372 330 258 197 168 175 142 230 203 153 169 321 231 185 129 606 588 562 542 501 465 434 404 373 368 328 276 192 142 7 90 53 38 35 mealie
5188 5165 5131 5095 5038 4944 4896 4839 4760 4713 4594 4402 4181 3971 3725 3475 3236 3002 2914 2858 2813 2772 2711 2672 2638 2601 2568 2535 2483 2450 2413 2377 2344 2309 2264 2246 2214 2208 - - 2118 2080 2042 2013 1975 1942 1908 1868 1833 1785 1733 1648 1578 1511 1400 1243 991 1479 1387 1225 15 3 2846 2726 2630 2610 2068 1946 1842 1719 1577 1441 1293 1076 1394 1227 1053 792 705 965 1370 1168 1005 861 372 3232 3124 3028 2943 2844 2744 2647 2554 2460 2359 2274 2169 2067 1973 1894 1793 1709 1611 1513 1435 1394 1345 1310 1255 1202 1163 1115 1071 1071 999 950 886 831 764 708 633 537 467 399 322 243 341 263 170 690 629 561 493 376 313 252 128 164 254 194 158 130 95 69 51 37 72 29 289 274 226 183 141 102 62 16 223 166 163 31 18 5 - - - - - - - - - - - - - - - - - - - - - - - - - - postgres
3516 3406 3273 3143 3079 2959 2879 2781 2693 2607 2462 2382 2340 2273 2215 2131 2061 1930 1815 1753 1699 1625 1527 1441 1366 1253 715 4301 4238 4201 4177 4123 4081 4033 3997 4042 4001 3996 - - 3910 3884 3861 3830 3802 3772 3749 3718 3683 3640 3608 3575 3540 3511 3489 3454 3431 3405 3375 3351 3328 3326 3291 3269 3249 3244 3165 3132 3089 3058 3022 2992 2943 2902 2863 2828 2793 2760 2705 2656 2584 2546 2506 2462 2415 2350 2292 2252 2206 2173 2135 2086 2023 1966 1914 1871 1820 1781 1730 1681 1633 1576 1525 1477 1447 1412 1357 1314 1258 1179 1093 548 2125 2125 2052 1970 1870 1794 1714 1654 1561 1466 1383 1282 1092 910 927 1710 1628 1527 1419 1289 1169 916 951 831 477 1416 1310 1145 1001 874 811 755 653 860 797 726 640 511 860 753 639 533 1392 1321 1240 1163 1124 965 939 910 887 836 761 656 515 492 834 803 755 709 672 607 450 490 416 365 279 254 504 397 403 272 289 35 59 39 myelectricaldata
3268 3079 2837 2490 2842 994 2391 3288 3074 2773 2428 3448 3211 2892 2483 2488 3587 3334 3078 2724 2368 2280 1424 1181 1004 801 708 524 1379 1220 1067 950 788 552 1566 1377 1246 1225 - - 1242 1060 1321 1181 1003 458 1277 1125 954 1399 1296 1183 1064 895 472 1266 1141 985 1340 1228 1118 1111 942 23 1246 1231 898 751 580 953 36 926 1126 950 1404 1262 1130 950 1463 1335 1198 1054 886 875 652 537 1001 838 1113 996 843 1139 1018 849 1000 839 830 959 816 31 1019 917 752 1073 986 897 740 488 538 352 732 65 65 65 45 31 9 1160 1016 883 730 1132 1001 867 625 1101 836 665 798 653 479 339 619 457 546 315 302 760 579 750 620 443 453 545 403 455 342 211 353 203 429 700 576 419 500 653 653 545 456 558 499 404 758 649 497 310 481 367 209 298 299 359 394 249 365 269 316 429 325 238 468 468 405 328 283 193 124 94 nextcloud_ocr
3043 3151 886 41574 13233 6367 4500 3735 1912 1879 5209 3682 2341 2132 1882 1707 129 2857 2626 2425 2131 1774 1711 43 1161 57 1377 1236 1062 870 1920 1759 1541 795 496 2233 2125 2113 - - 1840 1761 1661 1575 1480 1381 1246 1115 957 1098 950 333 974 808 1338 1287 2120 2043 1948 1862 1734 1731 1599 1428 2508 2501 2125 2029 1919 1834 1695 1528 1352 2305 2193 2085 1974 1860 1743 1602 1417 1234 1629 1492 1349 1150 1438 1316 1117 1004 883 693 1119 1246 1081 1383 1270 1149 1019 1952 1865 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1787 1711 1640 1561 1508 1417 1321 1214 1112 981 1255 1165 1165 1059 933 801 647 1201 1063 887 1843 1734 1654 1540 1439 1180 1009 832 615 803 787 557 181 428 826 472 819 643 582 819 712 590 485 894 828 739 638 1466 1404 1300 1216 1123 1019 916 817 672 526 610 384 352 1101 1049 963 847 694 481 709 627 556 461 359 363 504 363 293 364 340 340 325 323 323 337 312 407 266 240 225 qbittorrent
2875 2870 2851 2837 2831 2809 2795 2779 2761 2751 2724 2693 2681 2661 2647 2624 2604 2546 2512 2504 2490 2460 2421 2368 2356 2337 2331 2321 2309 2294 2285 2279 2261 2247 2232 2695 2689 2688 - - 2665 2646 2630 2625 2615 2607 2594 2585 2572 2555 2546 2533 2532 2527 2519 2508 2504 2499 2491 2482 2476 2476 2468 2462 2450 2448 2411 2401 2394 2388 2369 2359 2350 2345 2339 2328 2316 2303 2291 2280 2266 2252 2245 2239 2232 2214 2201 2197 2187 2179 2171 2155 2134 2113 2106 2101 2086 2085 2079 2066 2059 2054 2049 2038 2030 2021 2007 2001 1990 1986 1979 1967 1961 1961 1941 1909 1872 1828 1796 1762 1724 1676 1650 1626 1607 1583 1534 1508 1483 1463 1436 1401 1378 1297 1259 1218 1156 1117 1083 1054 1037 1023 1017 1007 1003 1000 994 988 982 977 946 909 867 829 785 747 679 628 617 489 480 472 462 432 376 310 215 189 177 170 166 158 153 138 126 114 104 89 87 82 64 52 46 43 37 19 13 13 teamspeak
2825 2822 2814 2806 2806 2788 2780 2774 2767 2750 2686 2525 2351 2172 1986 1793 1610 1419 1401 1382 1376 1353 1338 1310 1288 1269 1254 1228 1205 1172 1152 1128 1107 1089 1072 1056 1035 1033 - - 981 959 944 929 917 895 874 852 832 812 787 773 757 724 710 693 684 673 653 629 603 603 584 551 527 521 440 395 2286 2265 2238 2206 2193 2162 2137 2101 2068 2043 2004 1976 1939 1902 1878 1857 1839 1815 1791 1763 1727 1699 1680 1659 1632 1614 1591 1571 1549 1532 1515 1488 1462 1433 1407 1382 1357 1322 1297 1271 1246 1234 1222 1207 1194 1194 1182 1154 1128 1100 1076 1056 1026 991 963 948 924 898 859 832 807 779 758 723 695 627 599 566 516 486 450 418 402 386 377 357 340 328 318 302 296 283 245 207 169 131 308 280 226 183 166 562 550 541 522 477 417 348 242 221 209 196 186 180 171 145 144 133 119 102 103 150 132 119 99 73 64 33 27 27 overseerr
2617 2388 2176 2009 1989 1901 1853 1815 1792 1751 1695 1646 1583 1536 1468 1408 1336 1286 1208 1160 1112 1049 982 925 874 829 779 702 560 171 2012 1793 1577 1438 1390 1351 1313 1308 - - 1227 1202 1171 1146 1122 1097 1067 1036 1015 983 947 920 888 862 835 808 780 747 702 657 593 591 634 583 1170 1164 1051 1027 999 965 932 887 851 816 790 747 714 672 633 587 537 478 753 711 670 632 595 554 505 452 488 436 510 446 472 436 495 461 412 409 666 633 612 594 558 535 521 488 461 424 393 344 476 476 414 347 512 456 403 355 401 334 133 119 576 541 447 410 358 295 264 448 389 299 251 302 211 414 353 302 262 247 217 187 157 192 166 135 498 476 419 364 309 262 199 143 296 229 207 53 47 28 41 - - - - - - - - - - - - - - - - - - - - - - - - - portainer_agent
2323 2261 2170 2090 2045 1925 1848 1798 1744 1673 1613 1551 1496 1414 1331 1238 1141 989 1095 1010 452 780 685 621 571 539 495 444 397 332 5 911 880 836 797 757 717 713 - - 607 561 528 496 424 287 280 788 740 690 637 553 236 1242 1210 1194 1181 1148 1110 1075 1052 1049 1012 976 947 938 835 803 768 733 688 640 605 574 531 470 413 1174 1128 1087 1042 1010 984 951 925 880 842 798 760 714 668 609 497 1584 1539 1501 1458 1417 1384 1358 1332 1307 1273 1233 1208 1185 1155 1136 1099 1064 1037 993 962 961 905 860 809 756 705 652 582 506 412 1111 1054 1013 923 877 835 789 732 687 631 531 490 453 322 357 547 492 453 420 350 302 247 242 199 169 137 415 352 660 606 554 506 456 367 281 404 279 291 215 394 345 272 137 235 373 337 306 282 232 284 228 298 268 243 201 170 122 188 144 176 150 131 91 59 57 guacamole
1995 1015 2785 2503 2191 1238 930 2191 1773 2108 1823 1776 944 1860 1527 1457 1620 1327 1467 1178 962 943 764 568 423 298 145 67 70 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - filebrowser_quantum
1975 1861 1677 2055 1950 1700 4641 4392 4168 3939 3677 3414 3198 2982 2728 2451 2210 1956 1824 1599 1080 959 798 656 2480 2442 2410 2355 2311 2259 2215 2172 2124 2078 2029 2015 1948 1940 - - 1808 1765 1731 1691 1651 1612 1567 1539 1500 1463 1433 1394 1359 1323 1274 1246 1212 1170 1122 1080 1041 1038 996 963 917 909 749 704 656 605 550 480 425 0 685 625 538 455 776 724 622 539 429 1945 1874 1825 1770 1714 1640 1587 1524 1474 1433 1384 1341 1287 1237 1182 1137 1082 1034 990 948 903 849 800 738 648 1184 1137 1102 1061 1015 1015 941 850 772 679 593 499 716 602 499 390 82 1556 1399 1331 1255 1164 1085 995 885 673 525 412 1073 989 910 836 771 719 668 628 572 513 452 380 354 285 267 265 291 272 271 280 283 234 316 313 246 225 233 263 271 321 319 216 211 213 221 274 203 206 277 145 202 333 260 277 254 254 294 218 282 205 204 195 transmission_ls
1962 1817 1641 1453 1364 1020 847 653 470 275 2403 2072 1791 1474 1145 798 482 162 149 138 138 130 116 110 102 93 233 222 211 207 200 197 179 176 164 160 154 154 - - 134 121 107 105 103 96 87 77 71 54 74 214 208 205 199 197 189 182 176 173 165 164 158 158 153 153 142 137 134 128 124 116 110 102 100 90 83 69 63 55 9 109 102 86 91 470 458 449 438 429 424 418 412 407 397 390 379 363 356 350 339 336 327 323 313 303 288 282 279 276 274 266 256 256 235 206 172 134 92 179 136 95 682 655 626 589 513 481 443 405 343 302 269 198 160 125 46 187 128 81 57 112 109 99 90 87 75 71 67 66 29 187 150 115 74 644 571 518 510 386 384 376 374 352 301 240 145 113 107 106 101 97 90 84 74 64 67 61 56 51 29 29 20 8 44 28 26 26 webtrees
1867 1859 1837 1823 1795 1724 1714 1688 1665 1649 1573 1396 1216 1023 832 644 450 260 224 198 162 123 99 79 65 49 24 4 128 119 103 84 63 40 14 6 72 72 - - 71 67 66 66 66 66 66 66 66 61 61 60 60 59 59 59 53 49 53 78 68 68 61 44 57 54 50 55 60 45 57 48 55 61 52 59 49 54 56 53 51 49 57 50 55 54 51 55 47 51 70 58 54 61 150 145 133 120 111 104 96 76 61 65 71 59 60 77 67 67 75 68 124 124 96 140 105 85 114 20 120 103 106 98 107 87 129 102 99 115 114 116 115 118 107 134 67 146 115 82 82 83 89 90 79 90 82 79 76 106 99 97 95 88 87 110 111 72 111 79 71 64 84 105 116 143 79 70 57 58 56 71 65 60 59 49 60 48 54 62 52 52 43 39 65 49 42 41 readarr_nas
1853 14 2373 3518 3129 2362 1976 1428 85 3567 3099 2595 2110 2218 2226 2123 2131 3075 2788 2439 2121 1669 1114 768 1620 1480 1340 1195 1009 720 1234 1098 913 725 1035 854 595 567 - - 1005 842 794 652 451 24 708 433 621 901 742 688 1137 1026 903 781 642 830 703 489 30 30 1015 889 774 743 224 681 870 766 598 37 423 40 698 575 549 649 505 823 697 483 462 307 560 418 441 427 423 498 405 506 405 402 462 368 359 333 391 346 369 301 290 288 301 304 336 251 270 459 397 343 279 278 323 255 250 398 329 263 252 221 205 207 188 203 315 250 552 495 442 380 314 208 145 138 62 160 147 149 105 137 90 92 69 35 105 98 82 111 103 87 97 92 94 92 35 205 194 100 80 54 74 74 174 124 42 34 46 58 53 70 60 48 21 23 29 22 29 28 2 2 0 - - - - - immich
1824 1759 1715 1675 1612 1514 1466 1390 1329 1252 1182 1109 1062 992 921 839 783 728 651 581 514 432 364 249 312 267 50 370 339 298 269 215 334 291 232 448 427 424 - - 342 311 293 262 215 578 551 532 505 483 468 443 423 410 390 363 348 329 304 275 245 244 171 1001 983 983 911 890 876 862 843 824 799 769 746 718 696 670 648 623 586 890 842 794 767 734 703 679 643 605 563 519 475 419 394 355 310 274 237 196 156 116 142 58 86 24 473 439 402 375 347 312 273 273 202 148 158 878 828 762 702 625 552 493 419 359 224 128 46 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - whatsapper
1784 1772 1735 1719 1703 1665 1653 1630 1605 1589 1523 1355 1171 979 787 601 413 219 195 185 167 153 137 132 119 107 95 39 159 144 132 118 108 89 123 112 98 96 - - 99 143 137 125 116 96 80 186 174 159 151 142 131 122 117 106 95 88 142 132 117 117 109 101 93 89 103 88 141 134 128 118 111 100 87 156 141 134 118 108 99 82 146 126 117 103 95 88 77 94 85 74 111 102 93 86 74 117 112 99 92 84 77 74 174 163 156 149 143 138 131 122 110 110 215 188 147 110 365 330 292 248 216 185 148 120 385 355 318 296 262 234 199 131 334 295 228 191 150 120 94 81 105 97 94 91 84 79 77 110 116 111 104 101 110 139 133 77 205 76 55 71 141 109 224 150 82 76 66 64 75 69 60 60 62 50 67 58 43 65 58 58 52 42 68 51 45 44 lidarr_nas
1756 1554 1668 1738 1484 2297 2238 2164 2089 2009 1891 1730 740 1734 1723 1739 2236 2147 2049 1915 1739 1730 1006 692 1379 1318 1262 1208 1143 1081 1016 947 824 785 1031 983 927 921 - - 730 827 742 715 750 415 755 756 570 471 738 681 615 568 518 454 481 448 409 683 583 575 360 1121 1073 1067 842 750 737 743 1101 1049 911 537 481 547 475 546 455 475 669 609 553 486 412 469 403 571 533 480 424 363 530 492 463 424 390 358 313 440 404 378 341 310 270 684 651 634 620 603 579 560 539 539 482 438 384 335 282 31 352 279 329 271 362 305 334 268 162 250 468 419 374 272 215 216 336 289 234 187 151 116 251 233 218 208 189 167 223 193 452 411 365 320 266 209 196 150 240 99 176 145 179 407 339 251 259 232 211 194 169 139 200 167 150 123 143 132 184 157 93 114 94 73 52 44 34 32 tandoor_recipes
1609 1577 1537 1482 1460 1396 1362 1307 1254 1215 1161 1115 1077 1024 974 923 876 823 751 674 572 1284 1241 1196 1171 1142 1115 1092 1055 1026 998 970 944 913 883 851 825 824 - - 766 733 708 685 669 647 615 595 573 543 518 498 465 451 435 402 371 337 302 259 83 73 112 136 118 115 102 84 71 65 59 61 52 8 54 35 16 25 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - webtop
1341 1275 1195 1042 1198 1026 1246 1186 1107 1012 1320 1295 1239 1167 1082 980 970 1179 1112 986 788 641 519 39 583 530 477 199 465 686 655 612 579 535 499 447 425 418 - - 699 668 644 626 592 559 527 499 464 387 601 577 544 515 492 459 404 403 768 741 719 719 688 655 634 629 512 465 405 408 457 414 482 440 488 426 409 419 421 423 408 404 400 405 398 427 383 396 387 454 426 373 392 388 360 420 376 374 373 364 409 370 364 385 1510 2162 1045 382 370 378 394 388 483 483 417 416 460 379 428 23 433 430 436 426 352 356 403 457 460 457 474 485 468 454 518 439 377 430 422 336 384 391 65 65 65 65 65 65 65 65 35 1424 1360 1294 1246 1191 1107 1033 1008 865 829 803 773 722 639 546 425 380 346 320 283 247 246 288 248 191 243 192 192 217 146 146 121 90 88 55 37 35 sonarr_nas
1314 1378 1515 1695 1514 792 1334 1460 228 1628 1473 1478 805 1642 1415 1623 1460 1423 1408 1331 1441 1687 906 2208 2146 2105 2049 1990 1943 1908 1878 1849 1804 1769 1733 1709 1670 1665 - - 1562 1534 1500 1474 1447 1413 1402 1383 1355 1317 1294 1267 1226 1208 1188 1168 1135 1114 1092 1057 1029 1026 936 896 870 867 782 763 749 728 714 694 670 653 635 611 590 567 538 517 484 464 438 420 391 361 336 196 327 577 563 532 508 482 466 449 415 399 375 343 310 278 240 374 361 339 315 292 268 236 474 439 416 416 377 340 297 256 202 345 307 259 205 274 229 645 568 541 501 457 433 392 345 256 218 180 100 274 230 196 166 484 470 453 438 426 419 404 385 371 332 300 271 242 208 179 124 79 503 411 391 371 363 335 289 233 159 131 131 266 256 237 225 203 184 171 150 150 136 113 91 89 71 43 60 38 22 20 scrutiny-fa
1242 1136 1106 1074 1051 995 964 934 909 862 819 799 765 739 707 660 632 606 569 517 491 457 424 402 389 360 339 317 304 276 254 227 202 181 145 243 220 219 - - 147 112 192 184 169 151 129 107 83 63 35 7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - omni-tools
1164 1000 799 584 464 1035 827 637 404 341 329 299 136 448 405 381 341 309 248 292 215 247 201 178 153 117 351 336 322 308 294 285 269 261 243 233 221 220 - - 184 161 143 130 165 146 126 224 204 187 173 154 138 116 331 309 301 293 282 271 260 260 241 218 200 199 1298 1291 1282 1272 1261 1244 1236 1222 1201 1182 1161 1151 1135 1112 1094 1078 1069 1051 1031 1016 997 981 969 955 934 921 911 897 889 879 866 858 850 832 824 814 806 788 774 767 749 733 720 707 694 683 678 678 665 642 612 585 564 538 510 473 451 431 414 393 346 318 295 267 231 207 188 126 100 138 74 98 53 267 248 234 214 206 195 189 186 178 171 162 129 94 50 548 510 485 435 399 395 307 304 293 290 274 236 184 115 94 81 76 66 52 43 169 153 143 138 131 119 111 89 75 65 55 46 29 17 15 wger
1154 1680 1569 1450 1208 1393 1 1489 1245 1371 1635 1485 1313 1404 1384 1432 1449 1435 1425 1406 1394 1489 1059 946 879 809 712 1061 981 898 809 682 298 646 606 751 660 640 - - 679 755 670 673 657 977 931 887 843 758 678 672 859 784 695 1578 1534 1494 1451 1395 1352 1350 1304 1234 1175 1167 971 931 877 823 757 658 998 941 870 797 701 1156 1089 1007 926 818 696 1054 981 926 858 811 737 645 862 807 742 650 701 602 894 846 804 740 661 573 671 579 781 718 678 590 1025 970 921 863 814 814 718 619 84 839 764 687 562 586 584 595 501 501 511 773 675 579 696 583 782 539 522 543 1171 1097 1007 918 855 785 726 673 615 573 503 447 463 659 583 485 623 537 452 622 531 441 492 465 567 496 392 596 490 620 472 711 651 561 472 692 642 565 495 397 374 437 353 493 407 393 377 98 359 91 321 313 epicgamesfree
1133 1105 1063 1028 988 916 872 820 769 687 607 514 248 823 786 748 705 615 563 501 457 415 344 306 279 242 195 204 852 832 815 796 760 724 700 673 650 648 - - 574 548 519 495 468 447 424 399 376 354 331 303 280 259 239 219 193 175 152 129 110 108 88 63 35 33 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - librespeed
1125 992 1247 1156 1073 367 1479 1425 1374 1321 1249 1195 1145 1047 951 957 433 972 900 830 782 717 623 580 538 480 440 188 616 580 548 512 476 413 552 522 495 491 - - 589 555 518 492 450 389 664 640 622 590 553 533 493 464 447 420 371 434 411 366 394 392 493 459 431 423 438 387 371 463 425 386 471 444 395 528 493 456 393 481 423 368 484 452 421 368 444 419 366 404 362 446 420 380 472 450 417 388 352 434 419 385 341 496 473 449 411 369 544 519 497 454 409 409 559 510 449 370 804 758 706 644 594 543 440 357 863 797 756 703 643 582 497 590 518 447 387 513 443 343 442 386 414 362 299 519 481 451 420 376 704 640 567 497 436 354 599 529 491 341 286 291 291 267 503 411 280 382 347 322 281 250 86 290 257 222 235 191 186 208 200 200 128 95 91 47 31 29 radarr_nas
1120 0 25511 38165 10023 608 4057 2526 116 2420 2304 2356 488 2549 2328 1739 1143 1295 1205 1020 1035 1131 658 559 455 439 693 653 586 464 642 595 525 621 546 588 515 497 - - 511 507 515 491 705 665 619 558 494 230 503 204 489 473 479 637 583 518 505 522 537 532 677 613 546 535 596 529 586 522 518 533 581 518 528 598 523 654 600 523 509 484 496 479 602 534 469 467 513 446 457 527 463 452 515 447 449 461 435 433 427 471 411 417 415 415 532 491 433 489 410 503 436 436 450 449 532 449 461 554 457 530 443 443 398 475 384 439 446 549 461 535 441 495 425 504 337 376 385 374 343 346 385 324 367 312 232 316 413 358 352 353 348 339 437 364 400 303 364 260 310 306 404 326 354 432 288 279 250 254 307 243 252 236 226 196 225 281 231 243 288 288 237 181 298 226 195 195 plex_nas
1103 424 1081 1191 910 473 1110 1221 1066 1082 1079 1219 1025 1315 1156 991 1036 1028 1133 952 974 989 591 287 565 502 287 916 853 811 769 725 668 629 583 524 442 423 - - 470 467 495 434 585 539 492 437 485 413 587 531 458 369 471 389 542 492 418 494 458 456 383 514 458 452 377 390 474 435 366 438 378 345 279 208 803 749 706 654 584 450 653 533 312 434 378 337 287 348 321 270 262 272 304 257 434 380 331 226 205 285 252 193 254 217 260 195 230 204 217 185 129 128 264 200 9 723 668 606 559 501 456 409 340 279 152 171 104 367 326 275 212 270 230 185 86 219 164 288 244 203 164 112 128 171 134 676 654 633 590 546 509 461 418 380 301 253 230 133 113 87 413 377 330 266 188 158 126 109 95 79 119 92 66 42 277 270 243 225 193 164 139 109 97 61 43 40 browserless_chrome
1053 935 905 863 804 674 678 2414 2372 2296 2164 1964 1749 1515 1309 1090 891 694 663 623 585 553 480 422 405 370 323 401 373 351 319 290 339 312 266 276 1242 1241 1222 1206 1193 1174 1156 1136 1120 1104 1083 1074 1061 1039 1025 993 974 954 938 922 894 873 848 836 814 814 793 784 769 767 712 694 685 662 646 636 618 603 577 562 539 517 492 468 448 426 405 388 373 348 326 305 281 261 233 1015 996 972 952 934 919 911 896 882 861 848 837 830 809 797 778 764 745 721 700 676 655 655 609 571 512 451 399 344 289 208 645 601 560 524 450 404 346 289 228 147 714 624 564 521 419 380 323 270 231 200 173 144 218 200 177 158 140 394 350 301 250 205 139 466 376 315 298 149 133 531 520 478 417 328 216 186 170 155 138 121 88 303 282 266 241 221 198 168 148 125 102 87 80 45 21 19 addons_updater
1052 1016 988 953 905 835 799 766 735 686 641 603 556 502 414 868 813 765 707 666 623 567 457 922 876 849 811 793 761 739 718 703 667 628 598 575 553 550 - - 496 471 446 422 401 371 326 436 413 378 354 336 307 285 259 236 217 197 177 160 135 131 0 778 753 750 664 638 614 602 590 572 563 544 528 509 492 476 459 439 420 392 370 342 313 276 556 536 506 486 475 460 434 411 376 362 334 301 280 257 228 296 279 260 221 902 886 873 860 841 828 813 791 791 770 738 697 656 621 587 555 518 485 458 422 400 329 288 249 217 182 385 335 256 219 193 116 155 113 143 274 252 238 215 201 185 172 156 129 137 149 139 46 139 144 154 152 108 146 111 101 61 103 46 111 99 102 84 21 107 94 84 101 105 88 51 23 66 10 86 22 22 73 72 81 69 73 69 calibre_web
1033 1028 1024 1020 1020 1018 1018 1016 1016 1008 1006 1000 996 984 976 976 958 948 940 939 939 939 939 939 939 939 939 939 939 939 939 939 931 931 931 1390 1387 1384 - - 1384 1378 1378 1378 1378 1378 1378 1378 1378 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1369 1369 1369 1369 1368 1368 1368 1368 1368 1368 1368 1368 1368 1368 1362 1356 1356 1356 1356 1356 1356 1356 1354 1354 1354 1348 1348 1348 1348 1348 1346 1346 1346 1346 1346 1346 1346 1346 1346 1346 1346 1346 1346 1334 1314 1280 1256 1228 1194 1169 1143 1123 1101 1085 1071 1036 1020 1004 988 962 947 923 875 853 831 783 759 728 704 691 691 691 691 691 691 691 691 691 691 659 629 599 569 539 508 446 398 398 278 278 275 275 251 203 143 53 38 31 31 31 31 31 31 30 30 120 110 99 91 68 65 53 42 35 16 11 9 papermerge
984 939 893 846 818 706 664 588 509 451 357 301 327 266 182 168 94 16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bentopdf
970 938 910 878 866 828 794 763 731 709 657 641 608 594 570 545 515 479 433 417 391 371 340 320 299 285 276 271 247 232 211 191 178 166 142 296 284 281 - - 263 236 221 211 202 185 170 160 144 115 88 403 391 377 360 345 332 312 286 268 244 242 230 204 182 178 411 401 380 358 343 318 307 296 275 260 251 240 229 218 203 183 172 151 138 112 308 291 276 257 250 238 229 211 198 190 177 167 159 145 130 105 376 368 362 354 340 335 321 304 290 279 265 265 213 182 133 618 576 545 508 446 410 382 351 324 260 221 163 127 83 13 32 267 223 186 112 78 36 1065 1044 1031 1023 1011 1006 998 989 982 979 973 937 897 864 827 789 750 685 633 623 498 489 483 471 438 383 317 223 203 193 190 183 171 165 154 149 143 132 122 118 104 85 76 67 56 49 24 20 18 baikal
962 960 936 909 889 847 825 803 772 743 721 699 677 645 593 569 541 511 477 447 423 399 369 343 314 299 284 279 263 253 235 220 194 170 134 3428 3412 3409 - - 3367 3355 3336 3324 3312 3306 3294 3274 3258 3238 3216 3211 3182 3175 3163 3161 3151 3141 3133 3126 3114 3113 3104 3085 3065 3063 3019 3008 2989 2968 2959 2938 2925 2913 2899 2874 2853 2838 2818 2788 2765 2735 2718 2700 2686 2666 2650 2639 2627 2617 2589 2576 2558 2537 2521 2496 2472 2458 2450 2440 2423 2414 2404 2391 2381 2367 2357 2342 2327 2310 2299 2289 2268 2268 2249 2215 2165 2131 2088 2053 2010 1967 1936 1903 1867 1837 1767 1733 1693 1656 1626 1578 1540 1468 1429 1388 1314 1285 1253 1208 1183 1176 1163 1152 1141 1134 1125 1113 1105 1084 1038 995 949 907 867 827 759 707 700 577 568 557 544 519 461 389 283 261 249 238 231 219 210 195 189 179 166 152 133 123 108 98 80 66 51 23 15 14 xteve
932 367 1237 1172 1112 1003 907 990 825 1037 914 912 466 955 822 866 867 900 867 804 790 392 309 248 418 347 112 540 514 492 475 457 406 400 397 399 395 382 - - 402 459 422 392 372 411 370 367 427 392 350 380 341 388 349 338 384 347 351 352 398 395 351 349 428 425 359 339 375 334 359 323 333 344 382 361 327 347 313 342 295 293 328 284 379 344 314 271 286 316 298 279 349 334 315 291 249 275 244 287 259 228 175 128 216 126 246 221 264 249 225 201 117 117 279 227 215 211 257 212 298 250 222 186 261 229 156 244 195 154 186 143 168 177 138 109 80 102 91 38 99 65 50 48 31 36 17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - changedetection.io
925 883 823 759 713 612 539 442 345 778 722 702 662 632 584 564 542 496 441 413 375 351 310 274 244 206 169 361 332 297 275 254 231 209 154 267 253 252 - - 179 143 272 250 231 211 183 157 145 114 91 303 286 268 245 229 216 198 184 156 138 138 115 91 61 59 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - emby_stable
916 836 738 772 981 872 758 975 918 833 740 940 862 758 841 721 838 760 829 727 719 579 471 395 643 605 550 507 457 415 362 368 438 384 231 362 451 448 - - 230 4 362 466 418 352 380 325 311 202 485 428 358 340 466 414 353 530 511 479 450 448 416 364 457 448 365 355 346 541 512 462 433 365 332 446 419 374 329 428 383 327 420 373 330 409 368 318 378 338 291 391 359 314 323 287 376 334 284 371 326 278 335 292 261 315 278 382 343 317 275 257 374 374 333 283 360 293 325 262 366 314 261 24 215 324 212 332 286 237 300 249 343 234 307 262 129 193 127 252 196 189 125 181 171 151 172 976 968 953 927 881 841 800 757 718 666 616 598 501 477 453 436 396 350 291 219 187 148 161 186 150 145 86 127 83 155 124 112 127 115 115 125 98 112 86 107 69 calibre
914 731 510 1431 1334 958 760 524 52 694 513 459 217 524 636 417 620 445 370 332 302 274 220 416 396 379 363 348 324 299 276 258 239 225 206 188 160 154 - - 256 232 217 202 184 156 130 182 158 133 112 173 148 136 122 106 97 73 49 32 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immich_power_tools
900 815 709 980 931 837 772 659 68 407 654 669 286 793 717 644 628 685 605 582 572 559 360 314 270 212 241 15 432 372 448 403 369 421 368 373 372 359 - - 327 317 289 251 416 378 342 300 410 367 343 301 261 293 247 277 233 247 280 238 243 241 204 230 253 252 280 247 251 208 452 401 403 361 369 490 426 493 431 445 486 417 567 525 475 405 434 594 560 511 475 443 391 597 576 548 512 478 430 391 343 108 77 532 498 469 425 357 335 456 420 382 597 597 530 477 392 553 489 405 471 388 469 383 556 496 347 437 359 443 367 374 343 448 388 337 179 395 316 336 271 357 302 257 238 270 232 244 329 281 412 348 283 272 442 382 286 222 293 262 224 340 313 251 386 287 220 217 217 249 224 215 226 214 395 371 339 300 287 251 207 169 163 144 110 68 47 47 fireflyiii
891 326 418 924 818 713 569 310 38 762 655 888 844 768 690 604 307 603 699 645 562 468 338 297 261 200 148 290 259 186 360 344 318 298 271 264 226 219 - - 231 274 251 230 170 213 202 241 205 192 173 144 142 197 138 286 268 258 249 208 180 179 138 83 231 228 82 81 130 84 118 103 85 25 87 72 56 45 9 97 68 75 143 129 114 100 86 75 59 48 32 63 43 33 157 151 142 133 126 114 104 96 77 64 55 45 28 34 35 46 2 49 151 151 111 70 68 15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - birdnet-go
833 806 752 712 689 614 584 511 48 655 591 515 255 698 652 595 553 519 457 404 355 354 308 274 241 206 187 161 122 254 303 260 458 440 427 406 388 386 - - 325 294 255 321 265 367 324 267 368 344 327 293 262 519 505 492 476 456 436 419 407 406 379 361 342 338 241 330 318 290 260 250 256 768 752 729 717 685 666 645 627 596 578 558 536 518 498 482 462 443 430 412 394 376 363 347 331 314 303 272 245 216 186 875 860 841 822 803 780 765 743 725 712 712 686 665 634 607 579 541 504 467 440 410 382 354 285 250 203 159 266 227 185 247 218 187 86 213 157 166 129 173 156 140 117 450 433 421 409 386 344 306 257 215 164 272 199 129 331 194 184 171 153 247 177 97 203 180 151 138 120 104 108 150 133 116 96 159 149 130 105 85 69 74 81 48 24 23 joplin
768 0 515 740 786 324 0 779 80 753 739 771 314 757 728 790 699 703 693 800 679 704 389 303 370 322 323 149 367 290 412 380 333 334 341 386 337 334 - - 322 319 313 312 316 309 286 309 316 306 343 304 299 298 307 349 302 294 303 317 315 312 312 321 336 329 323 329 316 330 307 303 313 317 311 308 297 307 303 324 293 294 299 295 280 283 271 281 283 282 274 270 281 265 260 274 281 303 280 291 266 259 259 264 256 255 275 267 263 266 268 269 303 303 310 296 305 298 304 306 309 296 300 302 250 250 284 311 311 331 344 340 352 323 299 308 270 300 296 290 272 257 264 257 252 244 244 245 235 268 254 254 253 230 251 261 253 214 256 226 212 201 237 241 244 273 183 186 177 170 168 173 168 157 146 123 148 151 120 138 129 129 120 114 142 100 114 113 prowlarr
742 723 711 696 676 653 625 600 578 558 527 507 479 430 387 340 281 209 821 793 765 737 684 665 656 637 626 618 604 587 579 573 559 540 520 515 494 491 - - 461 443 428 419 408 396 385 379 366 350 327 312 303 295 282 267 250 239 217 180 1708 1708 1693 1684 1671 1669 1624 1602 1571 1558 1543 1530 1522 1502 1493 1483 1465 1454 1437 1421 1399 1373 1357 1331 1311 1300 1276 1261 1237 1224 1204 1190 1181 1166 1156 1147 1132 1113 1105 1087 1073 1062 1054 1038 1029 1013 992 977 956 947 938 918 901 901 883 844 798 763 715 683 638 586 546 520 485 456 386 347 311 272 244 198 133 218 170 135 372 325 281 228 200 182 165 157 144 135 111 83 1008 994 954 904 863 824 772 735 657 594 577 444 422 414 397 360 297 222 109 95 256 245 233 216 204 183 162 148 140 117 90 72 145 145 126 80 97 67 54 54 transmission_openvpn
721 711 699 681 681 655 649 623 608 594 566 558 546 528 508 486 475 456 439 433 400 388 374 360 356 346 335 325 310 301 292 289 280 275 265 262 247 247 - - 226 213 211 202 192 186 182 173 164 156 146 131 123 118 110 100 93 73 214 206 201 200 193 184 176 176 151 145 138 130 118 98 87 257 252 243 230 218 212 198 182 170 158 137 133 116 103 83 1597 1585 1579 1569 1560 1548 1543 1538 1527 1521 1514 1511 1503 1496 1491 1481 1476 1470 1455 1445 1443 1430 1423 1417 1409 1409 1396 1375 1355 1326 1298 1269 1248 1219 1197 1180 1151 1132 1077 1056 1025 1010 991 968 935 879 858 832 788 764 741 720 706 702 698 687 681 676 670 662 659 649 620 590 559 529 503 478 422 385 376 292 279 269 260 232 193 146 76 47 61 49 35 39 31 17 9 - - - - - - - - - - - - - binance_trading_bot
690 687 681 670 668 660 648 642 637 632 628 618 608 592 582 578 570 568 560 556 556 554 554 551 550 549 544 543 540 537 530 528 522 521 519 513 512 512 - - 505 500 496 494 491 491 488 488 487 482 479 477 475 472 471 471 471 469 466 466 462 462 462 462 461 461 452 450 447 447 447 443 438 435 429 423 421 416 412 411 409 409 408 405 402 393 389 386 385 383 380 377 375 373 370 368 362 357 357 356 351 350 349 345 339 332 329 326 324 316 307 297 290 290 260 236 207 177 148 119 89 57 30 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - comixed
680 768 804 909 801 412 749 778 103 900 788 785 428 898 708 899 789 765 751 744 709 805 463 866 823 790 756 726 683 663 628 610 579 558 523 504 478 473 - - 399 368 335 313 289 246 225 195 158 127 1041 1022 983 966 943 919 901 883 867 833 808 805 666 597 579 575 509 499 488 475 468 445 432 416 406 382 366 353 335 317 298 283 270 249 234 213 189 104 182 321 314 300 292 277 265 240 214 194 168 59 191 168 136 230 210 201 187 167 150 126 353 337 326 326 283 244 205 167 125 237 209 174 128 220 164 606 540 497 460 420 386 345 308 237 200 150 70 220 177 144 114 797 792 778 770 757 751 740 732 717 684 658 631 603 575 545 497 459 442 348 335 320 313 290 248 188 112 91 104 158 144 132 119 103 81 130 127 112 97 74 81 81 67 48 84 58 58 58 scrutiny
674 643 617 581 532 539 497 546 461 499 473 528 251 380 497 581 567 357 303 512 459 535 303 181 283 225 158 291 294 361 335 293 305 510 483 461 435 431 - - 362 322 284 292 297 285 401 374 350 321 281 279 324 293 289 547 528 515 495 464 437 437 410 380 353 353 470 452 428 409 386 353 330 301 266 314 281 406 374 348 322 308 272 342 302 265 262 253 257 440 420 411 385 359 334 316 293 266 244 245 275 233 305 285 260 225 409 393 366 350 331 315 287 287 241 339 293 239 290 246 227 232 231 453 408 373 307 250 230 416 383 352 307 231 221 217 146 216 171 125 213 191 229 206 161 201 173 283 262 235 175 334 278 228 176 484 413 357 342 215 204 187 164 467 406 331 227 198 174 147 114 147 130 184 179 157 135 114 107 114 102 102 87 72 61 33 22 20 cloudcommander
663 655 647 635 623 599 585 565 532 508 488 463 443 423 411 394 371 349 323 291 277 261 237 224 213 204 191 180 170 160 149 143 128 114 311 298 291 290 - - 272 251 239 231 221 210 204 194 174 156 144 127 112 142 131 115 80 20 265 252 242 242 232 225 220 218 179 172 150 133 524 514 499 478 462 449 431 409 394 384 370 354 331 322 307 291 278 272 260 253 241 231 213 193 171 145 132 107 92 197 186 172 160 156 151 142 126 111 96 75 143 128 113 113 66 1929 1888 1853 1821 1790 1754 1705 1684 1660 1631 1603 1532 1495 1457 1431 1393 1352 1310 1240 1202 1168 1107 1067 1033 994 976 971 962 952 939 933 928 923 917 906 870 837 797 757 719 680 615 566 556 435 426 412 406 377 323 259 162 142 128 117 108 94 83 76 61 57 55 45 39 31 37 37 19 11 28 12 10 8 resiliosync
629 624 612 600 591 583 571 561 552 541 533 527 509 495 487 473 448 434 420 412 400 398 379 371 368 362 359 356 353 349 346 344 339 324 316 312 302 301 - - 287 274 268 265 258 257 248 243 233 226 217 212 206 198 193 189 183 183 180 173 165 165 162 157 156 154 140 136 134 131 127 119 116 116 109 101 96 77 62 129 107 76 87 82 76 75 83 80 78 64 917 912 905 903 899 889 876 866 860 857 852 846 840 835 830 819 811 804 793 783 780 776 768 768 753 728 686 654 625 587 552 507 477 453 426 399 344 322 292 261 239 215 189 115 79 43 194 166 130 93 78 75 63 58 49 831 824 821 819 806 767 728 695 664 632 599 534 485 474 348 344 335 328 297 248 188 88 71 62 59 54 51 41 31 27 79 70 63 56 46 29 25 55 49 45 27 23 22 spotweb
618 615 609 605 605 589 581 581 568 563 555 553 551 539 527 519 501 491 483 483 483 481 479 479 477 475 474 473 472 469 464 462 458 458 457 501 501 501 - - 498 491 489 489 487 486 485 485 484 475 474 470 468 466 465 464 463 459 459 458 456 456 455 454 452 451 450 448 447 447 446 441 441 439 439 437 436 433 431 429 427 423 420 413 412 403 395 393 390 389 387 379 376 371 369 367 359 358 356 352 350 343 333 326 312 307 297 294 281 270 262 253 238 238 196 168 130 204 172 133 456 408 376 360 323 302 249 218 188 156 120 469 432 360 332 296 227 188 156 121 101 94 88 77 66 87 79 72 57 70 84 88 88 83 83 107 104 47 184 54 60 60 79 94 198 131 68 52 46 44 41 55 53 47 51 44 53 44 37 56 59 45 42 33 63 33 32 31 plex-media-manager
570 194 658 565 536 216 480 501 46 486 438 415 200 414 372 364 377 380 310 287 262 242 151 106 92 61 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - brave
547 525 511 489 461 400 370 484 434 376 698 686 653 612 577 528 490 440 383 392 156 332 279 249 229 209 187 28 195 144 207 190 205 284 268 259 240 238 - - 507 472 450 425 411 392 375 361 343 312 282 260 238 215 451 440 430 409 394 372 351 351 323 282 251 242 291 265 242 301 263 216 791 775 762 732 709 690 665 645 625 594 572 548 526 513 465 443 419 388 368 348 318 284 243 426 403 383 369 353 329 311 296 268 230 320 304 285 249 210 245 226 251 251 1141 1107 1059 1018 970 922 874 815 776 738 695 669 599 560 527 494 466 426 371 284 235 168 163 186 254 213 180 137 423 406 384 371 359 339 332 318 288 255 197 135 398 350 288 246 235 126 269 247 228 191 133 207 108 121 278 261 246 225 214 112 170 152 126 96 91 87 143 143 121 112 103 78 81 81 photoprism
545 518 504 482 468 432 400 362 330 281 573 545 499 475 445 419 385 343 325 287 138 286 257 236 221 208 193 169 148 195 162 142 158 130 139 741 729 728 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - monica
523 513 501 489 477 448 440 421 402 363 348 335 318 292 270 258 238 220 206 178 163 153 140 131 122 107 85 156 114 2612 2594 2584 2569 2555 2544 3008 3000 3000 - - 2975 2963 2955 2948 2938 2932 2920 2913 2908 2897 2887 2878 2870 2863 2856 2849 2846 2842 2839 2827 2823 2823 2813 2797 2793 2789 2742 2733 2725 2722 2711 2698 2683 2675 2659 2640 2631 2611 2602 2587 2575 2555 2539 2532 2520 2495 2478 2461 2452 2440 2431 2428 2417 2409 2399 2392 2378 2372 2370 2364 2353 2344 2336 2324 2315 2303 2290 2283 2275 2262 2252 2241 2234 2234 2205 2180 2142 2105 2076 2030 1989 1939 1910 1884 1855 1830 1780 1737 1692 1669 1642 1605 1564 1494 1452 1414 1345 1318 1279 1245 1213 1208 1196 1185 1176 1168 1153 1141 1137 1129 1084 1045 1000 960 919 877 805 749 741 608 595 582 577 541 481 414 313 288 275 263 249 240 231 214 200 190 171 157 148 134 110 100 85 78 70 37 25 22 organizr
517 458 380 305 285 251 227 120 195 488 450 398 190 383 410 372 428 373 367 239 38 245 222 201 181 165 153 83 280 257 245 229 216 204 187 165 174 171 - - 133 84 137 121 156 147 126 155 137 118 97 97 89 188 181 188 188 178 186 166 154 153 141 125 108 107 184 207 183 278 268 256 242 224 196 3 194 199 207 212 238 221 216 196 174 199 174 237 228 210 198 188 173 161 146 202 181 163 135 152 133 105 200 190 174 160 140 247 237 227 211 194 173 173 128 317 274 219 267 215 150 2 314 281 237 181 190 241 197 206 327 287 225 307 267 228 147 243 197 136 225 212 198 184 162 151 135 127 122 328 285 239 194 141 222 180 114 253 243 110 427 419 414 382 327 256 156 134 120 99 86 95 177 156 131 132 118 103 84 83 77 73 62 51 47 23 16 15 fireflyiii_data_importer
502 6 24950 25575 9600 337 3 1775 72 1894 1785 1604 261 2012 1275 1781 1782 598 581 537 536 718 334 263 297 249 163 146 289 248 291 311 306 300 305 298 294 291 - - 295 294 288 297 296 305 295 305 301 295 285 288 273 279 291 296 293 279 295 280 306 305 294 317 303 293 285 304 286 294 292 298 295 296 288 285 286 294 289 304 272 272 301 272 274 270 265 273 261 262 261 246 263 259 241 243 230 242 232 243 234 235 228 238 233 230 242 234 235 245 253 239 283 282 275 275 287 267 268 279 286 253 274 272 234 222 2600 1318 270 257 258 211 268 250 236 241 215 229 237 221 205 203 187 195 195 194 195 195 192 237 231 219 224 219 233 244 241 189 247 188 193 187 220 184 239 253 183 177 181 171 169 161 159 154 148 110 134 140 111 129 118 118 94 106 136 104 95 95 jackett_nas
463 68 1870 1818 1782 1729 1699 1660 1606 1570 1519 1487 1457 1421 1381 1319 1278 1234 1203 1181 1154 1142 1093 1056 1040 1027 1002 985 968 948 923 892 869 848 830 808 793 793 - - 747 725 710 693 672 658 638 618 600 573 548 526 508 491 467 447 417 398 366 335 301 300 251 507 491 487 390 361 336 292 258 577 554 527 511 481 440 413 373 310 257 310 269 266 111 1733 1703 1673 1645 1616 1593 1563 1543 1515 1500 1480 1464 1444 1432 1394 1359 1346 1319 1296 1275 1249 1227 1205 1178 1146 1126 1097 1076 1076 1044 1001 951 907 866 824 788 736 696 664 617 574 498 466 410 364 311 262 202 369 317 245 129 224 169 715 685 653 621 597 573 553 519 490 465 440 399 358 301 255 196 146 77 22 124 40 26 37 6 - - - - - - - - - - - - - - - - - - - - - - - - - free_games_claimer
463 433 241 551 537 485 461 431 391 360 323 295 237 590 567 522 488 448 420 358 291 257 210 157 201 183 166 64 316 306 292 271 258 241 234 228 218 218 - - 193 175 144 320 314 304 293 288 277 266 257 245 239 230 226 220 212 208 202 186 172 171 154 364 350 349 316 302 285 278 264 254 248 244 229 219 212 195 171 153 146 266 254 245 234 218 207 197 182 172 166 151 140 155 134 276 265 261 251 238 230 220 208 202 195 190 179 172 163 147 614 608 597 597 561 521 484 447 413 385 350 308 270 241 187 153 173 473 435 404 374 338 302 217 176 128 120 259 214 172 143 183 160 151 144 128 359 352 343 331 293 251 201 145 154 253 174 445 441 311 299 287 268 227 169 206 101 158 140 132 122 117 106 98 127 120 117 107 93 80 84 84 49 103 98 75 69 68 bazarr
446 412 400 365 347 315 286 209 188 159 619 589 559 541 519 487 461 440 399 343 287 236 183 164 147 126 107 79 171 131 301 294 280 264 246 240 220 220 - - 163 1013 1002 991 981 970 961 946 934 921 906 890 875 861 851 832 819 810 792 767 752 752 741 723 710 710 645 619 595 574 558 540 513 488 464 447 426 402 382 354 338 321 305 278 270 246 222 196 175 149 360 346 323 304 282 262 225 207 181 147 2203 2186 2174 2158 2129 2107 2080 2063 2044 2032 2009 1985 1968 1968 1946 1910 1853 1801 1755 1702 1655 1599 1562 1514 1484 1460 1380 1342 1298 1260 1219 1173 1125 1032 995 957 869 825 766 723 687 659 636 619 608 588 576 552 540 529 477 415 364 306 255 200 119 864 836 693 659 637 621 586 516 434 302 271 235 212 178 144 121 76 188 170 121 148 113 223 174 119 117 123 104 45 19 14 zoneminder
439 430 414 402 388 365 349 336 316 283 249 233 124 351 308 266 336 310 274 256 248 234 204 193 189 176 161 139 180 172 164 155 136 220 214 204 192 191 - - 153 93 78 148 510 506 495 481 471 450 439 429 420 417 407 398 392 387 383 371 363 363 353 343 330 328 289 275 266 248 235 226 212 200 186 170 143 298 280 267 250 241 231 219 209 197 177 165 146 179 171 160 137 1162 1149 1143 1132 1119 1111 1104 1092 1085 1080 1056 1050 1043 1038 1034 1019 1006 998 988 983 983 966 938 903 873 833 791 748 698 661 629 603 573 520 478 440 412 382 346 305 237 201 164 87 184 138 196 168 156 147 133 124 117 109 96 91 767 725 685 650 613 579 539 471 416 406 278 270 249 242 215 154 75 103 76 54 259 251 240 232 218 216 204 199 180 168 148 135 119 97 82 72 41 32 29 whoogle-search
439 429 425 417 417 399 383 370 352 338 320 304 294 280 272 260 252 229 211 185 175 173 173 172 165 161 157 153 147 143 129 119 110 103 95 86 76 74 - - 74 60 261 260 256 252 247 245 237 229 226 226 222 221 216 212 207 207 204 198 192 192 188 186 180 180 157 154 153 150 148 146 136 131 124 111 101 95 89 81 71 66 685 681 675 665 657 653 650 643 638 635 628 623 620 619 610 608 602 600 596 593 583 580 577 574 565 560 558 553 551 548 544 544 533 513 487 470 449 430 409 385 365 352 335 318 281 259 240 215 199 178 160 109 91 71 26 85 54 68 53 49 39 36 27 584 580 579 575 572 549 525 503 477 454 429 381 342 339 255 254 250 246 225 192 150 88 76 68 63 60 58 55 50 47 45 41 39 33 29 20 16 8 24 18 5 7 7 fireflyiii_fints_importer
437 422 396 357 323 276 260 224 196 146 122 149 129 303 264 224 201 161 117 79 98 60 77 58 48 34 20 21 18 37 37 37 31 31 30 37 36 36 - - 36 30 24 24 22 21 21 21 20 13 13 18 18 18 18 18 17 17 17 17 32 32 31 30 30 30 27 27 27 26 26 23 20 20 20 21 30 30 29 25 23 20 29 38 36 30 23 24 22 24 23 27 26 39 38 38 32 29 27 26 39 37 34 33 31 134 133 133 133 129 128 128 128 128 110 86 344 320 293 262 227 201 175 155 133 119 92 69 43 24 1 319 287 213 184 145 75 95 181 145 122 116 105 96 77 71 60 50 218 212 175 138 88 130 87 628 556 499 491 367 362 353 343 314 260 193 90 63 50 51 207 193 186 167 160 149 140 133 119 103 80 64 50 39 26 7 4 4 vaultwarden
435 417 384 358 338 128 360 346 302 331 293 625 605 569 551 527 504 470 450 426 401 389 365 341 325 303 291 280 269 258 247 237 228 204 182 170 159 158 - - 205 191 184 170 156 144 127 178 163 152 146 132 123 108 223 215 208 203 196 181 175 175 168 158 150 149 124 167 152 145 137 122 111 95 73 195 185 168 159 148 132 107 112 247 231 221 210 202 194 184 171 158 153 143 132 123 115 106 92 5318 5316 5304 5295 5289 5283 3973 1822 130 118 105 97 150 145 145 113 103 273 250 224 200 167 142 107 212 192 175 130 104 196 171 149 122 356 299 277 256 213 188 166 135 114 105 93 77 105 99 94 85 78 104 81 83 84 77 72 94 85 58 103 50 49 47 61 82 94 120 49 44 31 33 28 31 27 23 20 16 11 7 2 - - - - - - - - - sabnzbd
431 2 292 242 200 162 754 715 657 569 504 433 190 429 318 612 560 516 464 394 335 275 164 99 224 206 185 167 148 130 107 152 138 121 102 248 238 237 - - 203 192 176 170 156 144 131 121 108 95 79 108 95 82 68 96 90 82 76 61 112 110 94 87 77 77 30 24 45 39 65 54 43 24 71 64 56 44 49 35 36 147 142 132 117 96 83 72 63 59 49 39 35 24 18 45 23 15 14 7 79 74 69 60 50 44 31 24 17 3 4 - 17 17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - navidrome
400 2 796 766 756 726 704 682 648 615 548 510 279 268 623 532 573 551 521 478 444 408 363 340 331 318 296 276 232 215 253 394 374 361 340 324 302 301 - - 294 268 239 291 273 254 221 246 212 250 226 207 205 222 216 204 283 268 253 234 212 211 187 146 269 263 377 354 335 317 303 277 261 248 235 207 173 127 201 284 253 233 211 187 147 221 185 384 359 336 316 301 277 262 237 227 191 173 147 121 161 142 116 86 289 258 243 228 206 192 168 149 135 135 102 73 254 220 185 143 111 53 21 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - linkwarden
396 386 374 364 362 350 338 330 323 317 311 307 291 281 269 257 241 223 211 203 197 195 192 190 185 181 176 173 165 160 155 151 141 131 121 117 111 111 - - 91 79 74 69 66 64 59 54 267 255 251 249 246 243 243 239 234 229 228 217 213 213 212 206 203 203 189 186 184 182 169 164 163 153 149 146 143 132 128 125 123 122 118 114 106 95 85 79 74 65 56 70 65 63 52 1817 1807 1801 1801 1798 1793 1784 1779 1774 1768 1764 1754 1750 1739 1730 1726 1723 1721 1721 1711 1685 1649 1621 1589 1559 1524 1485 1448 1430 1407 1382 1342 1313 1288 1264 1237 1209 1176 1106 1079 1048 994 970 929 903 889 885 883 878 869 866 858 856 853 850 817 784 749 711 675 645 580 519 509 385 381 372 366 335 287 227 136 119 110 106 98 89 82 71 67 62 56 49 44 37 68 68 57 41 37 19 10 9 ubooquity
389 387 381 377 375 373 367 365 354 352 343 337 333 325 309 293 283 273 253 249 243 239 229 228 225 222 217 212 207 207 206 204 193 184 176 179 173 172 - - 163 154 151 149 143 142 141 141 139 130 128 126 126 125 123 121 114 110 106 98 96 96 91 88 86 86 75 71 65 57 52 43 37 32 11 146 140 136 130 123 120 119 114 107 102 89 81 80 78 69 65 59 54 47 44 42 31 31 25 13 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tor
377 367 351 327 325 319 311 291 278 266 236 220 208 184 164 128 206 180 168 148 128 112 96 89 84 69 54 50 40 26 1874 1865 1856 1848 1845 2325 2318 2318 - - 2298 2288 2283 2275 2274 2268 2264 2261 2258 2250 2245 2244 2233 2222 2216 2213 2209 2205 2201 2198 2190 2190 2190 2187 2177 2177 2155 2152 2149 2145 2136 2123 2118 2105 2101 2088 2076 2057 2043 2024 2010 1997 1988 1985 1970 1951 1932 1928 1916 1909 1903 1899 1890 1884 1875 1869 1861 1849 1847 1840 1837 1830 1824 1822 1818 1812 1808 1806 1804 1799 1796 1793 1785 1785 1768 1739 1693 1658 1620 1596 1555 1514 1486 1467 1441 1419 1377 1350 1328 1304 1279 1236 1209 1151 1128 1098 1035 1005 968 931 912 908 905 900 895 893 889 888 879 874 843 810 777 742 708 676 615 563 560 438 436 431 427 396 344 279 188 169 150 143 139 133 123 105 83 125 117 108 92 89 68 53 47 38 29 13 7 7 gazpar2mqtt
324 84 322 282 304 107 259 281 22 315 295 308 91 288 360 212 245 202 224 191 208 228 151 39 81 28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - chromium
321 0 427 764 742 694 657 608 580 539 507 473 428 364 467 425 393 328 327 316 294 275 226 193 163 117 217 204 182 163 137 232 214 203 192 175 156 154 - - 275 261 247 240 223 205 182 164 150 122 97 86 56 74 54 42 45 55 34 14 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immich_frame
302 293 283 259 247 203 382 366 342 325 309 276 104 789 757 731 698 664 609 539 691 1326 1242 1184 1143 1104 1069 1030 997 941 908 879 835 793 751 718 688 680 - - 591 564 532 493 454 426 383 349 292 357 328 270 264 372 337 307 265 267 506 475 455 453 414 379 357 356 226 270 231 225 400 373 341 305 288 262 231 197 243 209 449 427 394 369 340 305 151 211 189 164 135 243 226 204 192 164 140 127 112 62 284 268 245 235 220 205 184 154 131 148 129 362 340 340 284 246 205 159 1035 987 951 900 859 829 801 754 665 629 599 568 529 493 443 376 342 313 239 204 166 130 107 99 88 79 66 52 57 44 37 610 561 521 480 440 399 357 281 228 223 88 78 65 55 102 45 26 - - - - - - - - - - - - - - - - - - - - - - jellyseerr
298 293 289 283 283 281 279 276 266 262 254 244 234 218 212 200 190 180 170 166 164 152 130 111 99 82 74 47 0 98 91 86 38 358 351 345 341 340 - - 324 313 313 310 300 293 291 288 283 272 270 266 262 258 253 249 239 236 234 224 219 219 214 208 202 201 179 172 167 165 158 150 145 135 122 112 102 94 83 244 233 230 225 221 216 205 198 191 182 172 161 158 155 151 147 139 130 123 118 110 105 94 77 1046 1036 1032 1028 1021 1015 1015 1008 1004 1002 1002 975 959 924 889 859 827 789 750 714 694 674 648 607 577 554 528 511 476 442 377 348 317 248 216 180 149 128 119 110 104 98 92 85 75 64 608 570 529 482 448 410 376 307 258 250 118 109 91 82 341 287 220 121 103 90 88 84 80 73 59 93 92 87 81 73 65 50 40 39 30 24 9 4 4 ombi
292 2 669 595 471 691 653 583 74 695 642 540 258 716 682 642 587 514 462 433 387 362 331 281 245 341 331 301 265 237 293 272 235 287 267 242 241 237 - - 310 286 265 244 219 297 281 257 231 222 271 253 227 283 264 243 212 217 277 256 241 238 221 294 272 270 212 193 240 224 191 214 198 219 194 242 228 218 197 246 223 194 180 221 194 282 265 252 241 221 205 178 225 216 194 179 157 270 259 245 229 217 202 192 175 157 218 209 197 182 159 318 305 305 276 253 221 180 252 218 166 142 140 171 127 32 170 141 167 129 209 183 148 134 56 133 65 83 160 130 109 97 84 85 76 91 77 133 113 94 129 92 132 101 85 117 61 310 299 215 209 203 189 163 114 134 102 68 20 69 62 94 87 74 59 45 79 72 63 53 39 57 38 45 32 21 14 12 gitea
270 347 327 278 235 134 0 294 232 302 273 295 162 425 284 256 216 178 154 134 344 303 174 146 218 204 184 167 142 106 149 132 132 130 149 134 119 115 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - grampsweb
270 0 520 494 456 412 394 363 343 288 247 389 359 323 284 249 208 240 167 139 10 122 88 53 80 66 53 35 15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - social_to_mealie
261 241 219 199 189 157 140 119 86 70 272 240 224 204 174 140 114 92 74 56 36 92 74 61 100 90 80 67 48 75 36 242 224 210 185 177 164 163 - - 133 120 106 95 85 1664 1660 1649 1637 1625 1613 1601 1593 1584 1572 1553 1546 1541 1529 1514 1504 1504 1499 1478 1470 1468 1428 1419 1401 1391 1380 1366 1357 1350 1343 1338 1331 1313 1305 1292 1278 1258 1251 1239 1233 1220 1210 1201 1197 1185 1179 1172 1162 1153 1147 1135 1125 1122 1113 1105 1095 1090 1082 1069 1061 1057 1034 1028 1024 1014 1008 999 993 993 978 952 909 877 844 809 774 724 693 673 641 614 554 518 482 454 424 384 341 276 236 206 146 106 73 35 11 8 6 1 546 535 527 519 512 504 467 436 404 365 326 285 217 163 157 30 59 48 44 291 240 174 77 51 40 34 32 54 46 38 29 22 38 34 19 25 61 61 50 49 43 21 17 17 seafile
240 237 233 227 225 216 209 200 191 187 183 175 165 143 139 125 111 98 82 74 67 57 43 39 36 34 32 82 72 57 48 44 37 27 21 136 133 133 - - 118 108 102 97 89 88 87 85 85 79 78 73 65 62 56 53 46 44 38 26 38 36 28 19 34 34 22 29 25 31 26 25 31 26 25 46 35 30 26 102 90 79 72 58 45 29 25 56 47 36 34 29 23 20 30 20 34 30 23 17 15 22 39 36 32 30 25 28 25 20 69 64 58 58 35 80 53 36 34 37 64 39 37 56 30 48 31 50 33 31 34 32 79 32 36 31 29 40 38 31 31 17 21 15 29 13 14 18 22 323 299 277 251 229 206 184 139 103 94 8 5 14 33 42 52 70 28 20 13 11 17 13 15 17 17 10 19 17 14 27 43 38 34 30 24 7 13 11 omada_v3
238 233 225 215 213 192 178 175 165 155 140 132 116 84 68 167 139 120 115 2 160 156 146 139 135 132 130 125 123 117 114 108 94 90 84 83 77 75 - - 71 65 61 57 53 49 48 47 44 39 35 34 29 232 231 231 225 223 220 213 210 210 204 199 195 195 183 179 176 173 171 169 167 165 159 158 153 151 143 137 134 132 125 117 111 103 97 93 90 82 79 76 75 71 69 68 62 60 57 52 50 43 55 49 36 281 281 276 269 258 253 247 241 241 222 204 179 154 131 116 92 68 50 24 138 125 95 74 52 52 80 58 35 197 179 156 118 94 72 53 41 39 31 25 18 22 16 103 100 92 67 41 60 38 213 191 145 112 108 21 213 209 205 188 153 111 47 37 30 27 36 35 28 21 29 26 22 23 17 25 32 32 21 22 20 11 9 9 unpackerr
234 228 220 216 210 204 198 190 177 170 154 149 147 119 102 94 80 62 54 42 40 40 38 33 32 29 25 6 49 41 909 906 901 894 889 1101 1099 1099 - - 1097 1088 1087 1085 1084 1083 1081 1079 1077 1070 1069 1065 1063 1062 1059 1053 1051 1050 1046 1046 1041 1041 1040 1038 1036 1036 1031 1027 1025 1022 1019 1012 1010 1007 1006 1000 999 995 995 995 995 994 992 991 990 981 973 971 966 958 953 947 946 940 937 933 921 918 914 909 905 903 900 897 895 892 887 883 882 875 868 860 856 856 834 806 766 728 695 659 622 585 560 534 511 489 436 405 371 339 300 276 242 169 132 99 33 98 59 531 500 488 476 476 475 473 467 462 462 461 431 401 366 336 304 271 202 153 152 30 28 19 334 306 256 194 101 88 82 76 74 71 67 63 61 55 55 51 50 48 34 33 31 32 32 20 18 18 joal
220 319 1 380 291 492 464 426 402 357 333 315 289 270 253 232 199 165 130 104 213 367 290 201 319 145 493 398 308 212 9 149 81 218 73 100 28 61 - - 217 151 244 187 72 155 269 177 126 182 164 203 80 448 380 370 352 342 326 302 276 274 233 198 162 159 118 106 56 107 49 49 121 88 9 72 206 639 409 87 207 190 180 163 150 134 119 110 96 61 111 94 71 58 57 76 113 104 95 82 15 33 77 68 58 55 65 36 37 47 3 28 33 33 34 82 19 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - birdnet-pi
220 319 1 380 291 492 464 426 402 357 333 315 289 270 253 232 199 165 130 104 213 367 290 201 319 145 493 398 308 212 9 149 81 218 73 100 28 61 - - 217 151 244 187 72 155 269 177 126 182 164 203 80 448 380 370 352 342 326 302 276 274 233 198 162 159 118 106 56 107 49 49 121 88 9 72 206 639 409 87 207 190 180 163 150 134 119 110 96 61 111 94 71 58 57 76 113 104 95 82 15 33 77 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - battybirdnet-pi
214 214 210 206 193 189 185 180 178 176 175 171 171 171 169 165 163 161 157 157 157 151 147 144 142 140 138 132 115 102 94 83 72 60 48 554 544 544 - - 526 519 513 508 507 503 498 491 487 481 478 473 463 460 451 444 442 438 433 425 416 412 402 395 393 392 375 372 369 365 357 350 345 338 328 325 320 314 307 298 278 270 255 243 229 213 203 192 180 162 154 145 138 133 128 116 96 85 67 67 66 68 63 77 73 75 78 73 79 72 78 81 97 97 89 99 92 96 90 92 95 86 80 85 57 76 87 96 90 86 91 109 143 92 105 69 103 148 153 149 165 134 160 124 332 332 332 332 332 332 312 292 272 252 232 212 170 138 138 58 58 111 119 128 142 166 110 109 112 105 103 97 108 95 115 76 82 75 79 84 127 105 93 88 78 53 51 51 omada
208 198 186 182 180 170 162 152 146 128 124 122 116 112 100 92 82 64 50 42 38 38 38 37 35 26 3 281 273 271 269 266 258 256 252 262 259 259 - - 254 246 244 244 242 240 239 237 233 226 224 222 221 221 220 220 219 218 216 215 215 215 214 213 212 212 206 206 201 197 195 190 188 187 186 184 177 172 169 163 158 157 155 148 145 136 123 113 109 102 100 99 94 90 85 83 76 72 67 66 60 55 102 95 91 90 84 82 73 67 70 66 446 446 413 391 350 322 293 268 237 184 131 113 77 55 50 86 81 165 136 112 85 83 161 119 53 129 91 132 105 89 86 73 64 63 57 58 52 93 116 70 74 73 73 331 269 216 203 80 77 72 61 263 211 144 49 39 99 87 78 72 69 63 54 28 17 20 17 22 69 62 41 28 45 18 7 5 myelectricaldata_dev
197 4 229 176 158 124 120 94 12 322 290 264 224 217 233 226 230 295 258 228 179 184 118 83 162 151 136 121 100 69 127 118 103 79 77 63 5 71 - - 93 73 70 9 36 4 54 26 48 64 50 39 76 76 68 61 51 62 48 35 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immich_openvino
197 192 198 207 214 226 222 295 284 266 240 309 256 306 270 279 261 265 281 267 264 166 149 133 197 185 175 167 156 139 142 153 205 199 185 162 147 144 - - 160 176 169 163 157 164 153 171 175 163 169 8 172 180 205 183 199 181 191 194 200 200 205 217 219 217 0 322 287 248 241 242 324 295 250 274 237 291 249 311 249 260 224 298 273 221 252 218 548 506 472 436 401 368 331 296 240 185 271 217 175 198 166 165 269 215 179 165 151 144 157 142 188 188 179 191 185 177 170 240 181 182 153 211 147 114 109 197 177 173 170 164 158 164 200 157 115 135 142 134 128 120 124 82 107 115 126 102 100 129 136 555 509 463 420 380 309 250 239 105 131 108 127 228 159 181 112 108 90 105 286 266 248 221 200 179 161 123 107 85 150 150 145 127 99 60 72 66 emby
185 175 165 157 153 151 128 115 104 90 186 168 152 133 127 125 109 91 79 73 72 64 60 55 53 51 45 33 57 49 42 33 34 47 40 36 127 127 - - 115 103 100 92 85 83 77 72 63 53 46 35 120 118 117 114 114 111 104 100 96 95 92 89 84 84 55 48 44 38 47 38 0 98 93 87 83 77 63 54 50 40 76 73 66 56 42 53 45 35 127 121 111 102 93 88 81 75 69 65 57 49 44 35 266 264 261 258 251 250 246 236 230 230 189 163 117 73 256 216 183 147 122 100 58 157 98 64 186 155 125 102 72 70 594 563 494 459 429 395 377 371 362 354 351 347 341 333 331 325 286 248 202 160 120 82 300 250 244 115 113 107 99 67 267 201 100 84 67 59 47 39 35 25 17 15 38 32 23 26 32 32 22 19 53 33 27 26 piwigo
172 161 145 126 90 310 298 285 285 276 243 234 196 167 127 201 193 177 171 157 147 135 180 180 175 169 164 155 145 142 139 133 124 117 113 105 100 99 - - 76 111 110 107 100 95 86 79 68 169 166 162 155 148 142 136 135 128 123 110 104 104 100 95 87 85 51 182 178 170 166 158 158 151 147 136 131 119 111 107 104 103 98 93 88 77 68 62 56 52 44 38 25 57 50 48 40 34 30 22 13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kometa
157 149 184 165 144 188 156 169 16 170 202 175 78 166 178 166 172 154 183 158 74 92 78 66 57 49 38 33 26 15 111 98 87 74 79 122 116 115 - - 84 83 122 113 95 81 147 140 130 124 117 112 100 90 82 74 64 71 73 67 121 121 102 88 81 81 71 60 94 87 76 69 0 65 63 67 57 175 170 155 149 135 128 119 113 105 86 79 68 59 32 1532 1531 1528 1524 1520 1512 1509 1504 1495 1488 1485 1482 1474 1471 1463 1455 1450 1442 1439 1434 1432 1425 1425 1407 1381 1347 1316 1284 1250 1215 1176 1142 1118 1094 1069 1020 992 966 940 905 877 842 775 750 723 667 634 594 564 547 540 536 529 521 516 514 512 508 501 464 427 391 356 314 277 209 159 153 29 287 280 277 248 197 130 34 39 26 55 46 42 37 29 22 26 55 51 43 37 44 44 40 31 30 12 8 7 tdarr
157 0 153 148 144 66 155 0 148 150 150 154 74 144 148 166 146 203 169 160 182 166 99 69 82 101 85 109 95 81 83 83 90 86 86 83 83 83 - - 91 82 76 74 81 74 94 84 89 82 84 86 79 74 78 78 73 79 81 70 77 77 61 85 86 86 77 74 73 75 81 79 0 78 69 79 75 81 82 93 80 66 68 71 75 81 71 67 69 73 65 70 67 66 62 70 63 59 64 61 64 61 66 63 60 58 66 61 62 61 60 61 92 92 1885 1858 1824 1786 1759 1714 1677 1638 1618 1595 1565 1544 1494 1456 1420 1392 1360 1322 1283 1219 1187 1156 1111 1078 1048 1018 990 984 977 968 957 952 950 944 941 936 894 856 819 781 747 711 645 594 584 458 449 443 440 405 352 292 194 174 160 154 150 146 138 129 115 112 109 100 94 72 62 62 76 61 84 57 50 50 nzbget
153 129 160 148 128 183 163 144 111 108 104 138 108 90 76 72 80 56 42 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cleanuparr
149 111 225 149 83 354 273 201 135 48 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nginx_webserver_proxy
145 2 206 174 158 66 222 192 154 188 171 145 84 168 144 32 148 144 174 132 116 127 88 80 92 79 43 107 95 87 74 86 103 93 80 76 118 118 - - 81 111 97 83 76 91 78 96 80 80 105 82 65 97 87 69 58 89 70 60 589 588 582 576 569 567 541 527 517 506 497 484 467 457 441 426 414 405 388 374 361 345 337 322 312 298 284 277 261 242 235 225 209 200 189 183 165 151 144 135 126 111 99 93 80 72 58 49 34 27 19 10 20 20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - openproject
134 48 129 182 175 133 164 138 116 134 143 208 186 146 193 163 72 148 66 168 147 123 84 64 113 100 90 84 75 64 79 62 93 79 61 98 92 92 - - 60 55 76 68 59 98 88 82 75 51 70 55 94 90 86 79 71 62 105 91 86 85 74 59 87 87 88 79 66 78 62 96 84 74 61 50 82 69 54 52 44 47 50 51 58 67 54 55 60 48 59 51 82 72 63 48 61 50 77 68 59 54 42 82 71 67 52 42 149 140 130 115 108 108 72 157 117 83 161 117 80 149 128 106 59 98 99 62 61 54 218 186 145 70 89 55 30 92 52 35 30 24 40 40 27 40 186 173 163 154 113 73 337 299 262 222 151 99 87 68 64 52 47 132 76 133 36 29 21 14 22 13 1 - - - - - - - - - - - - - - - autobrr
130 127 117 107 103 91 301 290 278 267 248 232 226 220 208 198 186 168 158 150 144 142 139 135 131 128 127 126 126 122 115 108 101 93 86 84 82 81 - - 68 58 54 41 107 100 97 93 91 81 77 72 67 64 64 61 54 53 47 184 181 181 178 175 172 172 164 160 159 153 148 140 138 134 131 129 125 120 112 106 103 95 93 89 88 76 70 69 62 56 52 49 48 42 37 369 362 359 359 353 351 347 344 342 340 337 335 331 327 326 324 322 315 315 276 248 213 181 150 120 82 39 1349 1322 1284 1267 1224 1197 1172 1144 1119 1091 1069 1019 994 973 921 887 856 829 815 810 804 802 801 797 795 790 787 785 751 715 679 647 613 579 511 461 457 335 331 324 322 298 247 184 91 75 67 64 63 60 60 58 55 52 51 49 45 41 28 24 25 22 18 4 1 1 requestrr
123 121 109 98 90 74 500 486 475 467 465 459 447 427 397 391 381 363 349 341 335 326 315 307 299 296 292 284 277 271 269 265 258 253 250 248 244 244 - - 236 228 226 224 222 219 217 217 209 203 201 199 195 192 190 184 180 178 173 172 165 165 163 162 160 159 142 139 137 132 122 112 110 104 93 82 5 93 152 143 139 135 134 130 125 114 95 101 108 101 148 143 131 123 109 128 140 134 121 118 128 127 124 153 136 152 141 150 177 162 225 215 195 195 191 318 292 257 218 318 287 238 339 282 381 465 478 403 378 402 375 445 370 350 352 319 150 1274 1214 1155 1121 1094 1070 1043 1025 1003 979 956 942 922 868 814 764 709 657 605 511 433 400 238 311 284 252 227 137 301 244 187 351 322 301 262 236 202 158 111 176 148 152 108 134 134 123 84 104 57 86 80 paperless_ng
122 102 111 110 88 112 88 54 14 83 44 54 12 8 58 66 32 42 15 14 10 28 9 7 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - birdnet-pipy
120 108 92 82 78 20 6 66 60 74 115 76 34 99 67 46 93 69 38 34 36 43 31 11 53 45 36 24 36 58 48 39 27 18 26 33 7 7 - - 31 13 73 67 60 53 43 39 26 16 15 1 13 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ente
117 40 104 90 72 521 495 475 447 429 400 372 338 302 276 238 204 170 234 210 193 167 113 82 56 40 101 90 76 64 67 130 106 93 80 69 56 54 - - 61 44 48 31 12 43 27 8 23 4 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - collabora
114 114 110 106 106 102 94 93 83 73 65 65 61 47 39 31 25 15 7 6 6 6 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 - - 1326 1313 1307 1301 1288 1276 1268 1256 1248 1232 1220 1212 1203 1195 1190 1181 1176 1170 1159 1149 1139 1138 1132 1122 1117 1115 1097 1091 1085 1077 1067 1054 1046 1031 1028 1017 1011 999 993 987 979 969 961 953 948 931 913 909 903 893 889 884 878 868 861 854 836 824 817 813 805 792 788 781 776 769 761 752 740 737 730 712 698 698 679 656 614 578 547 514 477 433 401 377 339 309 264 230 206 175 142 106 47 386 351 321 249 212 171 134 107 97 83 77 71 568 563 556 551 548 505 469 431 393 358 324 260 206 199 69 63 55 407 373 323 255 157 137 126 120 114 109 104 98 91 86 79 78 74 71 59 46 40 34 29 12 7 7 inadyn
114 0 147 233 213 140 104 47 0 196 167 135 111 124 93 93 113 213 179 156 126 101 66 32 127 104 91 76 55 27 75 56 39 28 45 25 33 29 - - 49 29 16 10 6 0 19 12 12 23 12 9 27 22 15 8 4 20 12 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immich_noml
111 110 100 86 74 109 107 99 97 95 87 79 73 56 46 34 22 14 4 4 4 4 4 4 4 4 4 4 4 4 4 4 0 0 0 566 558 557 - - 537 526 510 507 501 490 482 480 474 465 459 454 450 443 434 428 421 412 405 395 393 393 388 383 380 379 357 352 345 343 339 336 332 328 321 310 304 294 283 270 254 248 246 234 230 219 205 201 189 180 176 161 152 148 143 138 129 114 106 99 90 82 66 36 1348 1341 1338 1327 1321 1315 1309 1303 1292 1292 1282 1256 1231 1210 1188 1166 1142 1111 1092 1072 1043 1026 976 956 933 912 896 877 853 810 793 772 730 707 680 663 647 641 637 635 628 621 615 610 607 597 571 545 523 498 474 449 404 369 363 276 269 263 251 225 189 146 83 70 62 59 54 49 41 26 90 85 86 78 72 69 52 47 45 31 31 13 7 7 elasticsearch
108 94 56 32 61 148 144 132 98 109 95 75 30 92 68 50 96 74 53 31 4 50 29 25 31 19 22 12 29 27 26 26 20 14 8 22 33 33 - - 32 19 18 17 22 19 16 22 18 16 26 25 24 23 19 17 18 16 41 37 35 35 31 30 29 29 22 17 19 18 15 23 20 18 6 21 19 23 21 19 16 12 35 32 30 20 46 46 43 43 40 35 31 28 26 21 17 19 17 32 29 27 24 20 13 7 2 50 31 13 12 8 38 38 109 87 54 34 32 105 76 45 19 25 178 160 117 92 75 51 22 172 146 94 68 46 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - signalk
100 0 97 88 80 44 84 70 6 64 66 68 74 61 38 6 60 28 52 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - maintainerr
93 0 122 125 103 186 174 152 134 117 105 294 290 266 242 214 186 171 155 135 111 95 74 53 48 44 36 4 109 105 93 85 71 90 78 78 72 72 - - 133 119 110 88 77 75 67 416 410 405 398 383 373 366 359 353 344 339 330 320 311 310 301 297 291 289 257 252 246 241 230 221 214 190 180 167 162 154 149 139 125 120 118 112 100 86 77 70 54 60 215 209 199 195 191 182 170 166 166 162 156 147 136 134 129 123 119 113 107 101 92 87 75 75 240 225 190 167 151 131 101 72 282 266 246 226 182 158 132 114 97 72 301 254 227 207 154 125 100 72 53 44 39 266 262 256 247 239 230 219 182 146 108 67 265 229 163 109 103 58 45 126 114 84 236 170 75 56 42 35 30 13 9 42 27 98 87 73 72 65 45 38 55 48 43 21 10 9 grav
92 139 72 86 52 96 68 42 60 48 71 46 60 34 68 54 44 20 18 0 24 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - manyfold
85 28 76 82 66 97 74 97 6 102 101 103 100 86 87 136 114 92 82 23 64 55 43 26 33 28 31 61 53 42 36 51 41 57 49 46 43 43 - - 46 40 38 31 28 31 30 54 51 34 27 32 56 50 43 38 38 71 65 64 58 58 54 50 47 47 53 49 47 45 35 97 87 80 77 72 70 68 66 59 54 53 49 44 39 28 27 30 23 25 21 25 21 31 30 26 46 41 39 37 23 20 22 18 18 22 19 19 27 41 28 18 122 122 93 61 36 46 27 28 28 21 42 21 6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - codex
85 12 32 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - claude_desktop
84 0 184 132 90 50 171 110 5 156 135 143 61 314 267 194 157 164 242 187 135 169 102 102 84 48 47 34 82 96 81 152 123 95 110 100 124 124 - - 165 127 92 124 93 162 131 95 93 95 108 93 123 98 117 184 134 119 109 104 742 742 722 698 677 675 602 575 552 533 507 487 463 431 397 356 265 647 625 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 592 553 513 477 434 349 314 326 325 375 318 605 568 518 475 433 401 352 255 896 872 840 821 805 771 744 723 707 679 654 630 605 577 554 554 516 473 423 377 325 274 125 1223 1190 1165 1111 1075 994 953 910 868 824 778 728 640 600 553 483 438 378 330 281 252 224 200 169 152 118 96 65 115 85 55 109 80 984 928 841 778 758 610 579 562 544 496 427 342 226 183 149 140 143 130 137 156 125 97 113 118 152 127 122 122 120 86 122 79 67 65 webtop_kde
70 0 78 82 78 72 76 76 74 74 80 78 74 80 84 84 81 78 90 81 80 84 43 41 40 42 38 42 45 50 48 48 46 45 44 44 45 44 - - 50 44 38 44 44 39 38 40 42 41 45 42 42 42 38 32 35 38 55 38 45 45 42 39 39 39 48 39 38 40 45 45 48 46 45 36 43 43 35 40 39 38 49 47 57 46 43 43 40 60 50 42 57 49 41 41 58 50 46 40 38 46 42 36 37 55 48 37 35 37 37 39 80 80 54 73 62 69 117 96 64 57 58 57 61 41 55 64 64 52 54 60 45 48 43 50 35 626 592 559 544 540 536 531 529 525 520 517 511 511 474 437 400 359 325 283 217 167 161 35 35 31 106 73 86 111 52 41 29 45 32 38 32 33 32 30 31 36 26 37 30 23 20 24 38 22 26 26 flexget
69 56 357 345 332 314 300 273 265 253 230 196 188 166 132 116 102 80 64 36 28 20 6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - netbird-server
68 88165 69221 37756 41777 24666 20162 15315 1256 16250 13204 23749 20942 18923 16185 13117 13099 14344 13274 11743 13667 12086 8907 6058 4539 4066 3568 3045 9930 7365 5640 6404 5642 2945 7502 7128 6676 6621 - - 14629 12198 9690 7034 6552 6090 5414 5364 5520 4076 8230 5640 6309 5852 5180 2206 6224 5295 4448 3405 242 6 5682 7272 6290 6205 10604 8139 7186 6648 6146 5424 5515 9115 6697 6111 5412 7159 11125 10594 8800 6024 5941 5275 5828 5119 7030 6671 6207 5639 4939 4263 3415 4999 5472 4814 5539 4890 18272 17557 17232 16970 16729 16499 16274 14119 11142 8709 7725 7470 7186 6864 6583 6582 6246 5910 5512 5013 4412 5496 5045 4389 12880 12601 12221 11881 10434 7402 5947 5571 5139 4655 4160 3131 2395 2557 2129 5838 5509 5176 4858 4541 4136 3752 3228 3684 3192 5490 5246 4979 4713 4452 4159 3836 3472 3016 4488 4238 4010 3585 3255 2851 3665 3335 2880 3319 2766 4137 3852 3527 3207 2848 2476 2542 2400 2836 2366 3080 2786 2538 2238 1987 1630 1327 1176 847 588 555 portainer
66 60 66 70 74 75 68 78 4 91 79 71 28 81 76 88 68 76 78 92 86 80 52 45 48 43 38 54 51 41 59 54 57 47 59 62 57 54 - - 61 62 56 60 65 59 51 56 62 63 55 52 57 62 56 63 55 60 54 73 68 68 61 72 62 61 79 74 69 68 90 81 70 86 81 76 70 97 96 91 81 70 115 112 104 88 81 83 141 133 130 126 119 97 123 116 106 97 84 124 123 117 109 94 89 108 102 86 95 155 152 146 134 134 123 220 179 137 133 265 223 192 159 178 158 292 171 233 167 389 342 290 229 265 209 154 102 290 227 169 120 186 155 125 110 326 306 290 267 244 195 144 202 143 305 255 166 208 176 195 181 152 128 371 305 232 118 194 161 140 119 88 98 146 119 104 139 121 98 75 155 155 134 110 95 82 17 17 code_server
50 38 30 14 6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - scrutiny-original
47 38 24 12 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - scrutiny-fa-original
45 62 80 64 52 20 30 18 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - aurral
30 24 14 8 6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - zoraxy
25 16 6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - spotify_to_plex
10 0 14 66 62 50 48 38 34 26 16 14 8 6 6 10 14 20 6 4 2 2 1 3 44 35 18 9 5 53 37 32 22 8 8 6 6 6 - - 9 4 4 2 2 0 6 2 6 5 5 4 9 13 11 9 8 13 9 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immich_cuda
9 2 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - birdnet-go-dev
0 4 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - birdnet-pi-zach
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 11 6 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - test
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 43 35 23 17 8 22 11 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - overleaf
2026-07-31 2026-07-24 2026-07-17 2026-07-10 2026-07-03 2026-06-26 2026-06-12 2026-06-05 2026-05-29 2026-05-22 2026-05-15 2026-05-08 2026-05-01 2026-04-24 2026-04-17 2026-04-10 2026-04-03 2026-03-27 2026-03-20 2026-03-13 2026-03-06 2026-02-27 2026-02-20 2026-02-13 2026-02-06 2026-01-30 2026-01-23 2026-01-16 2026-01-09 2026-01-02 2025-12-26 2025-12-19 2025-12-12 2025-12-05 2025-11-28 2025-11-21 2025-11-14 2025-11-07 2025-11-06 2025-10-31 2025-10-24 2025-10-17 2025-10-10 2025-10-03 2025-09-26 2025-09-19 2025-09-12 2025-09-05 2025-08-29 2025-08-22 2025-08-15 2025-08-08 2025-08-01 2025-07-25 2025-07-18 2025-07-11 2025-07-04 2025-06-27 2025-06-20 2025-06-13 2025-06-06 2025-05-30 2025-05-30 2025-05-23 2025-05-16 2025-05-09 2025-05-08 2025-04-11 2025-04-04 2025-03-28 2025-03-21 2025-03-14 2025-03-07 2025-02-28 2025-02-21 2025-02-14 2025-02-07 2025-01-31 2025-01-24 2025-01-17 2025-01-10 2025-01-03 2024-12-27 2024-12-20 2024-12-13 2024-12-06 2024-11-29 2024-11-22 2024-11-15 2024-11-08 2024-11-01 2024-10-25 2024-10-18 2024-10-11 2024-10-04 2024-09-27 2024-09-20 2024-09-13 2024-09-06 2024-08-30 2024-08-23 2024-08-16 2024-08-09 2024-08-02 2024-07-26 2024-07-19 2024-07-12 2024-07-05 2024-06-28 2024-06-21 2024-06-14 2024-06-07 2024-05-31 2024-05-24 2024-05-24 2024-05-17 2024-05-10 2024-05-03 2024-04-26 2024-04-19 2024-04-12 2024-04-05 2024-03-29 2024-03-22 2024-03-15 2024-03-08 2024-03-01 2024-02-16 2024-02-09 2024-02-02 2024-01-26 2024-01-19 2024-01-12 2024-01-05 2023-12-22 2023-12-15 2023-12-08 2023-11-24 2023-11-17 2023-11-10 2023-11-03 2023-10-27 2023-10-20 2023-10-13 2023-10-06 2023-09-29 2023-09-22 2023-09-15 2023-09-08 2023-09-01 2023-08-25 2023-08-18 2023-08-11 2023-08-04 2023-07-28 2023-07-21 2023-07-14 2023-07-07 2023-06-30 2023-06-23 2023-06-16 2023-06-09 2023-06-02 2023-05-26 2023-05-19 2023-05-12 2023-05-05 2023-04-28 2023-04-21 2023-04-14 2023-04-07 2023-03-31 2023-03-24 2023-03-17 2023-03-10 2023-03-03 2023-02-24 2023-02-17 2023-02-10 2023-02-03 2023-01-27 2023-01-21 2023-01-13 2023-01-06 2022-12-30 2022-12-24 2022-12-16 2022-12-09 2022-12-08 Date
612843 591099 669538 626324 508490 295538 187951 202857 207298 140475 196724 195429 192371 161135 168787 147551 141128 128014 125333 116609 115189 108264 102680 82287 69115 77528 69094 60852 63855 80968 76650 76368 76680 74263 72911 76740 86290 85365 84859 - - 93916 89227 85492 81733 82398 80928 80058 77828 76925 73054 77998 74436 75347 75004 72775 69407 74365 76109 75314 73044 68415 68003 74989 75413 95755 95280 94242 91014 90233 88789 86207 85170 85194 86915 84812 82572 80743 84366 86769 84305 81481 76240 76908 75990 74319 76488 77734 75851 75809 74807 73967 74197 71724 73990 73372 74249 73736 71352 83606 88312 89846 87690 86596 92746 94295 90039 80926 72882 71830 70159 69833 67653 69012 69005 70922 69934 66029 66168 66686 64308 67070 65017 73318 76478 73677 74019 70426 62241 55701 53744 52326 49500 48175 42473 42336 39905 34679 46033 42786 42795 40675 39766 38360 36480 37779 40026 39455 41790 43334 50337 49386 48913 46173 43611 43648 42982 41225 38304 38828 30434 30232 30051 32193 31615 29210 26192 19917 20377 19409 19253 18223 18044 16127 15701 14436 13970 13610 14133 12886 12065 11500 10919 9777 7647 7966 4937 3908 3691 TOTAL
102274 102260 102238 86665 59486 31480 20032 18566 17110 15635 14159 12678 11315 10091 9013 7413 6046 4639 3399 3376 3356 3341 3313 3287 3254 3238 3225 3206 3199 3184 3170 3144 3134 3116 3099 3086 3568 3559 3559 - - 3510 3489 3470 3450 3439 3431 3418 3399 3389 3354 3338 3329 3318 3304 3292 3280 3272 3263 3253 3239 3232 3231 3221 3199 3186 3184 3132 3113 3091 3082 3062 3047 3030 3015 2994 2980 2967 2950 2932 2911 2883 2859 2847 2835 2818 2796 2778 2774 2759 2749 2737 2722 2711 2692 2669 2662 2632 2619 2604 2595 2582 2566 2561 2548 2530 2517 2505 2487 2464 2450 2440 2423 2407 2407 2384 2349 2303 2264 2222 2190 2150 2095 2068 2031 1999 1974 1910 1883 1845 1813 1780 1736 1693 1612 1574 1546 1469 1429 1378 1343 1321 1301 1277 1260 1239 1223 1199 1191 1178 1167 1122 1079 1036 1001 959 915 841 787 778 647 635 622 618 589 527 451 353 326 313 300 289 277 262 252 240 227 218 193 183 168 142 126 98 88 75 39 30 29 arpspoof
98951 98515 98379 82801 55582 27559 16050 14551 13058 11558 10047 8509 7130 5849 4717 3063 2295 2074 3473 3399 3345 3289 3011 2747 2690 2651 2608 2568 2536 2501 2472 2435 2402 2361 2327 2296 2281 2251 2249 - - 2182 2149 2107 2083 2057 2022 1996 1960 1919 1875 1836 1793 1749 1714 1678 1639 1607 1577 1530 1482 1446 1442 1412 1381 1338 1334 1152 1102 1059 1005 909 2227 2184 2140 1274 1239 1181 1123 1055 992 924 820 1466 1428 1380 1343 1299 1253 1210 1159 1113 1074 1036 976 918 884 824 767 700 1735 1699 1661 1626 1581 1534 1510 1466 1430 1381 1346 1303 1266 1233 1232 1151 1091 1008 940 880 806 732 628 530 5291 5234 5190 4304 1538 380 500 412 312 700 568 509 427 424 348 333 387 322 281 232 254 219 228 196 161 198 208 770 723 674 621 571 521 431 363 343 205 187 172 156 104 338 263 152 113 92 74 54 35 14 - - - - - - - - - - - - - - - sponsorblockcast
88956 88478 87974 71957 44263 15879 1533 4760 5035 322 12978 11060 9266 7616 6058 3740 6494 4683 3030 2664 2247 695 1615 1136 615 1559 1153 838 1869 1609 1327 803 1332 909 797 1006 1342 1335 1306 - - 3567 3472 3370 3281 3162 3045 2935 2826 2734 2609 2516 2387 2255 2155 2075 1983 1877 1774 1677 1572 1477 1473 1343 1230 1116 1098 1353 1227 1106 985 838 680 296 5 1024 905 870 1718 1609 1501 1373 1252 1160 1060 949 815 1013 878 776 1206 1143 1069 1012 935 843 730 832 733 895 806 691 762 652 5900 5837 4452 2213 814 726 627 609 775 652 651 2399 2319 2230 2155 2068 1983 1896 1811 1727 1643 1565 1462 1259 1167 1071 971 860 768 660 460 351 344 358 373 330 692 630 570 487 426 1712 1662 1590 1542 1500 1457 1373 1302 1234 1154 1075 995 896 818 788 619 561 523 461 375 261 205 495 448 409 353 291 331 285 274 254 173 262 268 268 251 193 193 225 172 181 156 201 196 jellyfin
87665 87516 87430 71762 44486 16436 4822 3168 17372 15885 14386 12788 11218 9779 8500 6664 5074 3427 1945 1845 1723 1625 1548 1376 1277 1218 1121 1059 994 925 842 757 674 569 488 289 600 578 568 - - 564 573 510 442 208 208 208 208 770 719 689 651 624 601 566 530 479 391 324 1576 1538 1538 1514 1481 1459 1455 1363 1335 1309 1289 1260 1230 1211 1177 1152 1122 1097 1068 1040 1011 975 949 916 892 868 847 825 796 773 751 737 714 689 658 635 613 583 572 552 525 493 466 450 412 377 348 319 329 391 371 347 309 545 545 497 462 405 354 296 526 480 424 382 330 245 238 396 346 299 223 157 343 297 200 167 221 124 183 265 228 194 181 163 150 136 131 125 118 251 241 206 152 191 146 356 314 243 184 171 129 114 99 384 352 293 226 130 111 95 88 100 94 82 146 138 128 117 112 100 90 70 56 44 39 34 11 7 6 flaresolverr
81148 81142 81138 65589 38416 10433 9826 8389 6967 5524 4069 2603 1251 16 833 658 478 290 109 101 97 95 89 83 80 78 77 74 73 69 68 67 65 56 51 50 50 48 48 - - 42 34 34 33 33 30 28 25 73 66 65 64 63 59 57 57 56 53 52 50 47 47 44 43 41 38 32 30 29 26 54 47 45 41 39 34 31 27 377 377 376 374 372 366 364 353 344 342 342 342 339 335 333 331 329 328 321 321 321 319 317 316 315 312 308 307 301 299 295 295 293 293 293 293 258 244 209 185 152 128 94 64 48 184 162 146 103 79 54 40 97 70 41 121 98 76 28 105 75 48 35 34 29 27 25 22 21 20 17 52 120 87 50 390 359 327 263 214 211 90 87 84 81 56 189 129 38 26 20 17 17 46 43 40 34 28 27 23 21 20 25 25 24 22 19 6 3 3 mylar3
21359 18475 23997 21558 19966 19356 9643 24812 22468 2430 22305 25659 24171 21797 23876 20636 24120 21748 24134 21638 21185 19921 17876 12032 8215 11110 8649 3807 5314 11483 10156 10195 10314 10172 10081 10076 10043 11067 10951 - - 11537 10765 9557 9367 11692 11023 10227 8929 8833 7902 8340 7762 8427 8277 8285 8229 8228 11416 10904 10325 9669 9633 8767 7401 26982 26925 25607 25173 24774 24363 23957 23559 23174 22845 22434 22023 21617 21190 20760 20328 19788 19317 18902 18464 17966 17528 17159 16773 16375 15944 15536 15163 14735 14288 13905 13564 13225 12882 12557 12187 11830 11475 11150 10830 10519 10206 9880 9545 9204 8880 8509 8102 7701 7701 7265 6739 6139 5257 6152 5411 9957 9569 9181 8879 8506 8131 7318 6854 6384 5921 5304 4283 4406 3468 5309 4756 3599 6078 5712 5363 5001 4643 4144 3597 4034 3492 4252 3817 3241 8250 8000 7767 7521 7293 7034 6803 6575 6325 6136 5808 5613 5426 5247 5029 4775 4482 4212 3978 3759 3498 3263 3035 2810 2532 2229 1960 1569 2036 1730 1356 1359 1359 1070 888 727 477 285 264 filebrowser
13057 12633 12212 11758 11304 10999 10101 9699 9262 8852 8362 7977 7565 7246 6833 6473 6031 5642 5248 4976 4696 4487 4257 3947 3753 3627 3492 3384 3252 3077 2936 2821 2718 2574 2440 2299 2166 2023 2013 - - 1647 1511 1387 1298 1172 1037 893 733 1262 1115 966 805 646 418 573 250 141 262 184 95 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - postgres_17
12184 68 88165 69221 37756 41777 24666 20162 15315 1256 16250 13204 23749 20942 18923 16185 13117 13099 14344 13274 11743 13667 12086 8907 6058 4539 4066 3568 3045 9930 7365 5640 6404 5642 2945 7502 7128 6676 6621 - - 14629 12198 9690 7034 6552 6090 5414 5364 5520 4076 8230 5640 6309 5852 5180 2206 6224 5295 4448 3405 242 6 5682 7272 6290 6205 10604 8139 7186 6648 6146 5424 5515 9115 6697 6111 5412 7159 11125 10594 8800 6024 5941 5275 5828 5119 7030 6671 6207 5639 4939 4263 3415 4999 5472 4814 5539 4890 18272 17557 17232 16970 16729 16499 16274 14119 11142 8709 7725 7470 7186 6864 6583 6582 6246 5910 5512 5013 4412 5496 5045 4389 12880 12601 12221 11881 10434 7402 5947 5571 5139 4655 4160 3131 2395 2557 2129 5838 5509 5176 4858 4541 4136 3752 3228 3684 3192 5490 5246 4979 4713 4452 4159 3836 3472 3016 4488 4238 4010 3585 3255 2851 3665 3335 2880 3319 2766 4137 3852 3527 3207 2848 2476 2542 2400 2836 2366 3080 2786 2538 2238 1987 1630 1327 1176 847 588 555 portainer
10040 9264 8506 7594 4502 3948 7706 9960 9417 8697 7732 10309 9774 9165 8442 7216 5738 4860 3040 670 6846 6020 4442 4315 3305 4492 3804 2138 1145 3090 2566 1 197 192 3312 3150 2996 2728 2664 - - 1748 1512 2499 2397 2271 2122 1970 1840 1626 1374 1366 2482 2332 1872 1220 910 759 587 1229 1003 842 834 1184 1069 955 943 656 980 874 753 595 456 517 405 207 353 239 0 64 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - netalertx
5229 5188 5165 5131 5095 5038 4944 4896 4839 4760 4713 4594 4402 4181 3971 3725 3475 3236 3002 2914 2858 2813 2772 2711 2672 2638 2601 2568 2535 2483 2450 2413 2377 2344 2309 2264 2246 2214 2208 - - 2118 2080 2042 2013 1975 1942 1908 1868 1833 1785 1733 1648 1578 1511 1400 1243 991 1479 1387 1225 15 3 2846 2726 2630 2610 2068 1946 1842 1719 1577 1441 1293 1076 1394 1227 1053 792 705 965 1370 1168 1005 861 372 3232 3124 3028 2943 2844 2744 2647 2554 2460 2359 2274 2169 2067 1973 1894 1793 1709 1611 1513 1435 1394 1345 1310 1255 1202 1163 1115 1071 1071 999 950 886 831 764 708 633 537 467 399 322 243 341 263 170 690 629 561 493 376 313 252 128 164 254 194 158 130 95 69 51 37 72 29 289 274 226 183 141 102 62 16 223 166 163 31 18 5 - - - - - - - - - - - - - - - - - - - - - - - - - - postgres
4196 5326 4890 4533 4039 5006 4366 3910 3918 404 2609 4234 3827 1790 4213 3922 3508 3514 3524 4060 3798 3402 2324 1903 1445 1310 1172 1000 67 818 1443 974 131 1731 1589 1436 1571 1397 1356 - - 1318 1364 744 1299 1547 1446 1274 1264 558 551 549 1137 1170 1035 573 9 1987 1940 1898 1856 1777 1773 1746 1687 1637 1633 1372 1268 1129 1338 1246 1077 1325 1202 1073 640 1084 959 821 195 877 711 567 446 951 1051 904 793 660 1005 889 704 303 574 571 1153 1041 920 738 1030 951 831 1064 978 889 765 799 654 690 629 718 632 730 730 641 477 327 627 716 622 809 705 595 554 648 583 619 519 286 6 972 914 853 732 689 641 533 485 421 347 289 233 808 771 732 710 680 660 631 607 567 520 468 415 372 330 258 197 168 175 142 230 203 153 169 321 231 185 129 606 588 562 542 501 465 434 404 373 368 328 276 192 142 7 90 53 38 35 mealie
3772 3043 3151 886 41574 13233 6367 4500 3735 1912 1879 5209 3682 2341 2132 1882 1707 129 2857 2626 2425 2131 1774 1711 43 1161 57 1377 1236 1062 870 1920 1759 1541 795 496 2233 2125 2113 - - 1840 1761 1661 1575 1480 1381 1246 1115 957 1098 950 333 974 808 1338 1287 2120 2043 1948 1862 1734 1731 1599 1428 2508 2501 2125 2029 1919 1834 1695 1528 1352 2305 2193 2085 1974 1860 1743 1602 1417 1234 1629 1492 1349 1150 1438 1316 1117 1004 883 693 1119 1246 1081 1383 1270 1149 1019 1952 1865 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1787 1711 1640 1561 1508 1417 1321 1214 1112 981 1255 1165 1165 1059 933 801 647 1201 1063 887 1843 1734 1654 1540 1439 1180 1009 832 615 803 787 557 181 428 826 472 819 643 582 819 712 590 485 894 828 739 638 1466 1404 1300 1216 1123 1019 916 817 672 526 610 384 352 1101 1049 963 847 694 481 709 627 556 461 359 363 504 363 293 364 340 340 325 323 323 337 312 407 266 240 225 qbittorrent
3605 3516 3406 3273 3143 3079 2959 2879 2781 2693 2607 2462 2382 2340 2273 2215 2131 2061 1930 1815 1753 1699 1625 1527 1441 1366 1253 715 4301 4238 4201 4177 4123 4081 4033 3997 4042 4001 3996 - - 3910 3884 3861 3830 3802 3772 3749 3718 3683 3640 3608 3575 3540 3511 3489 3454 3431 3405 3375 3351 3328 3326 3291 3269 3249 3244 3165 3132 3089 3058 3022 2992 2943 2902 2863 2828 2793 2760 2705 2656 2584 2546 2506 2462 2415 2350 2292 2252 2206 2173 2135 2086 2023 1966 1914 1871 1820 1781 1730 1681 1633 1576 1525 1477 1447 1412 1357 1314 1258 1179 1093 548 2125 2125 2052 1970 1870 1794 1714 1654 1561 1466 1383 1282 1092 910 927 1710 1628 1527 1419 1289 1169 916 951 831 477 1416 1310 1145 1001 874 811 755 653 860 797 726 640 511 860 753 639 533 1392 1321 1240 1163 1124 965 939 910 887 836 761 656 515 492 834 803 755 709 672 607 450 490 416 365 279 254 504 397 403 272 289 35 59 39 myelectricaldata
2885 2875 2870 2851 2837 2831 2809 2795 2779 2761 2751 2724 2693 2681 2661 2647 2624 2604 2546 2512 2504 2490 2460 2421 2368 2356 2337 2331 2321 2309 2294 2285 2279 2261 2247 2232 2695 2689 2688 - - 2665 2646 2630 2625 2615 2607 2594 2585 2572 2555 2546 2533 2532 2527 2519 2508 2504 2499 2491 2482 2476 2476 2468 2462 2450 2448 2411 2401 2394 2388 2369 2359 2350 2345 2339 2328 2316 2303 2291 2280 2266 2252 2245 2239 2232 2214 2201 2197 2187 2179 2171 2155 2134 2113 2106 2101 2086 2085 2079 2066 2059 2054 2049 2038 2030 2021 2007 2001 1990 1986 1979 1967 1961 1961 1941 1909 1872 1828 1796 1762 1724 1676 1650 1626 1607 1583 1534 1508 1483 1463 1436 1401 1378 1297 1259 1218 1156 1117 1083 1054 1037 1023 1017 1007 1003 1000 994 988 982 977 946 909 867 829 785 747 679 628 617 489 480 472 462 432 376 310 215 189 177 170 166 158 153 138 126 114 104 89 87 82 64 52 46 43 37 19 13 13 teamspeak
2846 2617 2388 2176 2009 1989 1901 1853 1815 1792 1751 1695 1646 1583 1536 1468 1408 1336 1286 1208 1160 1112 1049 982 925 874 829 779 702 560 171 2012 1793 1577 1438 1390 1351 1313 1308 - - 1227 1202 1171 1146 1122 1097 1067 1036 1015 983 947 920 888 862 835 808 780 747 702 657 593 591 634 583 1170 1164 1051 1027 999 965 932 887 851 816 790 747 714 672 633 587 537 478 753 711 670 632 595 554 505 452 488 436 510 446 472 436 495 461 412 409 666 633 612 594 558 535 521 488 461 424 393 344 476 476 414 347 512 456 403 355 401 334 133 119 576 541 447 410 358 295 264 448 389 299 251 302 211 414 353 302 262 247 217 187 157 192 166 135 498 476 419 364 309 262 199 143 296 229 207 53 47 28 41 - - - - - - - - - - - - - - - - - - - - - - - - - portainer_agent
2835 2825 2822 2814 2806 2806 2788 2780 2774 2767 2750 2686 2525 2351 2172 1986 1793 1610 1419 1401 1382 1376 1353 1338 1310 1288 1269 1254 1228 1205 1172 1152 1128 1107 1089 1072 1056 1035 1033 - - 981 959 944 929 917 895 874 852 832 812 787 773 757 724 710 693 684 673 653 629 603 603 584 551 527 521 440 395 2286 2265 2238 2206 2193 2162 2137 2101 2068 2043 2004 1976 1939 1902 1878 1857 1839 1815 1791 1763 1727 1699 1680 1659 1632 1614 1591 1571 1549 1532 1515 1488 1462 1433 1407 1382 1357 1322 1297 1271 1246 1234 1222 1207 1194 1194 1182 1154 1128 1100 1076 1056 1026 991 963 948 924 898 859 832 807 779 758 723 695 627 599 566 516 486 450 418 402 386 377 357 340 328 318 302 296 283 245 207 169 131 308 280 226 183 166 562 550 541 522 477 417 348 242 221 209 196 186 180 171 145 144 133 119 102 103 150 132 119 99 73 64 33 27 27 overseerr
2649 1853 14 2373 3518 3129 2362 1976 1428 85 3567 3099 2595 2110 2218 2226 2123 2131 3075 2788 2439 2121 1669 1114 768 1620 1480 1340 1195 1009 720 1234 1098 913 725 1035 854 595 567 - - 1005 842 794 652 451 24 708 433 621 901 742 688 1137 1026 903 781 642 830 703 489 30 30 1015 889 774 743 224 681 870 766 598 37 423 40 698 575 549 649 505 823 697 483 462 307 560 418 441 427 423 498 405 506 405 402 462 368 359 333 391 346 369 301 290 288 301 304 336 251 270 459 397 343 279 278 323 255 250 398 329 263 252 221 205 207 188 203 315 250 552 495 442 380 314 208 145 138 62 160 147 149 105 137 90 92 69 35 105 98 82 111 103 87 97 92 94 92 35 205 194 100 80 54 74 74 174 124 42 34 46 58 53 70 60 48 21 23 29 22 29 28 2 2 0 - - - - - immich
2566 3268 3079 2837 2490 2842 994 2391 3288 3074 2773 2428 3448 3211 2892 2483 2488 3587 3334 3078 2724 2368 2280 1424 1181 1004 801 708 524 1379 1220 1067 950 788 552 1566 1377 1246 1225 - - 1242 1060 1321 1181 1003 458 1277 1125 954 1399 1296 1183 1064 895 472 1266 1141 985 1340 1228 1118 1111 942 23 1246 1231 898 751 580 953 36 926 1126 950 1404 1262 1130 950 1463 1335 1198 1054 886 875 652 537 1001 838 1113 996 843 1139 1018 849 1000 839 830 959 816 31 1019 917 752 1073 986 897 740 488 538 352 732 65 65 65 45 31 9 1160 1016 883 730 1132 1001 867 625 1101 836 665 798 653 479 339 619 457 546 315 302 760 579 750 620 443 453 545 403 455 342 211 353 203 429 700 576 419 500 653 653 545 456 558 499 404 758 649 497 310 481 367 209 298 299 359 394 249 365 269 316 429 325 238 468 468 405 328 283 193 124 94 nextcloud_ocr
2526 1995 1015 2785 2503 2191 1238 930 2191 1773 2108 1823 1776 944 1860 1527 1457 1620 1327 1467 1178 962 943 764 568 423 298 145 67 70 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - filebrowser_quantum
2380 2323 2261 2170 2090 2045 1925 1848 1798 1744 1673 1613 1551 1496 1414 1331 1238 1141 989 1095 1010 452 780 685 621 571 539 495 444 397 332 5 911 880 836 797 757 717 713 - - 607 561 528 496 424 287 280 788 740 690 637 553 236 1242 1210 1194 1181 1148 1110 1075 1052 1049 1012 976 947 938 835 803 768 733 688 640 605 574 531 470 413 1174 1128 1087 1042 1010 984 951 925 880 842 798 760 714 668 609 497 1584 1539 1501 1458 1417 1384 1358 1332 1307 1273 1233 1208 1185 1155 1136 1099 1064 1037 993 962 961 905 860 809 756 705 652 582 506 412 1111 1054 1013 923 877 835 789 732 687 631 531 490 453 322 357 547 492 453 420 350 302 247 242 199 169 137 415 352 660 606 554 506 456 367 281 404 279 291 215 394 345 272 137 235 373 337 306 282 232 284 228 298 268 243 201 170 122 188 144 176 150 131 91 59 57 guacamole
2140 1962 1817 1641 1453 1364 1020 847 653 470 275 2403 2072 1791 1474 1145 798 482 162 149 138 138 130 116 110 102 93 233 222 211 207 200 197 179 176 164 160 154 154 - - 134 121 107 105 103 96 87 77 71 54 74 214 208 205 199 197 189 182 176 173 165 164 158 158 153 153 142 137 134 128 124 116 110 102 100 90 83 69 63 55 9 109 102 86 91 470 458 449 438 429 424 418 412 407 397 390 379 363 356 350 339 336 327 323 313 303 288 282 279 276 274 266 256 256 235 206 172 134 92 179 136 95 682 655 626 589 513 481 443 405 343 302 269 198 160 125 46 187 128 81 57 112 109 99 90 87 75 71 67 66 29 187 150 115 74 644 571 518 510 386 384 376 374 352 301 240 145 113 107 106 101 97 90 84 74 64 67 61 56 51 29 29 20 8 44 28 26 26 webtrees
2079 1975 1861 1677 2055 1950 1700 4641 4392 4168 3939 3677 3414 3198 2982 2728 2451 2210 1956 1824 1599 1080 959 798 656 2480 2442 2410 2355 2311 2259 2215 2172 2124 2078 2029 2015 1948 1940 - - 1808 1765 1731 1691 1651 1612 1567 1539 1500 1463 1433 1394 1359 1323 1274 1246 1212 1170 1122 1080 1041 1038 996 963 917 909 749 704 656 605 550 480 425 0 685 625 538 455 776 724 622 539 429 1945 1874 1825 1770 1714 1640 1587 1524 1474 1433 1384 1341 1287 1237 1182 1137 1082 1034 990 948 903 849 800 738 648 1184 1137 1102 1061 1015 1015 941 850 772 679 593 499 716 602 499 390 82 1556 1399 1331 1255 1164 1085 995 885 673 525 412 1073 989 910 836 771 719 668 628 572 513 452 380 354 285 267 265 291 272 271 280 283 234 316 313 246 225 233 263 271 321 319 216 211 213 221 274 203 206 277 145 202 333 260 277 254 254 294 218 282 205 204 195 transmission_ls
1911 1756 1554 1668 1738 1484 2297 2238 2164 2089 2009 1891 1730 740 1734 1723 1739 2236 2147 2049 1915 1739 1730 1006 692 1379 1318 1262 1208 1143 1081 1016 947 824 785 1031 983 927 921 - - 730 827 742 715 750 415 755 756 570 471 738 681 615 568 518 454 481 448 409 683 583 575 360 1121 1073 1067 842 750 737 743 1101 1049 911 537 481 547 475 546 455 475 669 609 553 486 412 469 403 571 533 480 424 363 530 492 463 424 390 358 313 440 404 378 341 310 270 684 651 634 620 603 579 560 539 539 482 438 384 335 282 31 352 279 329 271 362 305 334 268 162 250 468 419 374 272 215 216 336 289 234 187 151 116 251 233 218 208 189 167 223 193 452 411 365 320 266 209 196 150 240 99 176 145 179 407 339 251 259 232 211 194 169 139 200 167 150 123 143 132 184 157 93 114 94 73 52 44 34 32 tandoor_recipes
1888 1867 1859 1837 1823 1795 1724 1714 1688 1665 1649 1573 1396 1216 1023 832 644 450 260 224 198 162 123 99 79 65 49 24 4 128 119 103 84 63 40 14 6 72 72 - - 71 67 66 66 66 66 66 66 66 61 61 60 60 59 59 59 53 49 53 78 68 68 61 44 57 54 50 55 60 45 57 48 55 61 52 59 49 54 56 53 51 49 57 50 55 54 51 55 47 51 70 58 54 61 150 145 133 120 111 104 96 76 61 65 71 59 60 77 67 67 75 68 124 124 96 140 105 85 114 20 120 103 106 98 107 87 129 102 99 115 114 116 115 118 107 134 67 146 115 82 82 83 89 90 79 90 82 79 76 106 99 97 95 88 87 110 111 72 111 79 71 64 84 105 116 143 79 70 57 58 56 71 65 60 59 49 60 48 54 62 52 52 43 39 65 49 42 41 readarr_nas
1872 1824 1759 1715 1675 1612 1514 1466 1390 1329 1252 1182 1109 1062 992 921 839 783 728 651 581 514 432 364 249 312 267 50 370 339 298 269 215 334 291 232 448 427 424 - - 342 311 293 262 215 578 551 532 505 483 468 443 423 410 390 363 348 329 304 275 245 244 171 1001 983 983 911 890 876 862 843 824 799 769 746 718 696 670 648 623 586 890 842 794 767 734 703 679 643 605 563 519 475 419 394 355 310 274 237 196 156 116 142 58 86 24 473 439 402 375 347 312 273 273 202 148 158 878 828 762 702 625 552 493 419 359 224 128 46 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - whatsapper
1795 1784 1772 1735 1719 1703 1665 1653 1630 1605 1589 1523 1355 1171 979 787 601 413 219 195 185 167 153 137 132 119 107 95 39 159 144 132 118 108 89 123 112 98 96 - - 99 143 137 125 116 96 80 186 174 159 151 142 131 122 117 106 95 88 142 132 117 117 109 101 93 89 103 88 141 134 128 118 111 100 87 156 141 134 118 108 99 82 146 126 117 103 95 88 77 94 85 74 111 102 93 86 74 117 112 99 92 84 77 74 174 163 156 149 143 138 131 122 110 110 215 188 147 110 365 330 292 248 216 185 148 120 385 355 318 296 262 234 199 131 334 295 228 191 150 120 94 81 105 97 94 91 84 79 77 110 116 111 104 101 110 139 133 77 205 76 55 71 141 109 224 150 82 76 66 64 75 69 60 60 62 50 67 58 43 65 58 58 52 42 68 51 45 44 lidarr_nas
1650 1242 1136 1106 1074 1051 995 964 934 909 862 819 799 765 739 707 660 632 606 569 517 491 457 424 402 389 360 339 317 304 276 254 227 202 181 145 243 220 219 - - 147 112 192 184 169 151 129 107 83 63 35 7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - omni-tools
1643 1314 1378 1515 1695 1514 792 1334 1460 228 1628 1473 1478 805 1642 1415 1623 1460 1423 1408 1331 1441 1687 906 2208 2146 2105 2049 1990 1943 1908 1878 1849 1804 1769 1733 1709 1670 1665 - - 1562 1534 1500 1474 1447 1413 1402 1383 1355 1317 1294 1267 1226 1208 1188 1168 1135 1114 1092 1057 1029 1026 936 896 870 867 782 763 749 728 714 694 670 653 635 611 590 567 538 517 484 464 438 420 391 361 336 196 327 577 563 532 508 482 466 449 415 399 375 343 310 278 240 374 361 339 315 292 268 236 474 439 416 416 377 340 297 256 202 345 307 259 205 274 229 645 568 541 501 457 433 392 345 256 218 180 100 274 230 196 166 484 470 453 438 426 419 404 385 371 332 300 271 242 208 179 124 79 503 411 391 371 363 335 289 233 159 131 131 266 256 237 225 203 184 171 150 150 136 113 91 89 71 43 60 38 22 20 scrutiny-fa
1474 1053 935 905 863 804 674 678 2414 2372 2296 2164 1964 1749 1515 1309 1090 891 694 663 623 585 553 480 422 405 370 323 401 373 351 319 290 339 312 266 276 1242 1241 1222 1206 1193 1174 1156 1136 1120 1104 1083 1074 1061 1039 1025 993 974 954 938 922 894 873 848 836 814 814 793 784 769 767 712 694 685 662 646 636 618 603 577 562 539 517 492 468 448 426 405 388 373 348 326 305 281 261 233 1015 996 972 952 934 919 911 896 882 861 848 837 830 809 797 778 764 745 721 700 676 655 655 609 571 512 451 399 344 289 208 645 601 560 524 450 404 346 289 228 147 714 624 564 521 419 380 323 270 231 200 173 144 218 200 177 158 140 394 350 301 250 205 139 466 376 315 298 149 133 531 520 478 417 328 216 186 170 155 138 121 88 303 282 266 241 221 198 168 148 125 102 87 80 45 21 19 addons_updater
1420 1341 1275 1195 1042 1198 1026 1246 1186 1107 1012 1320 1295 1239 1167 1082 980 970 1179 1112 986 788 641 519 39 583 530 477 199 465 686 655 612 579 535 499 447 425 418 - - 699 668 644 626 592 559 527 499 464 387 601 577 544 515 492 459 404 403 768 741 719 719 688 655 634 629 512 465 405 408 457 414 482 440 488 426 409 419 421 423 408 404 400 405 398 427 383 396 387 454 426 373 392 388 360 420 376 374 373 364 409 370 364 385 1510 2162 1045 382 370 378 394 388 483 483 417 416 460 379 428 23 433 430 436 426 352 356 403 457 460 457 474 485 468 454 518 439 377 430 422 336 384 391 65 65 65 65 65 65 65 65 35 1424 1360 1294 1246 1191 1107 1033 1008 865 829 803 773 722 639 546 425 380 346 320 283 247 246 288 248 191 243 192 192 217 146 146 121 90 88 55 37 35 sonarr_nas
1367 1154 1680 1569 1450 1208 1393 1 1489 1245 1371 1635 1485 1313 1404 1384 1432 1449 1435 1425 1406 1394 1489 1059 946 879 809 712 1061 981 898 809 682 298 646 606 751 660 640 - - 679 755 670 673 657 977 931 887 843 758 678 672 859 784 695 1578 1534 1494 1451 1395 1352 1350 1304 1234 1175 1167 971 931 877 823 757 658 998 941 870 797 701 1156 1089 1007 926 818 696 1054 981 926 858 811 737 645 862 807 742 650 701 602 894 846 804 740 661 573 671 579 781 718 678 590 1025 970 921 863 814 814 718 619 84 839 764 687 562 586 584 595 501 501 511 773 675 579 696 583 782 539 522 543 1171 1097 1007 918 855 785 726 673 615 573 503 447 463 659 583 485 623 537 452 622 531 441 492 465 567 496 392 596 490 620 472 711 651 561 472 692 642 565 495 397 374 437 353 493 407 393 377 98 359 91 321 313 epicgamesfree
1361 1164 1000 799 584 464 1035 827 637 404 341 329 299 136 448 405 381 341 309 248 292 215 247 201 178 153 117 351 336 322 308 294 285 269 261 243 233 221 220 - - 184 161 143 130 165 146 126 224 204 187 173 154 138 116 331 309 301 293 282 271 260 260 241 218 200 199 1298 1291 1282 1272 1261 1244 1236 1222 1201 1182 1161 1151 1135 1112 1094 1078 1069 1051 1031 1016 997 981 969 955 934 921 911 897 889 879 866 858 850 832 824 814 806 788 774 767 749 733 720 707 694 683 678 678 665 642 612 585 564 538 510 473 451 431 414 393 346 318 295 267 231 207 188 126 100 138 74 98 53 267 248 234 214 206 195 189 186 178 171 162 129 94 50 548 510 485 435 399 395 307 304 293 290 274 236 184 115 94 81 76 66 52 43 169 153 143 138 131 119 111 89 75 65 55 46 29 17 15 wger
1238 1103 424 1081 1191 910 473 1110 1221 1066 1082 1079 1219 1025 1315 1156 991 1036 1028 1133 952 974 989 591 287 565 502 287 916 853 811 769 725 668 629 583 524 442 423 - - 470 467 495 434 585 539 492 437 485 413 587 531 458 369 471 389 542 492 418 494 458 456 383 514 458 452 377 390 474 435 366 438 378 345 279 208 803 749 706 654 584 450 653 533 312 434 378 337 287 348 321 270 262 272 304 257 434 380 331 226 205 285 252 193 254 217 260 195 230 204 217 185 129 128 264 200 9 723 668 606 559 501 456 409 340 279 152 171 104 367 326 275 212 270 230 185 86 219 164 288 244 203 164 112 128 171 134 676 654 633 590 546 509 461 418 380 301 253 230 133 113 87 413 377 330 266 188 158 126 109 95 79 119 92 66 42 277 270 243 225 193 164 139 109 97 61 43 40 browserless_chrome
1236 1120 0 25511 38165 10023 608 4057 2526 116 2420 2304 2356 488 2549 2328 1739 1143 1295 1205 1020 1035 1131 658 559 455 439 693 653 586 464 642 595 525 621 546 588 515 497 - - 511 507 515 491 705 665 619 558 494 230 503 204 489 473 479 637 583 518 505 522 537 532 677 613 546 535 596 529 586 522 518 533 581 518 528 598 523 654 600 523 509 484 496 479 602 534 469 467 513 446 457 527 463 452 515 447 449 461 435 433 427 471 411 417 415 415 532 491 433 489 410 503 436 436 450 449 532 449 461 554 457 530 443 443 398 475 384 439 446 549 461 535 441 495 425 504 337 376 385 374 343 346 385 324 367 312 232 316 413 358 352 353 348 339 437 364 400 303 364 260 310 306 404 326 354 432 288 279 250 254 307 243 252 236 226 196 225 281 231 243 288 288 237 181 298 226 195 195 plex_nas
1219 1125 992 1247 1156 1073 367 1479 1425 1374 1321 1249 1195 1145 1047 951 957 433 972 900 830 782 717 623 580 538 480 440 188 616 580 548 512 476 413 552 522 495 491 - - 589 555 518 492 450 389 664 640 622 590 553 533 493 464 447 420 371 434 411 366 394 392 493 459 431 423 438 387 371 463 425 386 471 444 395 528 493 456 393 481 423 368 484 452 421 368 444 419 366 404 362 446 420 380 472 450 417 388 352 434 419 385 341 496 473 449 411 369 544 519 497 454 409 409 559 510 449 370 804 758 706 644 594 543 440 357 863 797 756 703 643 582 497 590 518 447 387 513 443 343 442 386 414 362 299 519 481 451 420 376 704 640 567 497 436 354 599 529 491 341 286 291 291 267 503 411 280 382 347 322 281 250 86 290 257 222 235 191 186 208 200 200 128 95 91 47 31 29 radarr_nas
1098 914 731 510 1431 1334 958 760 524 52 694 513 459 217 524 636 417 620 445 370 332 302 274 220 416 396 379 363 348 324 299 276 258 239 225 206 188 160 154 - - 256 232 217 202 184 156 130 182 158 133 112 173 148 136 122 106 97 73 49 32 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immich_power_tools
1090 1052 1016 988 953 905 835 799 766 735 686 641 603 556 502 414 868 813 765 707 666 623 567 457 922 876 849 811 793 761 739 718 703 667 628 598 575 553 550 - - 496 471 446 422 401 371 326 436 413 378 354 336 307 285 259 236 217 197 177 160 135 131 0 778 753 750 664 638 614 602 590 572 563 544 528 509 492 476 459 439 420 392 370 342 313 276 556 536 506 486 475 460 434 411 376 362 334 301 280 257 228 296 279 260 221 902 886 873 860 841 828 813 791 791 770 738 697 656 621 587 555 518 485 458 422 400 329 288 249 217 182 385 335 256 219 193 116 155 113 143 274 252 238 215 201 185 172 156 129 137 149 139 46 139 144 154 152 108 146 111 101 61 103 46 111 99 102 84 21 107 94 84 101 105 88 51 23 66 10 86 22 22 73 72 81 69 73 69 calibre_web
1050 984 939 893 846 818 706 664 588 509 451 357 301 327 266 182 168 94 16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bentopdf
1038 1033 1028 1024 1020 1020 1018 1018 1016 1016 1008 1006 1000 996 984 976 976 958 948 940 939 939 939 939 939 939 939 939 939 939 939 939 939 931 931 931 1390 1387 1384 - - 1384 1378 1378 1378 1378 1378 1378 1378 1378 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1372 1369 1369 1369 1369 1368 1368 1368 1368 1368 1368 1368 1368 1368 1368 1362 1356 1356 1356 1356 1356 1356 1356 1354 1354 1354 1348 1348 1348 1348 1348 1346 1346 1346 1346 1346 1346 1346 1346 1346 1346 1346 1346 1346 1334 1314 1280 1256 1228 1194 1169 1143 1123 1101 1085 1071 1036 1020 1004 988 962 947 923 875 853 831 783 759 728 704 691 691 691 691 691 691 691 691 691 691 659 629 599 569 539 508 446 398 398 278 278 275 275 251 203 143 53 38 31 31 31 31 31 31 30 30 120 110 99 91 68 65 53 42 35 16 11 9 papermerge
1025 680 768 804 909 801 412 749 778 103 900 788 785 428 898 708 899 789 765 751 744 709 805 463 866 823 790 756 726 683 663 628 610 579 558 523 504 478 473 - - 399 368 335 313 289 246 225 195 158 127 1041 1022 983 966 943 919 901 883 867 833 808 805 666 597 579 575 509 499 488 475 468 445 432 416 406 382 366 353 335 317 298 283 270 249 234 213 189 104 182 321 314 300 292 277 265 240 214 194 168 59 191 168 136 230 210 201 187 167 150 126 353 337 326 326 283 244 205 167 125 237 209 174 128 220 164 606 540 497 460 420 386 345 308 237 200 150 70 220 177 144 114 797 792 778 770 757 751 740 732 717 684 658 631 603 575 545 497 459 442 348 335 320 313 290 248 188 112 91 104 158 144 132 119 103 81 130 127 112 97 74 81 81 67 48 84 58 58 58 scrutiny
1024 932 367 1237 1172 1112 1003 907 990 825 1037 914 912 466 955 822 866 867 900 867 804 790 392 309 248 418 347 112 540 514 492 475 457 406 400 397 399 395 382 - - 402 459 422 392 372 411 370 367 427 392 350 380 341 388 349 338 384 347 351 352 398 395 351 349 428 425 359 339 375 334 359 323 333 344 382 361 327 347 313 342 295 293 328 284 379 344 314 271 286 316 298 279 349 334 315 291 249 275 244 287 259 228 175 128 216 126 246 221 264 249 225 201 117 117 279 227 215 211 257 212 298 250 222 186 261 229 156 244 195 154 186 143 168 177 138 109 80 102 91 38 99 65 50 48 31 36 17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - changedetection.io
1009 900 815 709 980 931 837 772 659 68 407 654 669 286 793 717 644 628 685 605 582 572 559 360 314 270 212 241 15 432 372 448 403 369 421 368 373 372 359 - - 327 317 289 251 416 378 342 300 410 367 343 301 261 293 247 277 233 247 280 238 243 241 204 230 253 252 280 247 251 208 452 401 403 361 369 490 426 493 431 445 486 417 567 525 475 405 434 594 560 511 475 443 391 597 576 548 512 478 430 391 343 108 77 532 498 469 425 357 335 456 420 382 597 597 530 477 392 553 489 405 471 388 469 383 556 496 347 437 359 443 367 374 343 448 388 337 179 395 316 336 271 357 302 257 238 270 232 244 329 281 412 348 283 272 442 382 286 222 293 262 224 340 313 251 386 287 220 217 217 249 224 215 226 214 395 371 339 300 287 251 207 169 163 144 110 68 47 47 fireflyiii
1004 970 938 910 878 866 828 794 763 731 709 657 641 608 594 570 545 515 479 433 417 391 371 340 320 299 285 276 271 247 232 211 191 178 166 142 296 284 281 - - 263 236 221 211 202 185 170 160 144 115 88 403 391 377 360 345 332 312 286 268 244 242 230 204 182 178 411 401 380 358 343 318 307 296 275 260 251 240 229 218 203 183 172 151 138 112 308 291 276 257 250 238 229 211 198 190 177 167 159 145 130 105 376 368 362 354 340 335 321 304 290 279 265 265 213 182 133 618 576 545 508 446 410 382 351 324 260 221 163 127 83 13 32 267 223 186 112 78 36 1065 1044 1031 1023 1011 1006 998 989 982 979 973 937 897 864 827 789 750 685 633 623 498 489 483 471 438 383 317 223 203 193 190 183 171 165 154 149 143 132 122 118 104 85 76 67 56 49 24 20 18 baikal
997 891 326 418 924 818 713 569 310 38 762 655 888 844 768 690 604 307 603 699 645 562 468 338 297 261 200 148 290 259 186 360 344 318 298 271 264 226 219 - - 231 274 251 230 170 213 202 241 205 192 173 144 142 197 138 286 268 258 249 208 180 179 138 83 231 228 82 81 130 84 118 103 85 25 87 72 56 45 9 97 68 75 143 129 114 100 86 75 59 48 32 63 43 33 157 151 142 133 126 114 104 96 77 64 55 45 28 34 35 46 2 49 151 151 111 70 68 15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - birdnet-go
986 962 960 936 909 889 847 825 803 772 743 721 699 677 645 593 569 541 511 477 447 423 399 369 343 314 299 284 279 263 253 235 220 194 170 134 3428 3412 3409 - - 3367 3355 3336 3324 3312 3306 3294 3274 3258 3238 3216 3211 3182 3175 3163 3161 3151 3141 3133 3126 3114 3113 3104 3085 3065 3063 3019 3008 2989 2968 2959 2938 2925 2913 2899 2874 2853 2838 2818 2788 2765 2735 2718 2700 2686 2666 2650 2639 2627 2617 2589 2576 2558 2537 2521 2496 2472 2458 2450 2440 2423 2414 2404 2391 2381 2367 2357 2342 2327 2310 2299 2289 2268 2268 2249 2215 2165 2131 2088 2053 2010 1967 1936 1903 1867 1837 1767 1733 1693 1656 1626 1578 1540 1468 1429 1388 1314 1285 1253 1208 1183 1176 1163 1152 1141 1134 1125 1113 1105 1084 1038 995 949 907 867 827 759 707 700 577 568 557 544 519 461 389 283 261 249 238 231 219 210 195 189 179 166 152 133 123 108 98 80 66 51 23 15 14 xteve
986 925 883 823 759 713 612 539 442 345 778 722 702 662 632 584 564 542 496 441 413 375 351 310 274 244 206 169 361 332 297 275 254 231 209 154 267 253 252 - - 179 143 272 250 231 211 183 157 145 114 91 303 286 268 245 229 216 198 184 156 138 138 115 91 61 59 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - emby_stable
968 916 836 738 772 981 872 758 975 918 833 740 940 862 758 841 721 838 760 829 727 719 579 471 395 643 605 550 507 457 415 362 368 438 384 231 362 451 448 - - 230 4 362 466 418 352 380 325 311 202 485 428 358 340 466 414 353 530 511 479 450 448 416 364 457 448 365 355 346 541 512 462 433 365 332 446 419 374 329 428 383 327 420 373 330 409 368 318 378 338 291 391 359 314 323 287 376 334 284 371 326 278 335 292 261 315 278 382 343 317 275 257 374 374 333 283 360 293 325 262 366 314 261 24 215 324 212 332 286 237 300 249 343 234 307 262 129 193 127 252 196 189 125 181 171 151 172 976 968 953 927 881 841 800 757 718 666 616 598 501 477 453 436 396 350 291 219 187 148 161 186 150 145 86 127 83 155 124 112 127 115 115 125 98 112 86 107 69 calibre
875 833 806 752 712 689 614 584 511 48 655 591 515 255 698 652 595 553 519 457 404 355 354 308 274 241 206 187 161 122 254 303 260 458 440 427 406 388 386 - - 325 294 255 321 265 367 324 267 368 344 327 293 262 519 505 492 476 456 436 419 407 406 379 361 342 338 241 330 318 290 260 250 256 768 752 729 717 685 666 645 627 596 578 558 536 518 498 482 462 443 430 412 394 376 363 347 331 314 303 272 245 216 186 875 860 841 822 803 780 765 743 725 712 712 686 665 634 607 579 541 504 467 440 410 382 354 285 250 203 159 266 227 185 247 218 187 86 213 157 166 129 173 156 140 117 450 433 421 409 386 344 306 257 215 164 272 199 129 331 194 184 171 153 247 177 97 203 180 151 138 120 104 108 150 133 116 96 159 149 130 105 85 69 74 81 48 24 23 joplin
857 768 0 515 740 786 324 0 779 80 753 739 771 314 757 728 790 699 703 693 800 679 704 389 303 370 322 323 149 367 290 412 380 333 334 341 386 337 334 - - 322 319 313 312 316 309 286 309 316 306 343 304 299 298 307 349 302 294 303 317 315 312 312 321 336 329 323 329 316 330 307 303 313 317 311 308 297 307 303 324 293 294 299 295 280 283 271 281 283 282 274 270 281 265 260 274 281 303 280 291 266 259 259 264 256 255 275 267 263 266 268 269 303 303 310 296 305 298 304 306 309 296 300 302 250 250 284 311 311 331 344 340 352 323 299 308 270 300 296 290 272 257 264 257 252 244 244 245 235 268 254 254 253 230 251 261 253 214 256 226 212 201 237 241 244 273 183 186 177 170 168 173 168 157 146 123 148 151 120 138 129 129 120 114 142 100 114 113 prowlarr
758 742 723 711 696 676 653 625 600 578 558 527 507 479 430 387 340 281 209 821 793 765 737 684 665 656 637 626 618 604 587 579 573 559 540 520 515 494 491 - - 461 443 428 419 408 396 385 379 366 350 327 312 303 295 282 267 250 239 217 180 1708 1708 1693 1684 1671 1669 1624 1602 1571 1558 1543 1530 1522 1502 1493 1483 1465 1454 1437 1421 1399 1373 1357 1331 1311 1300 1276 1261 1237 1224 1204 1190 1181 1166 1156 1147 1132 1113 1105 1087 1073 1062 1054 1038 1029 1013 992 977 956 947 938 918 901 901 883 844 798 763 715 683 638 586 546 520 485 456 386 347 311 272 244 198 133 218 170 135 372 325 281 228 200 182 165 157 144 135 111 83 1008 994 954 904 863 824 772 735 657 594 577 444 422 414 397 360 297 222 109 95 256 245 233 216 204 183 162 148 140 117 90 72 145 145 126 80 97 67 54 54 transmission_openvpn
737 721 711 699 681 681 655 649 623 608 594 566 558 546 528 508 486 475 456 439 433 400 388 374 360 356 346 335 325 310 301 292 289 280 275 265 262 247 247 - - 226 213 211 202 192 186 182 173 164 156 146 131 123 118 110 100 93 73 214 206 201 200 193 184 176 176 151 145 138 130 118 98 87 257 252 243 230 218 212 198 182 170 158 137 133 116 103 83 1597 1585 1579 1569 1560 1548 1543 1538 1527 1521 1514 1511 1503 1496 1491 1481 1476 1470 1455 1445 1443 1430 1423 1417 1409 1409 1396 1375 1355 1326 1298 1269 1248 1219 1197 1180 1151 1132 1077 1056 1025 1010 991 968 935 879 858 832 788 764 741 720 706 702 698 687 681 676 670 662 659 649 620 590 559 529 503 478 422 385 376 292 279 269 260 232 193 146 76 47 61 49 35 39 31 17 9 - - - - - - - - - - - - - binance_trading_bot
722 674 643 617 581 532 539 497 546 461 499 473 528 251 380 497 581 567 357 303 512 459 535 303 181 283 225 158 291 294 361 335 293 305 510 483 461 435 431 - - 362 322 284 292 297 285 401 374 350 321 281 279 324 293 289 547 528 515 495 464 437 437 410 380 353 353 470 452 428 409 386 353 330 301 266 314 281 406 374 348 322 308 272 342 302 265 262 253 257 440 420 411 385 359 334 316 293 266 244 245 275 233 305 285 260 225 409 393 366 350 331 315 287 287 241 339 293 239 290 246 227 232 231 453 408 373 307 250 230 416 383 352 307 231 221 217 146 216 171 125 213 191 229 206 161 201 173 283 262 235 175 334 278 228 176 484 413 357 342 215 204 187 164 467 406 331 227 198 174 147 114 147 130 184 179 157 135 114 107 114 102 102 87 72 61 33 22 20 cloudcommander
694 690 687 681 670 668 660 648 642 637 632 628 618 608 592 582 578 570 568 560 556 556 554 554 551 550 549 544 543 540 537 530 528 522 521 519 513 512 512 - - 505 500 496 494 491 491 488 488 487 482 479 477 475 472 471 471 471 469 466 466 462 462 462 462 461 461 452 450 447 447 447 443 438 435 429 423 421 416 412 411 409 409 408 405 402 393 389 386 385 383 380 377 375 373 370 368 362 357 357 356 351 350 349 345 339 332 329 326 324 316 307 297 290 290 260 236 207 177 148 119 89 57 30 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - comixed
673 663 655 647 635 623 599 585 565 532 508 488 463 443 423 411 394 371 349 323 291 277 261 237 224 213 204 191 180 170 160 149 143 128 114 311 298 291 290 - - 272 251 239 231 221 210 204 194 174 156 144 127 112 142 131 115 80 20 265 252 242 242 232 225 220 218 179 172 150 133 524 514 499 478 462 449 431 409 394 384 370 354 331 322 307 291 278 272 260 253 241 231 213 193 171 145 132 107 92 197 186 172 160 156 151 142 126 111 96 75 143 128 113 113 66 1929 1888 1853 1821 1790 1754 1705 1684 1660 1631 1603 1532 1495 1457 1431 1393 1352 1310 1240 1202 1168 1107 1067 1033 994 976 971 962 952 939 933 928 923 917 906 870 837 797 757 719 680 615 566 556 435 426 412 406 377 323 259 162 142 128 117 108 94 83 76 61 57 55 45 39 31 37 37 19 11 28 12 10 8 resiliosync
643 629 624 612 600 591 583 571 561 552 541 533 527 509 495 487 473 448 434 420 412 400 398 379 371 368 362 359 356 353 349 346 344 339 324 316 312 302 301 - - 287 274 268 265 258 257 248 243 233 226 217 212 206 198 193 189 183 183 180 173 165 165 162 157 156 154 140 136 134 131 127 119 116 116 109 101 96 77 62 129 107 76 87 82 76 75 83 80 78 64 917 912 905 903 899 889 876 866 860 857 852 846 840 835 830 819 811 804 793 783 780 776 768 768 753 728 686 654 625 587 552 507 477 453 426 399 344 322 292 261 239 215 189 115 79 43 194 166 130 93 78 75 63 58 49 831 824 821 819 806 767 728 695 664 632 599 534 485 474 348 344 335 328 297 248 188 88 71 62 59 54 51 41 31 27 79 70 63 56 46 29 25 55 49 45 27 23 22 spotweb
622 618 615 609 605 605 589 581 581 568 563 555 553 551 539 527 519 501 491 483 483 483 481 479 479 477 475 474 473 472 469 464 462 458 458 457 501 501 501 - - 498 491 489 489 487 486 485 485 484 475 474 470 468 466 465 464 463 459 459 458 456 456 455 454 452 451 450 448 447 447 446 441 441 439 439 437 436 433 431 429 427 423 420 413 412 403 395 393 390 389 387 379 376 371 369 367 359 358 356 352 350 343 333 326 312 307 297 294 281 270 262 253 238 238 196 168 130 204 172 133 456 408 376 360 323 302 249 218 188 156 120 469 432 360 332 296 227 188 156 121 101 94 88 77 66 87 79 72 57 70 84 88 88 83 83 107 104 47 184 54 60 60 79 94 198 131 68 52 46 44 41 55 53 47 51 44 53 44 37 56 59 45 42 33 63 33 32 31 plex-media-manager
590 517 458 380 305 285 251 227 120 195 488 450 398 190 383 410 372 428 373 367 239 38 245 222 201 181 165 153 83 280 257 245 229 216 204 187 165 174 171 - - 133 84 137 121 156 147 126 155 137 118 97 97 89 188 181 188 188 178 186 166 154 153 141 125 108 107 184 207 183 278 268 256 242 224 196 3 194 199 207 212 238 221 216 196 174 199 174 237 228 210 198 188 173 161 146 202 181 163 135 152 133 105 200 190 174 160 140 247 237 227 211 194 173 173 128 317 274 219 267 215 150 2 314 281 237 181 190 241 197 206 327 287 225 307 267 228 147 243 197 136 225 212 198 184 162 151 135 127 122 328 285 239 194 141 222 180 114 253 243 110 427 419 414 382 327 256 156 134 120 99 86 95 177 156 131 132 118 103 84 83 77 73 62 51 47 23 16 15 fireflyiii_data_importer
579 570 194 658 565 536 216 480 501 46 486 438 415 200 414 372 364 377 380 310 287 262 242 151 106 92 61 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - brave
573 545 518 504 482 468 432 400 362 330 281 573 545 499 475 445 419 385 343 325 287 138 286 257 236 221 208 193 169 148 195 162 142 158 130 139 741 729 728 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - monica
573 502 6 24950 25575 9600 337 3 1775 72 1894 1785 1604 261 2012 1275 1781 1782 598 581 537 536 718 334 263 297 249 163 146 289 248 291 311 306 300 305 298 294 291 - - 295 294 288 297 296 305 295 305 301 295 285 288 273 279 291 296 293 279 295 280 306 305 294 317 303 293 285 304 286 294 292 298 295 296 288 285 286 294 289 304 272 272 301 272 274 270 265 273 261 262 261 246 263 259 241 243 230 242 232 243 234 235 228 238 233 230 242 234 235 245 253 239 283 282 275 275 287 267 268 279 286 253 274 272 234 222 2600 1318 270 257 258 211 268 250 236 241 215 229 237 221 205 203 187 195 195 194 195 195 192 237 231 219 224 219 233 244 241 189 247 188 193 187 220 184 239 253 183 177 181 171 169 161 159 154 148 110 134 140 111 129 118 118 94 106 136 104 95 95 jackett_nas
565 547 525 511 489 461 400 370 484 434 376 698 686 653 612 577 528 490 440 383 392 156 332 279 249 229 209 187 28 195 144 207 190 205 284 268 259 240 238 - - 507 472 450 425 411 392 375 361 343 312 282 260 238 215 451 440 430 409 394 372 351 351 323 282 251 242 291 265 242 301 263 216 791 775 762 732 709 690 665 645 625 594 572 548 526 513 465 443 419 388 368 348 318 284 243 426 403 383 369 353 329 311 296 268 230 320 304 285 249 210 245 226 251 251 1141 1107 1059 1018 970 922 874 815 776 738 695 669 599 560 527 494 466 426 371 284 235 168 163 186 254 213 180 137 423 406 384 371 359 339 332 318 288 255 197 135 398 350 288 246 235 126 269 247 228 191 133 207 108 121 278 261 246 225 214 112 170 152 126 96 91 87 143 143 121 112 103 78 81 81 photoprism
559 463 68 1870 1818 1782 1729 1699 1660 1606 1570 1519 1487 1457 1421 1381 1319 1278 1234 1203 1181 1154 1142 1093 1056 1040 1027 1002 985 968 948 923 892 869 848 830 808 793 793 - - 747 725 710 693 672 658 638 618 600 573 548 526 508 491 467 447 417 398 366 335 301 300 251 507 491 487 390 361 336 292 258 577 554 527 511 481 440 413 373 310 257 310 269 266 111 1733 1703 1673 1645 1616 1593 1563 1543 1515 1500 1480 1464 1444 1432 1394 1359 1346 1319 1296 1275 1249 1227 1205 1178 1146 1126 1097 1076 1076 1044 1001 951 907 866 824 788 736 696 664 617 574 498 466 410 364 311 262 202 369 317 245 129 224 169 715 685 653 621 597 573 553 519 490 465 440 399 358 301 255 196 146 77 22 124 40 26 37 6 - - - - - - - - - - - - - - - - - - - - - - - - - free_games_claimer
551 1133 1105 1063 1028 988 916 872 820 769 687 607 514 248 823 786 748 705 615 563 501 457 415 344 306 279 242 195 204 852 832 815 796 760 724 700 673 650 648 - - 574 548 519 495 468 447 424 399 376 354 331 303 280 259 239 219 193 175 152 129 110 108 88 63 35 33 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - librespeed
550 400 2 796 766 756 726 704 682 648 615 548 510 279 268 623 532 573 551 521 478 444 408 363 340 331 318 296 276 232 215 253 394 374 361 340 324 302 301 - - 294 268 239 291 273 254 221 246 212 250 226 207 205 222 216 204 283 268 253 234 212 211 187 146 269 263 377 354 335 317 303 277 261 248 235 207 173 127 201 284 253 233 211 187 147 221 185 384 359 336 316 301 277 262 237 227 191 173 147 121 161 142 116 86 289 258 243 228 206 192 168 149 135 135 102 73 254 220 185 143 111 53 21 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - linkwarden
531 523 513 501 489 477 448 440 421 402 363 348 335 318 292 270 258 238 220 206 178 163 153 140 131 122 107 85 156 114 2612 2594 2584 2569 2555 2544 3008 3000 3000 - - 2975 2963 2955 2948 2938 2932 2920 2913 2908 2897 2887 2878 2870 2863 2856 2849 2846 2842 2839 2827 2823 2823 2813 2797 2793 2789 2742 2733 2725 2722 2711 2698 2683 2675 2659 2640 2631 2611 2602 2587 2575 2555 2539 2532 2520 2495 2478 2461 2452 2440 2431 2428 2417 2409 2399 2392 2378 2372 2370 2364 2353 2344 2336 2324 2315 2303 2290 2283 2275 2262 2252 2241 2234 2234 2205 2180 2142 2105 2076 2030 1989 1939 1910 1884 1855 1830 1780 1737 1692 1669 1642 1605 1564 1494 1452 1414 1345 1318 1279 1245 1213 1208 1196 1185 1176 1168 1153 1141 1137 1129 1084 1045 1000 960 919 877 805 749 741 608 595 582 577 541 481 414 313 288 275 263 249 240 231 214 200 190 171 157 148 134 110 100 85 78 70 37 25 22 organizr
518 431 2 292 242 200 162 754 715 657 569 504 433 190 429 318 612 560 516 464 394 335 275 164 99 224 206 185 167 148 130 107 152 138 121 102 248 238 237 - - 203 192 176 170 156 144 131 121 108 95 79 108 95 82 68 96 90 82 76 61 112 110 94 87 77 77 30 24 45 39 65 54 43 24 71 64 56 44 49 35 36 147 142 132 117 96 83 72 63 59 49 39 35 24 18 45 23 15 14 7 79 74 69 60 50 44 31 24 17 3 4 - 17 17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - navidrome
480 446 412 400 365 347 315 286 209 188 159 619 589 559 541 519 487 461 440 399 343 287 236 183 164 147 126 107 79 171 131 301 294 280 264 246 240 220 220 - - 163 1013 1002 991 981 970 961 946 934 921 906 890 875 861 851 832 819 810 792 767 752 752 741 723 710 710 645 619 595 574 558 540 513 488 464 447 426 402 382 354 338 321 305 278 270 246 222 196 175 149 360 346 323 304 282 262 225 207 181 147 2203 2186 2174 2158 2129 2107 2080 2063 2044 2032 2009 1985 1968 1968 1946 1910 1853 1801 1755 1702 1655 1599 1562 1514 1484 1460 1380 1342 1298 1260 1219 1173 1125 1032 995 957 869 825 766 723 687 659 636 619 608 588 576 552 540 529 477 415 364 306 255 200 119 864 836 693 659 637 621 586 516 434 302 271 235 212 178 144 121 76 188 170 121 148 113 223 174 119 117 123 104 45 19 14 zoneminder
465 435 417 384 358 338 128 360 346 302 331 293 625 605 569 551 527 504 470 450 426 401 389 365 341 325 303 291 280 269 258 247 237 228 204 182 170 159 158 - - 205 191 184 170 156 144 127 178 163 152 146 132 123 108 223 215 208 203 196 181 175 175 168 158 150 149 124 167 152 145 137 122 111 95 73 195 185 168 159 148 132 107 112 247 231 221 210 202 194 184 171 158 153 143 132 123 115 106 92 5318 5316 5304 5295 5289 5283 3973 1822 130 118 105 97 150 145 145 113 103 273 250 224 200 167 142 107 212 192 175 130 104 196 171 149 122 356 299 277 256 213 188 166 135 114 105 93 77 105 99 94 85 78 104 81 83 84 77 72 94 85 58 103 50 49 47 61 82 94 120 49 44 31 33 28 31 27 23 20 16 11 7 2 - - - - - - - - - sabnzbd
461 439 430 414 402 388 365 349 336 316 283 249 233 124 351 308 266 336 310 274 256 248 234 204 193 189 176 161 139 180 172 164 155 136 220 214 204 192 191 - - 153 93 78 148 510 506 495 481 471 450 439 429 420 417 407 398 392 387 383 371 363 363 353 343 330 328 289 275 266 248 235 226 212 200 186 170 143 298 280 267 250 241 231 219 209 197 177 165 146 179 171 160 137 1162 1149 1143 1132 1119 1111 1104 1092 1085 1080 1056 1050 1043 1038 1034 1019 1006 998 988 983 983 966 938 903 873 833 791 748 698 661 629 603 573 520 478 440 412 382 346 305 237 201 164 87 184 138 196 168 156 147 133 124 117 109 96 91 767 725 685 650 613 579 539 471 416 406 278 270 249 242 215 154 75 103 76 54 259 251 240 232 218 216 204 199 180 168 148 135 119 97 82 72 41 32 29 whoogle-search
459 1609 1577 1537 1482 1460 1396 1362 1307 1254 1215 1161 1115 1077 1024 974 923 876 823 751 674 572 1284 1241 1196 1171 1142 1115 1092 1055 1026 998 970 944 913 883 851 825 824 - - 766 733 708 685 669 647 615 595 573 543 518 498 465 451 435 402 371 337 302 259 83 73 112 136 118 115 102 84 71 65 59 61 52 8 54 35 16 25 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - webtop
445 439 429 425 417 417 399 383 370 352 338 320 304 294 280 272 260 252 229 211 185 175 173 173 172 165 161 157 153 147 143 129 119 110 103 95 86 76 74 - - 74 60 261 260 256 252 247 245 237 229 226 226 222 221 216 212 207 207 204 198 192 192 188 186 180 180 157 154 153 150 148 146 136 131 124 111 101 95 89 81 71 66 685 681 675 665 657 653 650 643 638 635 628 623 620 619 610 608 602 600 596 593 583 580 577 574 565 560 558 553 551 548 544 544 533 513 487 470 449 430 409 385 365 352 335 318 281 259 240 215 199 178 160 109 91 71 26 85 54 68 53 49 39 36 27 584 580 579 575 572 549 525 503 477 454 429 381 342 339 255 254 250 246 225 192 150 88 76 68 63 60 58 55 50 47 45 41 39 33 29 20 16 8 24 18 5 7 7 fireflyiii_fints_importer
427 321 0 427 764 742 694 657 608 580 539 507 473 428 364 467 425 393 328 327 316 294 275 226 193 163 117 217 204 182 163 137 232 214 203 192 175 156 154 - - 275 261 247 240 223 205 182 164 150 122 97 86 56 74 54 42 45 55 34 14 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immich_frame
409 463 433 241 551 537 485 461 431 391 360 323 295 237 590 567 522 488 448 420 358 291 257 210 157 201 183 166 64 316 306 292 271 258 241 234 228 218 218 - - 193 175 144 320 314 304 293 288 277 266 257 245 239 230 226 220 212 208 202 186 172 171 154 364 350 349 316 302 285 278 264 254 248 244 229 219 212 195 171 153 146 266 254 245 234 218 207 197 182 172 166 151 140 155 134 276 265 261 251 238 230 220 208 202 195 190 179 172 163 147 614 608 597 597 561 521 484 447 413 385 350 308 270 241 187 153 173 473 435 404 374 338 302 217 176 128 120 259 214 172 143 183 160 151 144 128 359 352 343 331 293 251 201 145 154 253 174 445 441 311 299 287 268 227 169 206 101 158 140 132 122 117 106 98 127 120 117 107 93 80 84 84 49 103 98 75 69 68 bazarr
404 377 367 351 327 325 319 311 291 278 266 236 220 208 184 164 128 206 180 168 148 128 112 96 89 84 69 54 50 40 26 1874 1865 1856 1848 1845 2325 2318 2318 - - 2298 2288 2283 2275 2274 2268 2264 2261 2258 2250 2245 2244 2233 2222 2216 2213 2209 2205 2201 2198 2190 2190 2190 2187 2177 2177 2155 2152 2149 2145 2136 2123 2118 2105 2101 2088 2076 2057 2043 2024 2010 1997 1988 1985 1970 1951 1932 1928 1916 1909 1903 1899 1890 1884 1875 1869 1861 1849 1847 1840 1837 1830 1824 1822 1818 1812 1808 1806 1804 1799 1796 1793 1785 1785 1768 1739 1693 1658 1620 1596 1555 1514 1486 1467 1441 1419 1377 1350 1328 1304 1279 1236 1209 1151 1128 1098 1035 1005 968 931 912 908 905 900 895 893 889 888 879 874 843 810 777 742 708 676 615 563 560 438 436 431 427 396 344 279 188 169 150 143 139 133 123 105 83 125 117 108 92 89 68 53 47 38 29 13 7 7 gazpar2mqtt
402 396 386 374 364 362 350 338 330 323 317 311 307 291 281 269 257 241 223 211 203 197 195 192 190 185 181 176 173 165 160 155 151 141 131 121 117 111 111 - - 91 79 74 69 66 64 59 54 267 255 251 249 246 243 243 239 234 229 228 217 213 213 212 206 203 203 189 186 184 182 169 164 163 153 149 146 143 132 128 125 123 122 118 114 106 95 85 79 74 65 56 70 65 63 52 1817 1807 1801 1801 1798 1793 1784 1779 1774 1768 1764 1754 1750 1739 1730 1726 1723 1721 1721 1711 1685 1649 1621 1589 1559 1524 1485 1448 1430 1407 1382 1342 1313 1288 1264 1237 1209 1176 1106 1079 1048 994 970 929 903 889 885 883 878 869 866 858 856 853 850 817 784 749 711 675 645 580 519 509 385 381 372 366 335 287 227 136 119 110 106 98 89 82 71 67 62 56 49 44 37 68 68 57 41 37 19 10 9 ubooquity
393 389 387 381 377 375 373 367 365 354 352 343 337 333 325 309 293 283 273 253 249 243 239 229 228 225 222 217 212 207 207 206 204 193 184 176 179 173 172 - - 163 154 151 149 143 142 141 141 139 130 128 126 126 125 123 121 114 110 106 98 96 96 91 88 86 86 75 71 65 57 52 43 37 32 11 146 140 136 130 123 120 119 114 107 102 89 81 80 78 69 65 59 54 47 44 42 31 31 25 13 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tor
370 324 84 322 282 304 107 259 281 22 315 295 308 91 288 360 212 245 202 224 191 208 228 151 39 81 28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - chromium
352 292 2 669 595 471 691 653 583 74 695 642 540 258 716 682 642 587 514 462 433 387 362 331 281 245 341 331 301 265 237 293 272 235 287 267 242 241 237 - - 310 286 265 244 219 297 281 257 231 222 271 253 227 283 264 243 212 217 277 256 241 238 221 294 272 270 212 193 240 224 191 214 198 219 194 242 228 218 197 246 223 194 180 221 194 282 265 252 241 221 205 178 225 216 194 179 157 270 259 245 229 217 202 192 175 157 218 209 197 182 159 318 305 305 276 253 221 180 252 218 166 142 140 171 127 32 170 141 167 129 209 183 148 134 56 133 65 83 160 130 109 97 84 85 76 91 77 133 113 94 129 92 132 101 85 117 61 310 299 215 209 203 189 163 114 134 102 68 20 69 62 94 87 74 59 45 79 72 63 53 39 57 38 45 32 21 14 12 gitea
348 270 347 327 278 235 134 0 294 232 302 273 295 162 425 284 256 216 178 154 134 344 303 174 146 218 204 184 167 142 106 149 132 132 130 149 134 119 115 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - grampsweb
330 220 319 1 380 291 492 464 426 402 357 333 315 289 270 253 232 199 165 130 104 213 367 290 201 319 145 493 398 308 212 9 149 81 218 73 100 28 61 - - 217 151 244 187 72 155 269 177 126 182 164 203 80 448 380 370 352 342 326 302 276 274 233 198 162 159 118 106 56 107 49 49 121 88 9 72 206 639 409 87 207 190 180 163 150 134 119 110 96 61 111 94 71 58 57 76 113 104 95 82 15 33 77 68 58 55 65 36 37 47 3 28 33 33 34 82 19 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - birdnet-pi
330 220 319 1 380 291 492 464 426 402 357 333 315 289 270 253 232 199 165 130 104 213 367 290 201 319 145 493 398 308 212 9 149 81 218 73 100 28 61 - - 217 151 244 187 72 155 269 177 126 182 164 203 80 448 380 370 352 342 326 302 276 274 233 198 162 159 118 106 56 107 49 49 121 88 9 72 206 639 409 87 207 190 180 163 150 134 119 110 96 61 111 94 71 58 57 76 113 104 95 82 15 33 77 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - battybirdnet-pi
328 270 0 520 494 456 412 394 363 343 288 247 389 359 323 284 249 208 240 167 139 10 122 88 53 80 66 53 35 15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - social_to_mealie
314 302 293 283 259 247 203 382 366 342 325 309 276 104 789 757 731 698 664 609 539 691 1326 1242 1184 1143 1104 1069 1030 997 941 908 879 835 793 751 718 688 680 - - 591 564 532 493 454 426 383 349 292 357 328 270 264 372 337 307 265 267 506 475 455 453 414 379 357 356 226 270 231 225 400 373 341 305 288 262 231 197 243 209 449 427 394 369 340 305 151 211 189 164 135 243 226 204 192 164 140 127 112 62 284 268 245 235 220 205 184 154 131 148 129 362 340 340 284 246 205 159 1035 987 951 900 859 829 801 754 665 629 599 568 529 493 443 376 342 313 239 204 166 130 107 99 88 79 66 52 57 44 37 610 561 521 480 440 399 357 281 228 223 88 78 65 55 102 45 26 - - - - - - - - - - - - - - - - - - - - - - jellyseerr
302 298 293 289 283 283 281 279 276 266 262 254 244 234 218 212 200 190 180 170 166 164 152 130 111 99 82 74 47 0 98 91 86 38 358 351 345 341 340 - - 324 313 313 310 300 293 291 288 283 272 270 266 262 258 253 249 239 236 234 224 219 219 214 208 202 201 179 172 167 165 158 150 145 135 122 112 102 94 83 244 233 230 225 221 216 205 198 191 182 172 161 158 155 151 147 139 130 123 118 110 105 94 77 1046 1036 1032 1028 1021 1015 1015 1008 1004 1002 1002 975 959 924 889 859 827 789 750 714 694 674 648 607 577 554 528 511 476 442 377 348 317 248 216 180 149 128 119 110 104 98 92 85 75 64 608 570 529 482 448 410 376 307 258 250 118 109 91 82 341 287 220 121 103 90 88 84 80 73 59 93 92 87 81 73 65 50 40 39 30 24 9 4 4 ombi
279 261 241 219 199 189 157 140 119 86 70 272 240 224 204 174 140 114 92 74 56 36 92 74 61 100 90 80 67 48 75 36 242 224 210 185 177 164 163 - - 133 120 106 95 85 1664 1660 1649 1637 1625 1613 1601 1593 1584 1572 1553 1546 1541 1529 1514 1504 1504 1499 1478 1470 1468 1428 1419 1401 1391 1380 1366 1357 1350 1343 1338 1331 1313 1305 1292 1278 1258 1251 1239 1233 1220 1210 1201 1197 1185 1179 1172 1162 1153 1147 1135 1125 1122 1113 1105 1095 1090 1082 1069 1061 1057 1034 1028 1024 1014 1008 999 993 993 978 952 909 877 844 809 774 724 693 673 641 614 554 518 482 454 424 384 341 276 236 206 146 106 73 35 11 8 6 1 546 535 527 519 512 504 467 436 404 365 326 285 217 163 157 30 59 48 44 291 240 174 77 51 40 34 32 54 46 38 29 22 38 34 19 25 61 61 50 49 43 21 17 17 seafile
271 197 4 229 176 158 124 120 94 12 322 290 264 224 217 233 226 230 295 258 228 179 184 118 83 162 151 136 121 100 69 127 118 103 79 77 63 5 71 - - 93 73 70 9 36 4 54 26 48 64 50 39 76 76 68 61 51 62 48 35 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immich_openvino
248 240 237 233 227 225 216 209 200 191 187 183 175 165 143 139 125 111 98 82 74 67 57 43 39 36 34 32 82 72 57 48 44 37 27 21 136 133 133 - - 118 108 102 97 89 88 87 85 85 79 78 73 65 62 56 53 46 44 38 26 38 36 28 19 34 34 22 29 25 31 26 25 31 26 25 46 35 30 26 102 90 79 72 58 45 29 25 56 47 36 34 29 23 20 30 20 34 30 23 17 15 22 39 36 32 30 25 28 25 20 69 64 58 58 35 80 53 36 34 37 64 39 37 56 30 48 31 50 33 31 34 32 79 32 36 31 29 40 38 31 31 17 21 15 29 13 14 18 22 323 299 277 251 229 206 184 139 103 94 8 5 14 33 42 52 70 28 20 13 11 17 13 15 17 17 10 19 17 14 27 43 38 34 30 24 7 13 11 omada_v3
246 238 233 225 215 213 192 178 175 165 155 140 132 116 84 68 167 139 120 115 2 160 156 146 139 135 132 130 125 123 117 114 108 94 90 84 83 77 75 - - 71 65 61 57 53 49 48 47 44 39 35 34 29 232 231 231 225 223 220 213 210 210 204 199 195 195 183 179 176 173 171 169 167 165 159 158 153 151 143 137 134 132 125 117 111 103 97 93 90 82 79 76 75 71 69 68 62 60 57 52 50 43 55 49 36 281 281 276 269 258 253 247 241 241 222 204 179 154 131 116 92 68 50 24 138 125 95 74 52 52 80 58 35 197 179 156 118 94 72 53 41 39 31 25 18 22 16 103 100 92 67 41 60 38 213 191 145 112 108 21 213 209 205 188 153 111 47 37 30 27 36 35 28 21 29 26 22 23 17 25 32 32 21 22 20 11 9 9 unpackerr
238 234 228 220 216 210 204 198 190 177 170 154 149 147 119 102 94 80 62 54 42 40 40 38 33 32 29 25 6 49 41 909 906 901 894 889 1101 1099 1099 - - 1097 1088 1087 1085 1084 1083 1081 1079 1077 1070 1069 1065 1063 1062 1059 1053 1051 1050 1046 1046 1041 1041 1040 1038 1036 1036 1031 1027 1025 1022 1019 1012 1010 1007 1006 1000 999 995 995 995 995 994 992 991 990 981 973 971 966 958 953 947 946 940 937 933 921 918 914 909 905 903 900 897 895 892 887 883 882 875 868 860 856 856 834 806 766 728 695 659 622 585 560 534 511 489 436 405 371 339 300 276 242 169 132 99 33 98 59 531 500 488 476 476 475 473 467 462 462 461 431 401 366 336 304 271 202 153 152 30 28 19 334 306 256 194 101 88 82 76 74 71 67 63 61 55 55 51 50 48 34 33 31 32 32 20 18 18 joal
221 149 111 225 149 83 354 273 201 135 48 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nginx_webserver_proxy
220 214 214 210 206 193 189 185 180 178 176 175 171 171 171 169 165 163 161 157 157 157 151 147 144 142 140 138 132 115 102 94 83 72 60 48 554 544 544 - - 526 519 513 508 507 503 498 491 487 481 478 473 463 460 451 444 442 438 433 425 416 412 402 395 393 392 375 372 369 365 357 350 345 338 328 325 320 314 307 298 278 270 255 243 229 213 203 192 180 162 154 145 138 133 128 116 96 85 67 67 66 68 63 77 73 75 78 73 79 72 78 81 97 97 89 99 92 96 90 92 95 86 80 85 57 76 87 96 90 86 91 109 143 92 105 69 103 148 153 149 165 134 160 124 332 332 332 332 332 332 312 292 272 252 232 212 170 138 138 58 58 111 119 128 142 166 110 109 112 105 103 97 108 95 115 76 82 75 79 84 127 105 93 88 78 53 51 51 omada
217 197 192 198 207 214 226 222 295 284 266 240 309 256 306 270 279 261 265 281 267 264 166 149 133 197 185 175 167 156 139 142 153 205 199 185 162 147 144 - - 160 176 169 163 157 164 153 171 175 163 169 8 172 180 205 183 199 181 191 194 200 200 205 217 219 217 0 322 287 248 241 242 324 295 250 274 237 291 249 311 249 260 224 298 273 221 252 218 548 506 472 436 401 368 331 296 240 185 271 217 175 198 166 165 269 215 179 165 151 144 157 142 188 188 179 191 185 177 170 240 181 182 153 211 147 114 109 197 177 173 170 164 158 164 200 157 115 135 142 134 128 120 124 82 107 115 126 102 100 129 136 555 509 463 420 380 309 250 239 105 131 108 127 228 159 181 112 108 90 105 286 266 248 221 200 179 161 123 107 85 150 150 145 127 99 60 72 66 emby
212 208 198 186 182 180 170 162 152 146 128 124 122 116 112 100 92 82 64 50 42 38 38 38 37 35 26 3 281 273 271 269 266 258 256 252 262 259 259 - - 254 246 244 244 242 240 239 237 233 226 224 222 221 221 220 220 219 218 216 215 215 215 214 213 212 212 206 206 201 197 195 190 188 187 186 184 177 172 169 163 158 157 155 148 145 136 123 113 109 102 100 99 94 90 85 83 76 72 67 66 60 55 102 95 91 90 84 82 73 67 70 66 446 446 413 391 350 322 293 268 237 184 131 113 77 55 50 86 81 165 136 112 85 83 161 119 53 129 91 132 105 89 86 73 64 63 57 58 52 93 116 70 74 73 73 331 269 216 203 80 77 72 61 263 211 144 49 39 99 87 78 72 69 63 54 28 17 20 17 22 69 62 41 28 45 18 7 5 myelectricaldata_dev
206 145 2 206 174 158 66 222 192 154 188 171 145 84 168 144 32 148 144 174 132 116 127 88 80 92 79 43 107 95 87 74 86 103 93 80 76 118 118 - - 81 111 97 83 76 91 78 96 80 80 105 82 65 97 87 69 58 89 70 60 589 588 582 576 569 567 541 527 517 506 497 484 467 457 441 426 414 405 388 374 361 345 337 322 312 298 284 277 261 242 235 225 209 200 189 183 165 151 144 135 126 111 99 93 80 72 58 49 34 27 19 10 20 20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - openproject
200 185 175 165 157 153 151 128 115 104 90 186 168 152 133 127 125 109 91 79 73 72 64 60 55 53 51 45 33 57 49 42 33 34 47 40 36 127 127 - - 115 103 100 92 85 83 77 72 63 53 46 35 120 118 117 114 114 111 104 100 96 95 92 89 84 84 55 48 44 38 47 38 0 98 93 87 83 77 63 54 50 40 76 73 66 56 42 53 45 35 127 121 111 102 93 88 81 75 69 65 57 49 44 35 266 264 261 258 251 250 246 236 230 230 189 163 117 73 256 216 183 147 122 100 58 157 98 64 186 155 125 102 72 70 594 563 494 459 429 395 377 371 362 354 351 347 341 333 331 325 286 248 202 160 120 82 300 250 244 115 113 107 99 67 267 201 100 84 67 59 47 39 35 25 17 15 38 32 23 26 32 32 22 19 53 33 27 26 piwigo
184 437 422 396 357 323 276 260 224 196 146 122 149 129 303 264 224 201 161 117 79 98 60 77 58 48 34 20 21 18 37 37 37 31 31 30 37 36 36 - - 36 30 24 24 22 21 21 21 20 13 13 18 18 18 18 18 17 17 17 17 32 32 31 30 30 30 27 27 27 26 26 23 20 20 20 21 30 30 29 25 23 20 29 38 36 30 23 24 22 24 23 27 26 39 38 38 32 29 27 26 39 37 34 33 31 134 133 133 133 129 128 128 128 128 110 86 344 320 293 262 227 201 175 155 133 119 92 69 43 24 1 319 287 213 184 145 75 95 181 145 122 116 105 96 77 71 60 50 218 212 175 138 88 130 87 628 556 499 491 367 362 353 343 314 260 193 90 63 50 51 207 193 186 167 160 149 140 133 119 103 80 64 50 39 26 7 4 4 vaultwarden
169 153 129 160 148 128 183 163 144 111 108 104 138 108 90 76 72 80 56 42 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cleanuparr
168 157 0 153 148 144 66 155 0 148 150 150 154 74 144 148 166 146 203 169 160 182 166 99 69 82 101 85 109 95 81 83 83 90 86 86 83 83 83 - - 91 82 76 74 81 74 94 84 89 82 84 86 79 74 78 78 73 79 81 70 77 77 61 85 86 86 77 74 73 75 81 79 0 78 69 79 75 81 82 93 80 66 68 71 75 81 71 67 69 73 65 70 67 66 62 70 63 59 64 61 64 61 66 63 60 58 66 61 62 61 60 61 92 92 1885 1858 1824 1786 1759 1714 1677 1638 1618 1595 1565 1544 1494 1456 1420 1392 1360 1322 1283 1219 1187 1156 1111 1078 1048 1018 990 984 977 968 957 952 950 944 941 936 894 856 819 781 747 711 645 594 584 458 449 443 440 405 352 292 194 174 160 154 150 146 138 129 115 112 109 100 94 72 62 62 76 61 84 57 50 50 nzbget
165 117 40 104 90 72 521 495 475 447 429 400 372 338 302 276 238 204 170 234 210 193 167 113 82 56 40 101 90 76 64 67 130 106 93 80 69 56 54 - - 61 44 48 31 12 43 27 8 23 4 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - collabora
163 114 0 147 233 213 140 104 47 0 196 167 135 111 124 93 93 113 213 179 156 126 101 66 32 127 104 91 76 55 27 75 56 39 28 45 25 33 29 - - 49 29 16 10 6 0 19 12 12 23 12 9 27 22 15 8 4 20 12 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immich_noml
160 134 48 129 182 175 133 164 138 116 134 143 208 186 146 193 163 72 148 66 168 147 123 84 64 113 100 90 84 75 64 79 62 93 79 61 98 92 92 - - 60 55 76 68 59 98 88 82 75 51 70 55 94 90 86 79 71 62 105 91 86 85 74 59 87 87 88 79 66 78 62 96 84 74 61 50 82 69 54 52 44 47 50 51 58 67 54 55 60 48 59 51 82 72 63 48 61 50 77 68 59 54 42 82 71 67 52 42 149 140 130 115 108 108 72 157 117 83 161 117 80 149 128 106 59 98 99 62 61 54 218 186 145 70 89 55 30 92 52 35 30 24 40 40 27 40 186 173 163 154 113 73 337 299 262 222 151 99 87 68 64 52 47 132 76 133 36 29 21 14 22 13 1 - - - - - - - - - - - - - - - autobrr
157 157 149 184 165 144 188 156 169 16 170 202 175 78 166 178 166 172 154 183 158 74 92 78 66 57 49 38 33 26 15 111 98 87 74 79 122 116 115 - - 84 83 122 113 95 81 147 140 130 124 117 112 100 90 82 74 64 71 73 67 121 121 102 88 81 81 71 60 94 87 76 69 0 65 63 67 57 175 170 155 149 135 128 119 113 105 86 79 68 59 32 1532 1531 1528 1524 1520 1512 1509 1504 1495 1488 1485 1482 1474 1471 1463 1455 1450 1442 1439 1434 1432 1425 1425 1407 1381 1347 1316 1284 1250 1215 1176 1142 1118 1094 1069 1020 992 966 940 905 877 842 775 750 723 667 634 594 564 547 540 536 529 521 516 514 512 508 501 464 427 391 356 314 277 209 159 153 29 287 280 277 248 197 130 34 39 26 55 46 42 37 29 22 26 55 51 43 37 44 44 40 31 30 12 8 7 tdarr
150 85 12 32 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - claude_desktop
148 120 108 92 82 78 20 6 66 60 74 115 76 34 99 67 46 93 69 38 34 36 43 31 11 53 45 36 24 36 58 48 39 27 18 26 33 7 7 - - 31 13 73 67 60 53 43 39 26 16 15 1 13 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ente
141 172 161 145 126 90 310 298 285 285 276 243 234 196 167 127 201 193 177 171 157 147 135 180 180 175 169 164 155 145 142 139 133 124 117 113 105 100 99 - - 76 111 110 107 100 95 86 79 68 169 166 162 155 148 142 136 135 128 123 110 104 104 100 95 87 85 51 182 178 170 166 158 158 151 147 136 131 119 111 107 104 103 98 93 88 77 68 62 56 52 44 38 25 57 50 48 40 34 30 22 13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kometa
140 122 102 111 110 88 112 88 54 14 83 44 54 12 8 58 66 32 42 15 14 10 28 9 7 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - birdnet-pipy
139 100 0 97 88 80 44 84 70 6 64 66 68 74 61 38 6 60 28 52 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - maintainerr
136 130 127 117 107 103 91 301 290 278 267 248 232 226 220 208 198 186 168 158 150 144 142 139 135 131 128 127 126 126 122 115 108 101 93 86 84 82 81 - - 68 58 54 41 107 100 97 93 91 81 77 72 67 64 64 61 54 53 47 184 181 181 178 175 172 172 164 160 159 153 148 140 138 134 131 129 125 120 112 106 103 95 93 89 88 76 70 69 62 56 52 49 48 42 37 369 362 359 359 353 351 347 344 342 340 337 335 331 327 326 324 322 315 315 276 248 213 181 150 120 82 39 1349 1322 1284 1267 1224 1197 1172 1144 1119 1091 1069 1019 994 973 921 887 856 829 815 810 804 802 801 797 795 790 787 785 751 715 679 647 613 579 511 461 457 335 331 324 322 298 247 184 91 75 67 64 63 60 60 58 55 52 51 49 45 41 28 24 25 22 18 4 1 1 requestrr
135 111 110 100 86 74 109 107 99 97 95 87 79 73 56 46 34 22 14 4 4 4 4 4 4 4 4 4 4 4 4 4 4 0 0 0 566 558 557 - - 537 526 510 507 501 490 482 480 474 465 459 454 450 443 434 428 421 412 405 395 393 393 388 383 380 379 357 352 345 343 339 336 332 328 321 310 304 294 283 270 254 248 246 234 230 219 205 201 189 180 176 161 152 148 143 138 129 114 106 99 90 82 66 36 1348 1341 1338 1327 1321 1315 1309 1303 1292 1292 1282 1256 1231 1210 1188 1166 1142 1111 1092 1072 1043 1026 976 956 933 912 896 877 853 810 793 772 730 707 680 663 647 641 637 635 628 621 615 610 607 597 571 545 523 498 474 449 404 369 363 276 269 263 251 225 189 146 83 70 62 59 54 49 41 26 90 85 86 78 72 69 52 47 45 31 31 13 7 7 elasticsearch
132 92 139 72 86 52 96 68 42 60 48 71 46 60 34 68 54 44 20 18 0 24 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - manyfold
121 93 0 122 125 103 186 174 152 134 117 105 294 290 266 242 214 186 171 155 135 111 95 74 53 48 44 36 4 109 105 93 85 71 90 78 78 72 72 - - 133 119 110 88 77 75 67 416 410 405 398 383 373 366 359 353 344 339 330 320 311 310 301 297 291 289 257 252 246 241 230 221 214 190 180 167 162 154 149 139 125 120 118 112 100 86 77 70 54 60 215 209 199 195 191 182 170 166 166 162 156 147 136 134 129 123 119 113 107 101 92 87 75 75 240 225 190 167 151 131 101 72 282 266 246 226 182 158 132 114 97 72 301 254 227 207 154 125 100 72 53 44 39 266 262 256 247 239 230 219 182 146 108 67 265 229 163 109 103 58 45 126 114 84 236 170 75 56 42 35 30 13 9 42 27 98 87 73 72 65 45 38 55 48 43 21 10 9 grav
118 114 114 110 106 106 102 94 93 83 73 65 65 61 47 39 31 25 15 7 6 6 6 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 - - 1326 1313 1307 1301 1288 1276 1268 1256 1248 1232 1220 1212 1203 1195 1190 1181 1176 1170 1159 1149 1139 1138 1132 1122 1117 1115 1097 1091 1085 1077 1067 1054 1046 1031 1028 1017 1011 999 993 987 979 969 961 953 948 931 913 909 903 893 889 884 878 868 861 854 836 824 817 813 805 792 788 781 776 769 761 752 740 737 730 712 698 698 679 656 614 578 547 514 477 433 401 377 339 309 264 230 206 175 142 106 47 386 351 321 249 212 171 134 107 97 83 77 71 568 563 556 551 548 505 469 431 393 358 324 260 206 199 69 63 55 407 373 323 255 157 137 126 120 114 109 104 98 91 86 79 78 74 71 59 46 40 34 29 12 7 7 inadyn
118 108 94 56 32 61 148 144 132 98 109 95 75 30 92 68 50 96 74 53 31 4 50 29 25 31 19 22 12 29 27 26 26 20 14 8 22 33 33 - - 32 19 18 17 22 19 16 22 18 16 26 25 24 23 19 17 18 16 41 37 35 35 31 30 29 29 22 17 19 18 15 23 20 18 6 21 19 23 21 19 16 12 35 32 30 20 46 46 43 43 40 35 31 28 26 21 17 19 17 32 29 27 24 20 13 7 2 50 31 13 12 8 38 38 109 87 54 34 32 105 76 45 19 25 178 160 117 92 75 51 22 172 146 94 68 46 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - signalk
112 84 0 184 132 90 50 171 110 5 156 135 143 61 314 267 194 157 164 242 187 135 169 102 102 84 48 47 34 82 96 81 152 123 95 110 100 124 124 - - 165 127 92 124 93 162 131 95 93 95 108 93 123 98 117 184 134 119 109 104 742 742 722 698 677 675 602 575 552 533 507 487 463 431 397 356 265 647 625 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 592 553 513 477 434 349 314 326 325 375 318 605 568 518 475 433 401 352 255 896 872 840 821 805 771 744 723 707 679 654 630 605 577 554 554 516 473 423 377 325 274 125 1223 1190 1165 1111 1075 994 953 910 868 824 778 728 640 600 553 483 438 378 330 281 252 224 200 169 152 118 96 65 115 85 55 109 80 984 928 841 778 758 610 579 562 544 496 427 342 226 183 149 140 143 130 137 156 125 97 113 118 152 127 122 122 120 86 122 79 67 65 webtop_kde
89 69 56 357 345 332 314 300 273 265 253 230 196 188 166 132 116 102 80 64 36 28 20 6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - netbird-server
80 70 0 78 82 78 72 76 76 74 74 80 78 74 80 84 84 81 78 90 81 80 84 43 41 40 42 38 42 45 50 48 48 46 45 44 44 45 44 - - 50 44 38 44 44 39 38 40 42 41 45 42 42 42 38 32 35 38 55 38 45 45 42 39 39 39 48 39 38 40 45 45 48 46 45 36 43 43 35 40 39 38 49 47 57 46 43 43 40 60 50 42 57 49 41 41 58 50 46 40 38 46 42 36 37 55 48 37 35 37 37 39 80 80 54 73 62 69 117 96 64 57 58 57 61 41 55 64 64 52 54 60 45 48 43 50 35 626 592 559 544 540 536 531 529 525 520 517 511 511 474 437 400 359 325 283 217 167 161 35 35 31 106 73 86 111 52 41 29 45 32 38 32 33 32 30 31 36 26 37 30 23 20 24 38 22 26 26 flexget
73 85 28 76 82 66 97 74 97 6 102 101 103 100 86 87 136 114 92 82 23 64 55 43 26 33 28 31 61 53 42 36 51 41 57 49 46 43 43 - - 46 40 38 31 28 31 30 54 51 34 27 32 56 50 43 38 38 71 65 64 58 58 54 50 47 47 53 49 47 45 35 97 87 80 77 72 70 68 66 59 54 53 49 44 39 28 27 30 23 25 21 25 21 31 30 26 46 41 39 37 23 20 22 18 18 22 19 19 27 41 28 18 122 122 93 61 36 46 27 28 28 21 42 21 6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - codex
67 66 60 66 70 74 75 68 78 4 91 79 71 28 81 76 88 68 76 78 92 86 80 52 45 48 43 38 54 51 41 59 54 57 47 59 62 57 54 - - 61 62 56 60 65 59 51 56 62 63 55 52 57 62 56 63 55 60 54 73 68 68 61 72 62 61 79 74 69 68 90 81 70 86 81 76 70 97 96 91 81 70 115 112 104 88 81 83 141 133 130 126 119 97 123 116 106 97 84 124 123 117 109 94 89 108 102 86 95 155 152 146 134 134 123 220 179 137 133 265 223 192 159 178 158 292 171 233 167 389 342 290 229 265 209 154 102 290 227 169 120 186 155 125 110 326 306 290 267 244 195 144 202 143 305 255 166 208 176 195 181 152 128 371 305 232 118 194 161 140 119 88 98 146 119 104 139 121 98 75 155 155 134 110 95 82 17 17 code_server
63 45 62 80 64 52 20 30 18 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - aurral
61 123 121 109 98 90 74 500 486 475 467 465 459 447 427 397 391 381 363 349 341 335 326 315 307 299 296 292 284 277 271 269 265 258 253 250 248 244 244 - - 236 228 226 224 222 219 217 217 209 203 201 199 195 192 190 184 180 178 173 172 165 165 163 162 160 159 142 139 137 132 122 112 110 104 93 82 5 93 152 143 139 135 134 130 125 114 95 101 108 101 148 143 131 123 109 128 140 134 121 118 128 127 124 153 136 152 141 150 177 162 225 215 195 195 191 318 292 257 218 318 287 238 339 282 381 465 478 403 378 402 375 445 370 350 352 319 150 1274 1214 1155 1121 1094 1070 1043 1025 1003 979 956 942 922 868 814 764 709 657 605 511 433 400 238 311 284 252 227 137 301 244 187 351 322 301 262 236 202 158 111 176 148 152 108 134 134 123 84 104 57 86 80 paperless_ng
54 50 38 30 14 6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - scrutiny-original
51 47 38 24 12 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - scrutiny-fa-original
40 30 24 14 8 6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - zoraxy
35 25 16 6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - spotify_to_plex
16 10 0 14 66 62 50 48 38 34 26 16 14 8 6 6 10 14 20 6 4 2 2 1 3 44 35 18 9 5 53 37 32 22 8 8 6 6 6 - - 9 4 4 2 2 0 6 2 6 5 5 4 9 13 11 9 8 13 9 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immich_cuda
10 0 4 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - birdnet-pi-zach
10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - portainer_be
0 9 2 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - birdnet-go-dev
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 11 6 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - test
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 43 35 23 17 8 22 11 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - overleaf

261
Stats2
View File

@@ -1,132 +1,133 @@
Name Total amd64 aarch64
------------------------------
tor 389 229 160
plex-media-manager 618 394 224
papermerge 1033 529 504
paperless_ng 123 82 41
overseerr 2825 2274 551
ombi 298 207 91
omada_v3 240 150 90
omada 214 150 64
jellyseerr 302 187 115
code_server 66 44 22
zoraxy 30 16 14
zoneminder 446 315 131
xteve 962 669 293
whoogle-search 439 279 160
whatsapper 1824 1387 437
wger 1164 259 905
webtrees 1962 221 1741
webtop_kde 84 59 25
webtop 1609 1161 448
unpackerr 238 133 105
ubooquity 396 224 172
transmission_openvpn 742 442 300
transmission_ls 1975 1284 691
teamspeak 2875 1657 1218
tdarr 157 97 60
tandoor_recipes 1756 1152 604
spotweb 629 441 188
spotify_to_plex 25 17 8
sponsorblockcast 98515 97330 1185
sonarr_nas 1341 918 423
social_to_mealie 270 187 83
signalk 108 42 66
seerr 415 228 187
seafile 261 141 120
scrutiny-original 50 20 30
scrutiny-fa-original 47 25 22
scrutiny-fa 1314 867 447
scrutiny 680 388 292
sabnzbd 435 320 115
resiliosync 663 364 299
requestrr 130 72 58
readarr_nas 1867 1626 241
radarr_nas 1125 754 371
qbittorrent 3043 1947 1096
prowlarr 768 506 262
postgres_17 12633 6248 6385
postgres 5188 3776 1412
portainer_agent 2617 1898 719
portainer 68 56 12
plex_nas 1120 767 353
piwigo 185 91 94
photoprism 547 308 239
organizr 523 339 184
openproject 145 99 46
omni-tools 1242 779 463
nzbget 157 91 66
nginx_webserver_proxy 149 86 63
nextcloud_ocr 3268 1949 1319
netbird-server 69 48 21
netalertx 9264 6100 3164
netalertx 9264 6100 3164
navidrome 431 281 150
mylar3 81142 81124 18
monica 545 312 233
mealie 5326 3421 1905
manyfold 92 58 34
maintainerr 100 68 32
linkwarden 400 247 153
lidarr_nas 1784 1579 205
librespeed 1133 744 389
kometa 172 118 54
joplin 833 507 326
joal 234 123 111
jellyfin 88478 85509 2969
jackett_nas 502 333 169
inadyn 114 63 51
immich_power_tools 914 338 576
immich_openvino 197 197 -
immich_noml 114 42 72
immich_frame 321 227 94
immich_cuda 10 10 -
immich 1853 1204 649
guacamole 2323 1650 673
grav 93 59 34
grampsweb 270 169 101
gitea 292 158 134
gazpar2mqtt 377 246 131
free_games_claimer 463 325 138
flexget 70 41 29
flaresolverr 87516 86620 896
fireflyiii_fints_importer 439 255 184
fireflyiii_data_importer 517 299 218
fireflyiii 900 508 392
filebrowser_quantum 1995 1333 662
filebrowser 18475 12397 6078
epicgamesfree 1154 833 321
ente 120 70 50
myelectricaldata_dev 208 129 79
myelectricaldata 3516 2034 1482
emby 197 125 72
emby_stable 925 673 252
elasticsearch 111 85 26
comixed 690 321 369
collabora 117 71 46
codex 85 59 26
cloudcommander 674 481 193
cleanuparr 153 105 48
claude_desktop 85 63 22
changedetection.io 932 567 365
calibre_web 1052 617 435
calibre 916 610 306
browserless_chrome 1103 734 369
chromium 324 193 131
brave 570 402 168
calibre_web 1052 617 435
vaultwarden 437 287 150
birdnet-pipy 122 90 32
birdnet-pi-zach 0 0 0
birdnet-pi 220 148 72
birdnet-go-dev 9 9 -
birdnet-go 891 651 240
binance_trading_bot 721 451 270
bentopdf 984 622 362
bazarr 463 314 149
battybirdnet-pi 439 271 168
baikal 970 552 418
autobrr 134 71 63
aurral 45 29 16
arpspoof 102260 100638 1622
addons_updater 1053 705 348
tor 393 233 160
plex-media-manager 622 396 226
papermerge 1038 531 507
paperless_ng 61 36 25
overseerr 2835 2278 557
ombi 302 209 93
omada_v3 248 154 94
omada 220 154 66
jellyseerr 314 195 119
code_server 67 44 23
zoraxy 40 23 17
zoneminder 480 327 153
xteve 986 685 301
whoogle-search 461 283 178
whatsapper 1872 1423 449
wger 1361 291 1070
webtrees 2140 241 1899
webtop_kde 112 84 28
webtop 459 366 93
unpackerr 246 139 107
ubooquity 402 228 174
transmission_openvpn 758 450 308
transmission_ls 2079 1352 727
teamspeak 2885 1663 1222
tdarr 157 94 63
tandoor_recipes 1911 1252 659
spotweb 643 449 194
spotify_to_plex 35 24 11
sponsorblockcast 98951 97735 1216
sonarr_nas 1420 966 454
social_to_mealie 328 209 119
signalk 118 46 72
seerr 925 625 300
seafile 279 155 124
scrutiny-original 54 22 32
scrutiny-fa-original 51 27 24
scrutiny-fa 1643 1086 557
scrutiny 1025 534 491
sabnzbd 465 336 129
resiliosync 673 372 301
requestrr 136 76 60
readarr_nas 1888 1639 249
radarr_nas 1219 810 409
qbittorrent 3772 2339 1433
prowlarr 857 579 278
postgres_17 13057 6425 6632
postgres 5229 3806 1423
portainer_be 10 5 5
portainer_agent 2846 2102 744
portainer 12184 7933 4251
plex_nas 1236 852 384
piwigo 200 93 107
photoprism 565 320 245
organizr 531 343 188
openproject 206 148 58
omni-tools 1650 1173 477
nzbget 168 99 69
nginx_webserver_proxy 221 130 91
nextcloud_ocr 2566 1531 1035
netbird-server 89 56 33
netalertx 10040 6512 3528
netalertx 10040 6512 3528
navidrome 518 324 194
mylar3 81148 81128 20
monica 573 330 243
mealie 4196 2673 1523
manyfold 132 82 50
maintainerr 139 88 51
linkwarden 550 337 213
lidarr_nas 1795 1585 210
librespeed 551 376 175
kometa 141 98 43
joplin 875 531 344
joal 238 125 113
jellyfin 88956 85694 3262
jackett_nas 573 383 190
inadyn 118 65 53
immich_power_tools 1098 354 744
immich_openvino 271 271 -
immich_noml 163 70 93
immich_frame 427 301 126
immich_cuda 16 16 -
immich 2649 1652 997
guacamole 2380 1697 683
grav 121 79 42
grampsweb 348 201 147
gitea 352 190 162
gazpar2mqtt 404 263 141
free_games_claimer 559 381 178
flexget 80 43 37
flaresolverr 87665 86717 948
fireflyiii_fints_importer 445 259 186
fireflyiii_data_importer 590 327 263
fireflyiii 1009 560 449
filebrowser_quantum 2526 1680 846
filebrowser 21359 14276 7083
epicgamesfree 1367 980 387
ente 148 78 70
myelectricaldata_dev 212 131 81
myelectricaldata 3605 2080 1525
emby 217 141 76
emby_stable 986 722 264
elasticsearch 135 105 30
comixed 694 323 371
collabora 165 105 60
codex 73 48 25
cloudcommander 722 505 217
cleanuparr 169 117 52
claude_desktop 150 112 38
changedetection.io 1024 623 401
calibre_web 1090 640 450
calibre 968 648 320
browserless_chrome 1238 824 414
chromium 370 219 151
brave 579 412 167
calibre_web 1090 640 450
vaultwarden 184 114 70
birdnet-pipy 140 104 36
birdnet-pi-zach 10 8 2
birdnet-pi 330 230 100
birdnet-go-dev 0 0 -
birdnet-go 997 717 280
binance_trading_bot 737 463 274
bentopdf 1050 652 398
bazarr 409 286 123
battybirdnet-pi 447 277 170
baikal 1004 568 436
autobrr 160 83 77
aurral 63 45 18
arpspoof 102274 100644 1630
addons_updater 1474 1104 370

View File

@@ -1,3 +1,10 @@
## 2026.08 (2026-08-01)
- Addon versions written in config.yaml now always comply with Home Assistant versioning: an upstream tag Home Assistant cannot order (`version-bf9e0b4f`, `ubuntu-2026-06-01`, ...) or would sort as older (`1.2.3-2`, `1.2.3+4`) no longer lands in config.yaml. The addon number is incremented instead, while the raw upstream tag stays in updater.json so the same release is never published twice
- Pre-release markers become a version section, `5.0.0b5` is published as `5.0.0.5`
- A tag Home Assistant cannot order keeps every number it carries, `v26.2-ls256` is published as `v26.2.256`
- Upstream tags are escaped before being replaced in Dockerfile/build files
## 2026.06 (05-06-2026)
- Minor bugs fixed
## 2026.05 (30-05-2026)

View File

@@ -56,6 +56,11 @@ ENV PACKAGES=""
COPY ha_autoapps.sh /ha_autoapps.sh
RUN chmod 744 /ha_autoapps.sh && /ha_autoapps.sh "$PACKAGES" && rm /ha_autoapps.sh
# Library used by Home Assistant to order addon versions, so that the version
# published by the updater is one Home Assistant offers as an update. Keep the
# pin aligned with the Supervisor requirements.txt
RUN pip install --no-cache-dir awesomeversion==25.8.0
################
# 4 Entrypoint #
################

View File

@@ -73,6 +73,22 @@ You can add the following tags in the file :
- dockerhub_by_date: in dockerhub, uses the last_update date instead of the version
- dockerhub_list_size: in dockerhub, how many containers to consider for latest version
### Addon version numbering
The `version` written in the addon `config.yaml` is the one Home Assistant compares to decide whether an update is available. Home Assistant hides the update when it can order both versions and the new one is not strictly newer (`1.2.3` -> `1.2.3-2` is a semver pre-release, so it is *older*), and it cannot order tags such as `version-bf9e0b4f` or `ubuntu-2026-06-01` at all.
The addon version is therefore derived from the upstream tag:
- a tag Home Assistant can order and that is newer is used as it is
- `1.2.3-4` and `1.2.3+4` become `1.2.3.4`
- a pre-release marker becomes a section of its own, so the number it carries keeps ordering the addon: `5.0.0b5` -> `5.0.0.5`
- a tag it cannot order keeps every number it carries, in order: `v26.2-ls256` -> `v26.2.256`, `nightly-2.6.1.5509-ls8` -> `2.6.1.5509.8`, `4.16-r0-ls94` -> `4.16.0.94`, `ubuntu-2026-07-28` -> `2026.07.28`. Words holding no number, an architecture, and anything else such as a commit hash are left out
- a tag holding no number at all (`version-bf9e0b4f`, `sts`) increments the current addon version (`1.37` -> `1.38`), or uses the date when there is nothing to increment (`2026.08.01`, then `2026.08.01.1` for a second update the same day)
`updater.json` always keeps the raw upstream tag, so the next run still compares upstream with upstream and a single upstream release never triggers two addon updates. The raw tag is also kept in the Dockerfile and the build files, and is added to the changelog entry when it differs from the addon version.
These rules are checked by `python3 /usr/bin/ha_version.py --selftest`, which can be run from a terminal in the addon container.
### Addon configuration
Here you define the values that will allow the addon to connect to your repository.

View File

@@ -30,4 +30,4 @@ schema:
slug: updater
udev: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/addons_updater
version: "2026.06"
version: "2026.08"

View File

@@ -20,6 +20,29 @@ else
DATE_FORMAT="+%d-%m-%Y"
fi
# Version published in the addon configuration, which is the one Home
# Assistant compares; the upstream tag lives in updater.json instead
function config_version() {
local folder="$1"
if [ -f "$folder/config.json" ]; then
jq -r '.version // empty' "$folder/config.json"
elif [ -f "$folder/config.yaml" ]; then
sed -n 's/^version:[[:space:]]*//p' "$folder/config.yaml" \
| head -n 1 \
| sed -e 's/[[:space:]]*#.*$//' -e 's/^"//' -e 's/"$//' \
| sed -e "s/^'//" -e "s/'$//"
fi
}
# Escape a version so that sed treats it as plain text on both sides
function sed_pattern() {
printf '%s' "$1" | sed -e 's/[]\/$*.^[]/\\&/g'
}
function sed_replacement() {
printf '%s' "$1" | sed -e 's/[\/&]/\\&/g'
}
#Defining github value
LOGINFO="... github authentification" && if [ "$VERBOSE" = true ]; then bashio::log.info "$LOGINFO"; fi
@@ -315,10 +338,6 @@ for f in */; do
# Add brackets
LASTVERSION='"'${LASTVERSION}'"'
# Avoid characters incompatible with HomeAssistant version name
LASTVERSION2=${LASTVERSION//+/-}
CURRENT2=${CURRENT//+/-}
# Skip if current or last version is empty (would corrupt files by replacing all "" occurrences)
if [ "${CURRENT}" = '""' ] || [ "${LASTVERSION}" = '""' ]; then
bashio::log.warning "... $SLUG : skipping update due to empty version string (current=${CURRENT}, latest=${LASTVERSION})"
@@ -326,43 +345,91 @@ for f in */; do
fi
# Update if needed
if [ "${CURRENT2}" != "${LASTVERSION2}" ]; then
if [ "${CURRENT}" != "${LASTVERSION}" ]; then
LOGINFO="... $SLUG : update from ${CURRENT} to ${LASTVERSION}" && if [ "$VERBOSE" = true ]; then bashio::log.info "$LOGINFO"; fi
#Change all instances of version
ADDONFOLDER="/data/${BASENAME}/${SLUG}"
# Version currently published, before any file is touched
CONFIGVERSION="$(config_version "$ADDONFOLDER" || true)"
if [ -z "$CONFIGVERSION" ]; then
bashio::log.error "... $SLUG : no version found in the addon config, skipping"
continue
fi
# Home Assistant hides an update when it can compare both
# versions and the new one is not strictly newer, and cannot
# order tags such as "version-bf9e0b4f" at all. The addon
# version is therefore derived from the upstream tag, which
# stays untouched in updater.json so that the same upstream
# release is never published twice
if ! ADDONVERSION="$(python3 /usr/bin/ha_version.py --current "$CONFIGVERSION" --upstream "${LASTVERSION//\"/}")"; then
bashio::log.error "... $SLUG : no Home Assistant compliant version derived from ${LASTVERSION}, skipping"
continue
fi
if [ "$ADDONVERSION" != "${LASTVERSION//\"/}" ]; then
bashio::log.blue "... $SLUG : Home Assistant would not offer ${LASTVERSION//\"/} as an update of $CONFIGVERSION, addon version set to $ADDONVERSION"
fi
#Change all instances of version, the addon config excluded as
#its version can now differ from the upstream tag
LOGINFO="... $SLUG : updating files" && if [ "$VERBOSE" = true ]; then bashio::log.info "$LOGINFO"; fi
for files in "config.json" "config.yaml" "Dockerfile" "build.json" "build.yaml"; do
if [ -f /data/"${BASENAME}"/"${SLUG}"/$files ]; then
sed -i "s/${CURRENT}/${LASTVERSION}/g" /data/"${BASENAME}"/"${SLUG}"/"$files"
CURRENTPATTERN="$(sed_pattern "$CURRENT")"
LASTVERSIONTEXT="$(sed_replacement "$LASTVERSION")"
for files in "Dockerfile" "build.json" "build.yaml"; do
if [ -f "$ADDONFOLDER/$files" ]; then
sed -i "s/${CURRENTPATTERN}/${LASTVERSIONTEXT}/g" "$ADDONFOLDER/$files"
fi
done
# Remove " and modify version
LASTVERSION=${LASTVERSION//\"/}
CURRENT=${CURRENT//\"/}
if [ -f /data/"${BASENAME}"/"${SLUG}"/config.json ]; then
jq --arg variable "$LASTVERSION" '.version = $variable' /data/"${BASENAME}"/"${SLUG}"/config.json | sponge /data/"${BASENAME}"/"${SLUG}"/config.json # Replace version tag
elif [ -f /data/"${BASENAME}"/"${SLUG}"/config.yaml ]; then
sed -i "/version:/c\version: \"$LASTVERSION\"" /data/"${BASENAME}"/"${SLUG}"/config.yaml
if [ -f "$ADDONFOLDER/config.json" ]; then
# Piping jq into sponge would empty the file if jq fails
if CONFIGJSON="$(jq --arg variable "$ADDONVERSION" '.version = $variable' "$ADDONFOLDER/config.json")"; then
printf '%s\n' "$CONFIGJSON" > "$ADDONFOLDER/config.json" # Replace version tag
fi
elif [ -f "$ADDONFOLDER/config.yaml" ]; then
sed -i "/^version:/c\version: \"$ADDONVERSION\"" "$ADDONFOLDER/config.yaml"
fi
jq --arg variable "$LASTVERSION" '.upstream_version = $variable' /data/"${BASENAME}"/"${SLUG}"/updater.json | sponge /data/"${BASENAME}"/"${SLUG}"/updater.json # Replace upstream tag
jq --arg variable "$DATE" '.last_update = $variable' /data/"${BASENAME}"/"${SLUG}"/updater.json | sponge /data/"${BASENAME}"/"${SLUG}"/updater.json # Replace date tag
# Leave the addon untouched rather than committing a version
# Home Assistant would not offer
if [ "$(config_version "$ADDONFOLDER")" != "$ADDONVERSION" ]; then
bashio::log.error "... $SLUG : version $ADDONVERSION could not be written in the addon config, reverting"
git checkout -- "$ADDONFOLDER"
continue
fi
# Replace upstream tag and date, keeping the file intact if jq
# fails as a truncated updater.json would lose the addon source
if ! UPDATERJSON="$(jq --arg version "$LASTVERSION" --arg date "$DATE" '.upstream_version = $version | .last_update = $date' "$ADDONFOLDER/updater.json")"; then
bashio::log.error "... $SLUG : updater.json could not be updated, reverting"
git checkout -- "$ADDONFOLDER"
continue
fi
printf '%s\n' "$UPDATERJSON" > "$ADDONFOLDER/updater.json"
#Update changelog
touch "/data/${BASENAME}/${SLUG}/CHANGELOG.md"
if [[ "$SOURCE" == *"github"* ]]; then
sed -i "1i - Update to latest version from $UPSTREAM (changelog : https://github.com/${UPSTREAM%/}/releases)" "/data/${BASENAME}/${SLUG}/CHANGELOG.md"
else
sed -i "1i - Update to latest version from $UPSTREAM" "/data/${BASENAME}/${SLUG}/CHANGELOG.md"
touch "$ADDONFOLDER/CHANGELOG.md"
if [ "$ADDONVERSION" != "$LASTVERSION" ]; then
sed -i "1i - Upstream tag : $LASTVERSION" "$ADDONFOLDER/CHANGELOG.md"
fi
sed -i "1i ## ${LASTVERSION} (${DATE})" "/data/${BASENAME}/${SLUG}/CHANGELOG.md"
sed -i "1i\ " "/data/${BASENAME}/${SLUG}/CHANGELOG.md"
if [[ "$SOURCE" == *"github"* ]]; then
sed -i "1i - Update to latest version from $UPSTREAM (changelog : https://github.com/${UPSTREAM%/}/releases)" "$ADDONFOLDER/CHANGELOG.md"
else
sed -i "1i - Update to latest version from $UPSTREAM" "$ADDONFOLDER/CHANGELOG.md"
fi
sed -i "1i ## ${ADDONVERSION} (${DATE})" "$ADDONFOLDER/CHANGELOG.md"
sed -i "1i\ " "$ADDONFOLDER/CHANGELOG.md"
LOGINFO="... $SLUG : files updated" && if [ "$VERBOSE" = true ]; then bashio::log.info "$LOGINFO"; fi
#Git commit and push
git add -A # add all modified files
git commit -m "Updater bot : $SLUG updated to ${LASTVERSION}" > /dev/null
git commit -m "Updater bot : $SLUG updated to ${ADDONVERSION} (upstream ${LASTVERSION})" > /dev/null
LOGINFO="... $SLUG : push to github" && if [ "$VERBOSE" = true ]; then bashio::log.info "$LOGINFO"; fi
@@ -374,7 +441,7 @@ for f in */; do
fi
#Log
bashio::log.yellow "... $SLUG updated from ${CURRENT} to ${LASTVERSION}"
bashio::log.yellow "... $SLUG updated to ${ADDONVERSION} (upstream ${CURRENT} to ${LASTVERSION})"
else
bashio::log.green "... $SLUG is up-to-date ${CURRENT}"

View File

@@ -0,0 +1,334 @@
#!/usr/bin/env python3
"""Compute a Home Assistant compliant addon version."""
# Home Assistant orders addon versions with awesomeversion. Its update
# entity hides the update whenever the two versions *can* be compared and
# the new one is not strictly newer, and it cannot order a version at all
# when the string follows no known scheme. Whatever lands in the addon
# config.yaml must therefore be recognisable and strictly greater than the
# version users already have installed.
#
# Upstream tags do not always cooperate:
#
# * "1.2.3-4" is a semver pre-release, i.e. older than "1.2.3"
# * "1.2.3+4" only differs by build metadata, which semver ignores
# * "version-bf9e0b4f" or "ubuntu-2026-06-01" follow no scheme at all
#
# This helper therefore decides what to write in config.yaml, while the raw
# upstream tag stays in updater.json: the next run keeps comparing upstream
# with upstream, so a single upstream release never triggers two addon
# updates.
from __future__ import annotations
import argparse
import re
import sys
from collections.abc import Iterator
from datetime import date
from awesomeversion import (
AwesomeVersion,
AwesomeVersionCompareException,
AwesomeVersionStrategy,
)
# "5.0.0b5" -> "5.0.0.5": a pre-release marker is not a version section,
# so it is turned into one rather than left for Home Assistant to guess.
MARKER = re.compile(r"^(v?\d+(?:\.\d+)*)(?:alpha|beta|rc|a|b)(\d+)(?=$|-)")
# "1.2.3-4" -> "1.2.3.4": a numeric suffix behind a dash is a semver
# pre-release and sorts before the version it is meant to supersede.
PRERELEASE = re.compile(r"^(v?\d+(?:\.\d+)*)-(\d+(?:\.\d+)*)$")
# A version made of numbers only, e.g. "1.37" or "v2026.07.10.2".
DOTTED_NUMBER = re.compile(r"^(?P<prefix>v?)(?P<number>\d+(?:\.\d+)*)$")
# A number carrying a name, e.g. "ls256", "r0" or the bare "2026".
NAMED_NUMBER = re.compile(r"^[A-Za-z]*(\d+(?:\.\d+)*)$")
# Words holding a number that says nothing about the release.
NOT_A_NUMBER = frozenset(
(
"aarch64",
"amd64",
"arm64",
"armhf",
"armv6",
"armv7",
"i386",
"i486",
"i586",
"i686",
"mips64",
"ppc64",
"riscv64",
"win32",
"win64",
"x64",
"x86",
)
)
# Upper bound for the ".1", ".2", ... local rebuild counters.
MAX_COUNTER = 100
def normalise(version: str) -> str:
"""Rewrite the parts of a tag Home Assistant would sort wrongly."""
version = version.strip()
# Build metadata is ignored by semver precedence, a section is not.
version = version.replace("+", ".")
# In both, group 1 is the release and group 2 the number to keep.
version = MARKER.sub(r"\1.\2", version)
return PRERELEASE.sub(r"\1.\2", version)
def is_sortable(version: str) -> bool:
"""Return True when awesomeversion recognises the version scheme."""
if not version:
return False
return AwesomeVersion(version).strategy != AwesomeVersionStrategy.UNKNOWN
def is_newer(candidate: str, current: str) -> bool:
"""Return True when Home Assistant would offer the candidate."""
if not candidate or candidate == current:
return False
if not current:
return True
try:
return AwesomeVersion(candidate) > AwesomeVersion(current)
except AwesomeVersionCompareException:
# Home Assistant shows the update when it cannot compare, and it
# is the only way out of a version following no known scheme.
return True
def is_acceptable(candidate: str, current: str) -> bool:
"""Return True for a version safe to write in the addon config."""
return is_sortable(candidate) and is_newer(candidate, current)
def is_year(section: str) -> bool:
"""Return True for a section that can only be a year."""
return len(section) == 4 and 2000 <= int(section) <= 2999
def is_date_like(number: str) -> bool:
"""Return True for a real "YYYY.MM.DD", with or without a counter."""
parts = number.split(".")
if len(parts) < 3 or not is_year(parts[0]):
return False
try:
date(*(int(part) for part in parts[:3]))
except ValueError:
return False
return True
def increment(number: str) -> str:
"""Increment the last section, keeping any zero padding."""
parts = number.split(".")
parts[-1] = str(int(parts[-1]) + 1).zfill(len(parts[-1]))
return ".".join(parts)
def counters(base: str) -> Iterator[str]:
"""Yield "<base>.1", "<base>.2", ... local rebuild counters."""
for counter in range(1, MAX_COUNTER):
yield f"{base}.{counter}"
def skeleton(version: str) -> str:
"""Return every number of a tag, in order, as dotted sections."""
# "v26.2-ls256" -> "v26.2.256", "nightly-2.6.1.5509-ls8" ->
# "2.6.1.5509.8", "4.16-r0-ls94" -> "4.16.0.94". Words carrying no
# number and anything else, a commit hash in particular, are dropped.
numbers = []
for word in re.split(r"[-/]", normalise(version)):
if word.lower() in NOT_A_NUMBER:
continue
named = NAMED_NUMBER.match(word)
if named:
numbers.append(named.group(1))
if not numbers:
return ""
prefix = "v" if version.startswith("v") else ""
return prefix + ".".join(numbers)
def upstream_candidates(upstream: str) -> Iterator[str]:
"""Yield the upstream tag, then the numbers hidden in it."""
yield normalise(upstream)
# "v26.3-ls256" -> "v26.3.256": the numbers of a tag Home Assistant
# cannot sort still order the addon better than one of our making.
yield skeleton(upstream)
def local_candidates(current: str, today: date, release: str) -> Iterator[str]:
"""Yield sortable versions derived from the current addon version."""
calver = today.strftime("%Y.%m.%d")
normalised = normalise(current)
dotted = DOTTED_NUMBER.match(normalised)
# An upstream that rebuilds the release the current version was built
# from, such as "v26.3-ls257" after "v26.3-ls256", gets a local
# counter ("26.3.1") instead of a release it never published.
if release and normalised.startswith(release):
yield from counters(release)
if dotted and is_date_like(dotted.group("number")):
# Calendar versioned addon: move to today, then count up when
# several upstream releases land on the same day.
yield calver
if dotted.group("number").count(".") > 2:
yield dotted.group("prefix") + increment(dotted.group("number"))
yield from counters(normalised)
elif dotted:
# "1.37" -> "1.38": the number already in use simply moves on,
# unless it ends on a year, which belongs to a date the addon
# does not choose.
if not is_year(dotted.group("number").split(".")[-1]):
yield dotted.group("prefix") + increment(dotted.group("number"))
yield from counters(normalised)
else:
# Nothing sortable to build on, e.g. "version-bf9e0b4f": keep the
# numbers when the version has some, else switch to calendar
# versioning, which is ordered and never runs out of numbers.
numbers = skeleton(normalised)
if numbers:
yield numbers
yield from counters(numbers)
yield calver
yield from counters(calver)
def resolve(current: str, upstream: str, today: date) -> str:
"""Return the version to write in the addon configuration."""
for candidate in upstream_candidates(upstream):
if is_acceptable(candidate, current):
return candidate
for candidate in local_candidates(current, today, skeleton(upstream)):
if is_acceptable(candidate, current):
return candidate
return ""
# Date the expectations below are written against.
SELFTEST_DATE = date(2026, 8, 1)
SELFTESTS = (
# (current, upstream, expected)
# Sortable upstream releases are used as they are.
("3.0.3", "3.0.4", "3.0.4"),
("v3.21.0", "v3.22.0", "v3.22.0"),
("2026.02.28", "2026.03.01", "2026.03.01"),
("1.43.1.10611", "1.43.2.10650", "1.43.2.10650"),
# Tags Home Assistant compares as older than what is installed.
("1.2.3", "1.2.3-2", "1.2.3.2"),
("1.2.3.2", "1.2.3-3", "1.2.3.3"),
("1.2.3", "1.2.3+4", "1.2.3.4"),
("1.2.3.4", "1.2.3+5", "1.2.3.5"),
("1.2.4", "1.2.3", "1.2.5"),
# Pre-release markers become a section of their own, so that the
# number they carry keeps ordering the addon versions.
("5.0.0b5-3", "5.0.0b5", "5.0.0.5"),
("5.0.0.5", "5.0.0b6", "5.0.0.6"),
("5.0.0.6", "5.0.0", "5.0.0.7"),
("1.2.3", "1.2.4rc2", "1.2.4.2"),
("1.2.3", "2.0.0beta1", "2.0.0.1"),
("1.2.3", "1.2.4a1-2", "1.2.4.1.2"),
# Tags Home Assistant cannot order keep every number they carry.
("v26.2-ls255", "v26.3-ls256", "v26.3.256"),
("v26.3.256", "v26.3-ls257", "v26.3.257"),
("v1.67.0.8", "nightly-2.6.1.5509-ls8", "2.6.1.5509.8"),
("4.16.0.93", "4.16-r0-ls94", "4.16.0.94"),
("1.43.3.10828.315", "1.43.3.10828-00f62d37d-ls316", "1.43.3.10828.316"),
("2026.06.01", "ubuntu-2026-07-01", "2026.07.01"),
("20260729.1", "nightly-20260801", "20260801"),
("20260801", "nightly-20260801-2", "20260801.2"),
# A word holding a number that is not part of the release is left out.
("5.3.2025.11.08", "5.3-amd64-2025-11-09", "5.3.2025.11.09"),
("1.2.3", "nightly-1.2.4-i686", "1.2.4"),
("1.2.3", "nightly-1.2.4-armv6", "1.2.4"),
# A date that does not exist is a number like any other.
("2026.02.31", "version-1a2b3c4d", "2026.02.32"),
("2026.02.29", "version-1a2b3c4d", "2026.02.30"),
("2028.02.29", "version-1a2b3c4d", "2028.02.29.1"),
# Dockerhub tags dated by the updater itself.
("1.2.3.2026.07.25", "1.2.3-2026-08-01", "1.2.3.2026.08.01"),
# The same, dated the other way round: the date cannot order the
# addon, so a local counter does.
("1.2.3.25.07.2026", "1.2.3-01-08-2026", "1.2.3.25.07.2026.1"),
# Tags holding no number at all: the addon number moves on...
("1.37", "ubunturesolute-version-8208e985", "1.38"),
("1.4", "sha-2b71a1c", "1.5"),
("2025.12-6", "alpine-sts", "2026.08.01"),
("version-bf9e0b4f", "version-1a2b3c4d", "2026.08.01"),
# ... and calendar versions count up on the same day.
("2026.08.01", "version-1a2b3c4d", "2026.08.01.1"),
("2026.08.01.1", "version-2b3c4d5e", "2026.08.01.2"),
("2026.07.30.2", "version-3c4d5e6f", "2026.08.01"),
# A version dated in the future is never downgraded.
("2026.09.15", "version-4d5e6f70", "2026.09.15.1"),
# Switching between schemes, in both directions.
("version-bf9e0b4f", "3.0.4", "3.0.4"),
("3.0.4", "version-bf9e0b4f", "3.0.5"),
# Tags holding characters that are special to sed.
("1.2.3", "1.2.4+build[1]", "1.2.4"),
("1.2.3", "release/2.0", "2.0"),
("2.0", "release/2.0.1", "2.0.1"),
("26.3", "v26.2-ls260", "26.4"),
# No current version to build on.
("", "3.0.4", "3.0.4"),
("", "1.2.3-2", "1.2.3.2"),
("", "version-bf9e0b4f", "2026.08.01"),
)
def selftest(today: date) -> int:
"""Check the rules above against known addon version histories."""
failures = 0
for current, upstream, expected in SELFTESTS:
result = resolve(current, upstream, today)
if result != expected:
failures += 1
print(
f"FAIL {current!r} + {upstream!r} -> "
f"{result!r}, expected {expected!r}",
file=sys.stderr,
)
print(f"{len(SELFTESTS) - failures}/{len(SELFTESTS)} checks passed")
return 1 if failures else 0
def main() -> int:
"""Parse the arguments and print the resulting version."""
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--current", default="", help="version in use")
parser.add_argument("--upstream", default="", help="upstream tag")
parser.add_argument("--today", default="", help="YYYY-MM-DD override")
parser.add_argument(
"--selftest", action="store_true", help="run the built-in checks"
)
args = parser.parse_args()
if args.selftest:
# The expectations above are written against a fixed date, so the
# checks keep passing whenever they are run.
if args.today:
return selftest(date.fromisoformat(args.today))
return selftest(SELFTEST_DATE)
today = date.fromisoformat(args.today) if args.today else date.today()
if not args.upstream:
parser.error("--upstream is required")
version = resolve(args.current.strip(), args.upstream.strip(), today)
if not version:
print("no Home Assistant compliant version found", file=sys.stderr)
return 1
print(version)
return 0
if __name__ == "__main__":
sys.exit(main())

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,4 +1,10 @@
## 2.0.3 (2026-08-01)
- Update to latest version from lklynet/aurral (changelog : https://github.com/lklynet/aurral/releases)
## 2.0.2 (2026-08-01)
- Update to latest version from lklynet/aurral (changelog : https://github.com/lklynet/aurral/releases)
## 2.0.0 (2026-07-22)
- Update to latest version from lklynet/aurral (changelog : https://github.com/lklynet/aurral/releases)

View File

@@ -1,5 +1,5 @@
name: Aurral
version: "2.0.0"
version: "2.0.3"
slug: aurral
description: >-
Self-hosted music discovery, request management, flows, and playlist

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,9 +1,9 @@
{
"last_update": "2026-07-22",
"last_update": "2026-08-01",
"repository": "alexbelgium/hassio-addons",
"slug": "aurral",
"source": "github",
"upstream_repo": "lklynet/aurral",
"upstream_version": "2.0.0",
"upstream_version": "2.0.3",
"github_beta": false
}

View File

@@ -1,4 +1,7 @@
## 1.83.0 (2026-08-01)
- Update to latest version from autobrr/autobrr (changelog : https://github.com/autobrr/autobrr/releases)
## 1.82.1 (2026-07-16)
- Update to latest version from autobrr/autobrr (changelog : https://github.com/autobrr/autobrr/releases)

View File

@@ -16,7 +16,7 @@
ARG BUILD_FROM
ARG BUILD_VERSION
ARG BUILD_UPSTREAM="1.82.1"
ARG BUILD_UPSTREAM="1.83.0"
FROM ${BUILD_FROM}
##################

View File

@@ -108,4 +108,4 @@ schema:
slug: autobrr
udev: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/autobrr
version: "1.82.1"
version: "1.83.0"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -1,8 +1,8 @@
{
"last_update": "2026-07-16",
"last_update": "2026-08-01",
"repository": "alexbelgium/hassio-addons",
"slug": "autborr",
"source": "github",
"upstream_repo": "autobrr/autobrr",
"upstream_version": "1.82.1"
"upstream_version": "1.83.0"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 0 B

View File

@@ -19,6 +19,10 @@ ARG BUILD_UPSTREAM="0.0.101"
ARG BUILD_FROM
FROM $BUILD_FROM
# The upstream image now defaults to an unprivileged user, while this add-on
# needs root during image customization and for its S6-managed services.
USER root
##################
# 2 Modify Image #
##################

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -1,3 +1,9 @@
## 20260729.1 (2026-08-01)
- Version renamed from `source-20260729.1`, which Home Assistant could not order and therefore could not reliably offer as an update: every number of the previous version is kept, as a section of its own. The addon itself and the upstream version it tracks are unchanged
## source-20260729.1 (29-07-2026)
- Minor bugs fixed
## source-20260717 (17-07-2026)
- Minor bugs fixed
## source-20260716.02 (16-07-2026)

View File

@@ -127,5 +127,5 @@ slug: birdnet-go-dev
udev: true
url: https://github.com/alexbelgium/hassio-addons
usb: true
version: "source-20260717"
version: "20260729.1"
video: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -1,4 +1,7 @@
## 0.8.5 (2026-08-01)
- Update to latest version from Suncuss/BirdNET-PiPy (changelog : https://github.com/Suncuss/BirdNET-PiPy/releases)
## 0.8.4 (2026-07-13)
- Update to latest version from Suncuss/BirdNET-PiPy (changelog : https://github.com/Suncuss/BirdNET-PiPy/releases)

View File

@@ -96,4 +96,4 @@ schema:
ssl: bool?
slug: birdnet-pipy
url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-pipy
version: "0.8.4"
version: "0.8.5"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -1,8 +1,8 @@
{
"last_update": "2026-07-13",
"last_update": "2026-08-01",
"repository": "alexbelgium/hassio-addons",
"slug": "birdnet-pipy",
"source": "github",
"upstream_repo": "Suncuss/BirdNET-PiPy",
"upstream_version": "0.8.4"
"upstream_version": "0.8.5"
}

View File

@@ -1,4 +1,7 @@
## 1.37.1 (2026-08-01)
- Update to latest version from dani-garcia/bitwarden_rs (changelog : https://github.com/dani-garcia/bitwarden_rs/releases)
## 1.37.0 (2026-07-25)
- Update to latest version from dani-garcia/bitwarden_rs (changelog : https://github.com/dani-garcia/bitwarden_rs/releases)

View File

@@ -28,5 +28,5 @@ schema:
slug: bitwarden
udev: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/bitwarden
version: "1.37.0"
version: "1.37.1"
webui: "[PROTO:ssl]://[HOST]:[PORT:7277]"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -1,9 +1,9 @@
{
"last_update": "2026-07-25",
"last_update": "2026-08-01",
"paused": false,
"repository": "alexbelgium/hassio-addons",
"slug": "bitwarden",
"source": "github",
"upstream_repo": "dani-garcia/bitwarden_rs",
"upstream_version": "1.37.0"
"upstream_version": "1.37.1"
}

View File

@@ -1,4 +1,7 @@
## 1.93.129-ls119 (2026-08-01)
- Update to latest version from linuxserver/docker-brave (changelog : https://github.com/linuxserver/docker-brave/releases)
## 1.92.144-ls117 (2026-07-25)
- Update to latest version from linuxserver/docker-brave (changelog : https://github.com/linuxserver/docker-brave/releases)

View File

@@ -69,5 +69,5 @@ slug: brave
tmpfs: true
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "1.92.144-ls117"
version: "1.93.129-ls119"
video: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,9 +1,9 @@
{
"github_fulltag": "true",
"last_update": "2026-07-25",
"last_update": "2026-08-01",
"repository": "alexbelgium/hassio-addons",
"slug": "brave",
"source": "github",
"upstream_repo": "linuxserver/docker-brave",
"upstream_version": "1.92.144-ls117"
"upstream_version": "1.93.129-ls119"
}

View File

@@ -1,4 +1,12 @@
## 2026.08.01.1 (2026-08-01)
- Update to latest version from linuxserver/docker-chromium (changelog : https://github.com/linuxserver/docker-chromium/releases)
- Upstream tag : version-e2e1ec9c
## 2026.08.01 (2026-08-01)
- Version renamed from `version-bf9e0b4f`, which Home Assistant could not order and therefore could not reliably offer as an update: the previous version held no number that could order it, so the date of this change is used. The addon itself and the upstream version it tracks are unchanged
## version-bf9e0b4f (2026-07-25)
- Update to latest version from linuxserver/docker-chromium (changelog : https://github.com/linuxserver/docker-chromium/releases)

View File

@@ -71,5 +71,5 @@ slug: chromium
tmpfs: true
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "version-bf9e0b4f"
version: "2026.08.01.1"
video: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,9 +1,9 @@
{
"github_fulltag": "true",
"last_update": "2026-07-25",
"last_update": "2026-08-01",
"repository": "alexbelgium/hassio-addons",
"slug": "chromium",
"source": "github",
"upstream_repo": "linuxserver/docker-chromium",
"upstream_version": "version-bf9e0b4f"
"upstream_version": "version-e2e1ec9c"
}

View File

@@ -1,4 +1,7 @@
## 2.55.2 (2026-08-01)
- Update to latest version from browserless/chrome (changelog : https://github.com/browserless/chrome/releases)
## 2.55.0 (2026-07-16)
- Update to latest version from browserless/chrome (changelog : https://github.com/browserless/chrome/releases)

View File

@@ -86,5 +86,5 @@ schema:
slug: browserless_chrome
udev: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/browserless_chrome
version: "2.55.0"
version: "2.55.2"
webui: "[PROTO:ssl]://[HOST]:[PORT:3000]/docs"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -1,9 +1,9 @@
{
"github_tagfilter": "v",
"last_update": "2026-07-16",
"last_update": "2026-08-01",
"repository": "alexbelgium/hassio-addons",
"slug": "browserless_chrome",
"source": "github",
"upstream_repo": "browserless/chrome",
"upstream_version": "2.55.0"
"upstream_version": "2.55.2"
}

View File

@@ -1,4 +1,7 @@
## 9.12.0 (2026-08-01)
- Update to latest version from linuxserver/docker-calibre (changelog : https://github.com/linuxserver/docker-calibre/releases)
## 9.11.0 (2026-07-04)
- Update to latest version from linuxserver/docker-calibre (changelog : https://github.com/linuxserver/docker-calibre/releases)

View File

@@ -117,5 +117,5 @@ schema:
slug: calibre
udev: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/calibre
version: "9.11.0"
version: "9.12.0"
video: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -1,9 +1,9 @@
{
"github_fulltag": "false",
"last_update": "2026-07-04",
"last_update": "2026-08-01",
"repository": "alexbelgium/hassio-addons",
"slug": "calibre",
"source": "github",
"upstream_repo": "linuxserver/docker-calibre",
"upstream_version": "9.11.0"
"upstream_version": "9.12.0"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,3 +1,32 @@
## 1.38 (02-08-2026)
- Reduce Claude Desktop add-on RAM use in three places without removing Headroom, RTK, TokenSave, Cowork, Dispatch, or the streamed desktop. Headroom's heavy HTTP proxy is no longer started at container boot: a standard-library TCP gate stays on port 8787, starts the real proxy on the first request, and stops it after 15 minutes without traffic (`HEADROOM_IDLE_TIMEOUT_SECONDS` remains overridable through `env_vars`). This releases the proxy's Python, ONNX Runtime, tokenizer, and Kompress model allocations while the add-on is idle; a later request starts a clean backend transparently.
- Prevent Headroom from loading a second Kompress model inside every Claude Desktop/Claude Code MCP process. The add-on now intercepts `headroom mcp serve` with a lightweight adapter that retains upstream MCP retrieval/statistics behavior but delegates `headroom_compress` to the shared proxy's loopback `/v1/compress` endpoint. The MCP process explicitly disables local Kompress and never imports `headroom.compress`, so only the proxy backend can own the ML runtime.
- Remove the add-on-wide `tmpfs: true` mount and undo the shared Selkies script's `/tmp/cache` redirection for this add-on. Electron/Chromium, Mesa, and application caches now live under the selected persistent home (`$HOME/.cache`) as reclaimable filesystem cache instead of RAM-backed cgroup shmem. Runtime sockets and XDG runtime state remain under `/run`.
## ubunturesolute-version-3a10bef7 (2026-08-01)
- Update to latest version from linuxserver/docker-baseimage-selkies (changelog : https://github.com/linuxserver/docker-baseimage-selkies/releases)
## kali-version-e963b19b (2026-08-01)
- Update to latest version from linuxserver/docker-baseimage-selkies (changelog : https://github.com/linuxserver/docker-baseimage-selkies/releases)
## 1.37 (28-07-2026)
- Fix the recurring "For your security, sign in again to keep using Claude." prompt for real. The v1.35 fix was ineffective: `--password-store=basic` was reaching the process (confirmed on a live install's `/proc/<pid>/cmdline`), yet the app kept logging `safeStorage not available, tokens will not persist` and `Encryption not available, returning empty env vars` on every launch. The missing half is an application-side opt-in — Electron refuses its built-in `basic_text` backend unless the app calls `safeStorage.setUsePlainTextEncryption(true)` before `ready`, and Claude Desktop never calls it (the symbol is present in the Electron binary but absent from `resources/app.asar`). So `isEncryptionAvailable()` stayed `false` and the auth token was never persisted, exactly as when the keyring backend was forced without a keyring daemon. Verified against a standalone Electron of the same generation: with `--password-store=basic` and no opt-in `isEncryptionAvailable()` is `false`; with the opt-in it is `true`, and a *separate later process* decrypts a blob written by an earlier one — which is the restart survival this add-on needs.
- **The patch (`86-claude_safestorage.sh` + `claude-safestorage-patch.js`, new).** A small Node script injects that one opt-in call into the app's main bundle (`.vite/build/index.pre.js`) inside `app.asar`. Insertion is placed *after* the bundle's leading `"use strict";` rather than before it, because a directive prologue only takes effect as the first statement — prepending ahead of it would silently drop the entire main process out of strict mode. The archive is rebuilt rather than edited in place, since an asar's header stores a byte offset and length per file: entries flagged `unpacked` (which live in `app.asar.unpacked/`, not in the archive body) and symlink entries are carried through untouched, so the native-module layout is preserved, and the per-file SHA-256 `integrity` record is recomputed for the one file that changed. The injector fails closed: anything that does not open with an unambiguously terminated `"use strict"` directive is refused rather than patched by guesswork, since `"use strict" + x` is an expression and injecting into it would yield a syntax error. The rebuild is written to a temporary file, `fsync`ed, and then fully re-validated from disk — entry count, every offset and length parsed as an exact in-bounds integer, the last body ending precisely at EOF, and the patched entry's recomputed SHA-256 — before it is renamed over the original and the directory synced; the temporary file is removed on every failure path. So a torn, truncated or short write can never replace a working archive. Verified byte-for-byte against the real archive: same 211 entries, no `unpacked`/symlink flag drift, no trailing slack, every integrity hash valid, and content differing in exactly one file.
- **Why it re-runs every boot.** `81-claude_update.sh` apt-upgrades `claude-desktop` on startup, and a new package ships a fresh, unpatched `app.asar`; a one-shot patch at image build time would therefore be undone by the first update. The script is marker-guarded, so a boot where the app did not change is a no-op, and it is numbered `86-` to land after both the update check and `85-openbox_autostart.sh`, while still completing before any s6 service — i.e. before the desktop launches the app. A failure is logged and swallowed rather than propagated, and the patcher is run under a 120s `timeout`: an unpatched app still runs, it just forgets the sign-in, which is not worth blocking startup over. The hook ends in an explicit `exit 0` so no logging branch can turn a non-fatal patch failure into a failed cont-init, and it sweeps stale temporary archives itself — `timeout` kills the patcher outright, so the run that hits the cap cannot execute its own cleanup, and each stranded file is archive-sized.
- **`gnome-keyring` stays out of the image.** Re-adding it would reintroduce the first-boot keyring password prompt that blocks Claude Desktop from launching at all. This route needs no keyring, no D-Bus Secret Service, no daemon and no password, so no prompt can appear. The trade-off is unchanged from v1.35 and is inherent to the `basic` backend: its key is fixed rather than gated by a keyring, so any process that can read the persistent `$HOME/.config/Claude` profile can recover the stored credentials.
- **One-time step after upgrading.** The previously stored session is already stale, so a single sign-in is still needed once after this update; it then persists across restarts.
## 1.36.4 (28-07-2026)
- Fix Selkies dying with a Rust `RuntimeDirNotSet` unwrap panic just after `Data WebSocket Server listening on port 8081`, and the data websocket then being proxied to the wrong port. Upstream relies on s6-rc ordering: `init-selkies-config` publishes `XDG_RUNTIME_DIR` and `CUSTOM_WS_PORT` into the s6 envdir and `svc-selkies` starts afterwards. The add-on entrypoint replaces s6-overlay and starts every `s6-rc.d` run script in parallel with no dependency graph, so Selkies can snapshot the envdir before that oneshot has written to it -- which is why it bound port 8081 (its own default) instead of the 8082 nginx proxies to, and why its Wayland compositor found no runtime directory to bind a socket in. `20-folders.sh` now exports both variables inside each run script, where no start ordering can lose them, and corrects the base image's `$HOME/.XDG` override where that write happens instead of appending a correction after the `exit 0` that the oneshot-tolerance block adds -- which meant the correction never ran on any boot after the first.
## 1.36.3 (28-07-2026)
- Make the Selkies startup scripts add-on agnostic so `webtop` and `webtop_kde` can share them by symlink instead of carrying their own drifted copies. `20-folders.sh` now derives its default data location from the home directory the Dockerfile baked into the `abc` user (`getent passwd abc`) rather than hardcoding `/data/data`, and the `permission_mode: bypass` root guard is skipped on add-ons that do not declare that option. `80-configuration.sh` falls back to `pip` when the image does not ship `uv`. No behaviour change for Claude Desktop: `getent passwd abc` returns `/data/data`, which is exactly the value that was hardcoded before.
## 1.36.2 (28-07-2026)
- Minor bugs fixed

View File

@@ -105,7 +105,10 @@ RUN if [ ! -f /bin/sh ] && [ -f /usr/bin/sh ]; then ln -s /usr/bin/sh /bin/sh; f
# Install Claude Desktop, Claude Code, Python tooling, and lightweight local validators.
# gnome-keyring is intentionally NOT installed: it prompts for a keyring password on first
# boot, which blocks Claude Desktop from launching. Sign-in persistence instead uses Electron's
# built-in --password-store=basic (rootfs/defaults/autostart) — no daemon, no prompt.
# built-in --password-store=basic (rootfs/defaults/autostart) — no daemon, no prompt — together
# with rootfs/etc/cont-init.d/86-claude_safestorage.sh, which patches app.asar to opt into that
# backend. Electron ignores --password-store=basic without the app-side opt-in, so both are
# required for the sign-in to survive a restart.
# The cowork virtualization stack (qemu-system-x86 + ovmf firmware) lets Claude Code launch
# its sandbox microVM; libseccomp2 and libcap-ng0 are the shared libraries the source-built
# virtiofsd daemon links against at runtime. Docker itself is NOT installed here: this base

View File

@@ -9,11 +9,12 @@ streamed desktop.
v1.24-ish removed `gnome-keyring` again because it prompts for a keyring password on first
boot, which blocked Claude Desktop from ever launching — but the launch flag was left
forcing the now-daemonless libsecret backend, so `safeStorage` silently went unavailable
again (recurring "sign in again", and — new in this round — the Claude app's dispatch tab
showing the desktop as offline until a fresh sign-in was done from a computer). Fixed in
v1.35: switched to `--password-store=basic` (Electron's built-in store, no keyring
involved at all) plus a cont-init script that re-syncs the persistent openbox `autostart`
from the image on every boot, so the fix reaches existing installs, not just fresh ones.
again (recurring "sign in again", and the Claude app's dispatch tab showing the desktop as
offline until a fresh sign-in was done from a computer). v1.35 switched to
`--password-store=basic` plus a cont-init script that re-syncs the persistent openbox
`autostart` from the image on every boot — **but that flag alone does nothing**, and the bug
survived it untouched. Actually fixed in v1.37, which adds the application-side opt-in the
`basic` backend requires; see "Why v1.35 did not work" below.
- **Planned only:** Problem A (in-desktop browser for OAuth) is intentionally not implemented.
The image ships no browser; complete the login with the user-side workaround below.
@@ -102,14 +103,60 @@ Re-adding gnome-keyring would just reintroduce the original launch-blocking prom
a dead end without also solving *that* — hence the shipped fix below avoids keyring
entirely.
### Fix (shipped, v1.35)
1. `claude_desktop/rootfs/defaults/autostart` launches with
`--password-store=basic` instead of `gnome-libsecret`. `basic` is Electron's built-in
fixed-key store: `isEncryptionAvailable()` is always `true`, no daemon, no prompt. Secrets
land under `$HOME/.config/Claude`, and `HOME=/data/data` is persistent add-on storage, so
the session survives restarts. `basic` trades away OS-backed at-rest protection: unlike
### Why v1.35 did not work
v1.35 assumed `--password-store=basic` makes `isEncryptionAvailable()` "always true". It does
not. On a live install the flag was confirmed on the running process:
```
$ tr '\0' ' ' < /proc/2247/cmdline
/usr/lib/claude-desktop/claude-desktop --no-sandbox --disable-dev-shm-usage --password-store=basic
```
and the app still logged, on every launch:
```
[warn] safeStorage not available, tokens will not persist
[warn] Encryption not available, returning empty env vars
[error] Electron safeStorage encryption is not available on this system, cannot store allowlist cache
```
Electron deliberately refuses its own `basic_text` backend unless the **application** opts in
by calling `safeStorage.setUsePlainTextEncryption(true)` before the `ready` event. The symbol
is present in the shipped Electron binary but absent from `resources/app.asar` — Claude Desktop
never calls it. So v1.35 replaced one unavailable backend with another.
Confirmed against a standalone Electron of the same generation, all with
`--password-store=basic`:
| case | `isEncryptionAvailable()` |
| --- | --- |
| no opt-in (= Claude Desktop as shipped) | `false` |
| `setUsePlainTextEncryption(true)` | `true`, `encryptString` works |
| fresh process, decrypting the earlier process's blob | `true`, plaintext recovered |
The third row is the one that matters: it is the restart survival this add-on needs.
### Fix (shipped, v1.37)
1. `claude_desktop/rootfs/defaults/autostart` launches with `--password-store=basic` instead of
`gnome-libsecret` — Electron's built-in fixed-key store: no daemon, no prompt. Secrets land
under `$HOME/.config/Claude`, and `HOME=/data/data` is persistent add-on storage, so the
session survives restarts. `basic` trades away OS-backed at-rest protection: unlike
`gnome-libsecret`, its encryption key isn't gated by a keyring daemon, so any process able
to read the persistent `$HOME/.config/Claude` profile can recover the saved credentials.
1b. `claude_desktop/rootfs/etc/cont-init.d/86-claude_safestorage.sh` +
`claude_desktop/rootfs/usr/local/bin/claude-safestorage-patch.js` (new) supply the opt-in
the flag depends on, by injecting `safeStorage.setUsePlainTextEncryption(true)` into the
app's main bundle inside `app.asar`. The injection goes *after* the bundle's leading
`"use strict";` — a directive prologue only counts as the first statement, so prepending
ahead of it would drop the main process out of strict mode. The archive is rebuilt (asar
headers store per-file offsets, so content cannot simply grow in place), preserving
`unpacked` and symlink entries and recomputing the per-file SHA-256 `integrity` record for
the single changed file; the result is verified and only then renamed over the original.
It re-runs every boot after `81-claude_update.sh`, because an apt upgrade of
`claude-desktop` ships a fresh unpatched `app.asar`; it is marker-guarded, so an unchanged
app is a no-op, and a failure is logged rather than propagated (an unpatched app still
runs, it just forgets the sign-in).
2. A passwordless keyring was considered instead (keeps libsecret encryption-at-rest without
a prompt) and rejected: the keyring DB would live in the same persistent volume as the
ciphertext it's "protecting," so it adds ~no real confidentiality in this single-user
@@ -133,9 +180,12 @@ normally and dispatch stays online regardless of which device connects first aft
## Files this plan touched
- `claude_desktop/rootfs/defaults/autostart` — drop the keyring bootstrap; launch with
`--password-store=basic`.
- `claude_desktop/rootfs/etc/cont-init.d/85-openbox_autostart.sh` — new; syncs the persistent
autostart from the image on every boot.
- `claude_desktop/rootfs/etc/cont-init.d/85-openbox_autostart.sh` — new in v1.35; syncs the
persistent autostart from the image on every boot.
- `claude_desktop/rootfs/etc/cont-init.d/86-claude_safestorage.sh` and
`claude_desktop/rootfs/usr/local/bin/claude-safestorage-patch.js` — new in v1.37; the
app-side `safeStorage` opt-in that makes `--password-store=basic` actually take effect.
- `claude_desktop/Dockerfile` — corrected stale comment (gnome-keyring is not installed).
- `claude_desktop/CHANGELOG.md` / `config.yaml` — v1.35.
- `claude_desktop/CHANGELOG.md` / `config.yaml` — v1.35, then v1.37.
Problem A (in-desktop browser for OAuth) remains planned-only; not touched by this change.

View File

@@ -119,8 +119,7 @@ schema:
tokensave_project_paths:
- str
slug: claude_desktop
tmpfs: true
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "1.36.2"
version: "1.38"
video: true

View File

@@ -8,9 +8,15 @@
# surfaced as recurring "sign in again" prompts and (because the stale session also fails the
# elevated-access OAuth check) the Claude app's dispatch tab showing this desktop as offline.
#
# --password-store=basic uses Electron's built-in fixed-key store instead: no daemon, no
# prompt, and isEncryptionAvailable() is always true. Secrets land under $HOME/.config/Claude,
# and HOME=/data/data is persistent add-on storage, so the saved sign-in survives restarts.
# --password-store=basic uses Electron's built-in fixed-key store instead: no daemon and no
# prompt. Secrets land under $HOME/.config/Claude, and HOME=/data/data is persistent add-on
# storage, so the saved sign-in survives restarts.
#
# This flag is only half of it. Electron refuses the basic backend unless the application opts
# in via safeStorage.setUsePlainTextEncryption(true), and Claude Desktop never calls it — with
# the flag alone, isEncryptionAvailable() stays false and the sign-in is still lost on every
# restart. /etc/cont-init.d/86-claude_safestorage.sh injects that opt-in into app.asar before
# this runs; do not drop one without the other.
# Headroom is intentionally not injected into the Desktop process: Claude Desktop
# force-overrides ANTHROPIC_BASE_URL (headroom #869), so Desktop uses the registered Headroom
# MCP tools instead.

View File

@@ -3,6 +3,33 @@
# shellcheck disable=SC2046
set -e
# Shared by every Selkies-based add-on in this repo (claude_desktop, webtop, webtop_kde) via a
# symlink; keep it add-on agnostic. The only per-add-on input is the home directory baked into
# the image by the Dockerfile's `usermod --home <dir> abc`, read back below.
# Default data location for this image: whatever the Dockerfile set as abc's home.
#
# Cached in a marker file rather than read from /etc/passwd on every boot, because this script
# rewrites that entry further down to the *selected* location. On a restart that reuses the
# container's writable layer, re-reading /etc/passwd would hand back the previous selection as
# the "image default", so clearing data_location would strand the user on their old custom path
# instead of restoring the built-in one. The marker shares its lifetime with the /etc/passwd
# edit it compensates for: both live in the writable layer, so a rebuilt or recreated container
# starts from a pristine /etc/passwd and regenerates the marker correctly.
#
# The `|| true` is load-bearing: getent exits 2 when the user does not exist, and under bashio's
# `set -o pipefail` plus this script's `set -e` that aborts the script at the assignment, before
# the fallback below can run. Same trap documented in 21-gpu_permissions.sh.
DEFAULT_LOCATION_MARKER="/etc/.addon_image_home"
if [ ! -s "$DEFAULT_LOCATION_MARKER" ]; then
getent passwd abc 2> /dev/null | cut -d: -f6 > "$DEFAULT_LOCATION_MARKER" || true
fi
DEFAULT_LOCATION="$(cat "$DEFAULT_LOCATION_MARKER" 2> /dev/null || true)"
if [[ -z "$DEFAULT_LOCATION" || "$DEFAULT_LOCATION" == "/" ]]; then
DEFAULT_LOCATION="/config/data"
bashio::log.warning "Could not read the abc home directory from /etc/passwd; defaulting to $DEFAULT_LOCATION"
fi
# Align the shared desktop user (abc) with the configured PUID/PGID before any storage is
# chowned and before any service or s6-setuidgid call resolves abc. The base image's
# init-adduser applies the same remap, but it runs after cont-init, so doing it here first is
@@ -11,8 +38,8 @@ PUID="$(if bashio::config.has_value 'PUID'; then bashio::config 'PUID'; else ech
PGID="$(if bashio::config.has_value 'PGID'; then bashio::config 'PGID'; else echo '1000'; fi)"
# Claude Code refuses bypass-permissions mode under an effective root UID, so bypass mode
# always needs a non-root desktop user.
if [ "$(bashio::config 'permission_mode')" = "bypass" ] && [ "$PUID" -eq 0 ]; then
# always needs a non-root desktop user. Add-ons without a permission_mode option skip this.
if bashio::config.has_value 'permission_mode' && [ "$(bashio::config 'permission_mode')" = "bypass" ] && [ "$PUID" -eq 0 ]; then
bashio::log.warning "permission_mode: bypass cannot run Claude Code as root; using UID 1000 instead of the configured PUID 0"
PUID=1000
fi
@@ -37,7 +64,7 @@ fi
LOCATION="$(bashio::config 'data_location')"
if [[ "$LOCATION" = "null" || -z "$LOCATION" ]]; then
LOCATION="/data/data"
LOCATION="$DEFAULT_LOCATION"
else
LOCATIONOK=""
for location in "/share" "/config" "/data" "/mnt"; do
@@ -47,7 +74,7 @@ else
done
if [ -z "$LOCATIONOK" ]; then
LOCATION="/data/data"
LOCATION="$DEFAULT_LOCATION"
bashio::log.fatal "Your data_location value can only be set in /share, /config, /data or /mnt. It will be reset to the default location : $LOCATION"
fi
fi
@@ -65,18 +92,66 @@ XDG_RUNTIME_DIR="/run/user/$PUID"
mkdir -p "$XDG_RUNTIME_DIR"
chmod 700 "$XDG_RUNTIME_DIR"
for file in /etc/s6-overlay/s6-rc.d/*/run; do
if [ "$(sed -n '1{/bash/p};q' "$file")" ] && ! grep -q '^export XDG_CACHE_HOME=/tmp/cache$' "$file"; then
sed -i "1a export HOME=$LOCATION" "$file"
sed -i "1a export FM_HOME=$LOCATION" "$file"
sed -i "1a export XDG_CACHE_HOME=/tmp/cache" "$file"
fi
done
# Must agree with the CWS substitution in 90-ingress.sh: nginx proxies the Selkies data
# websocket to this port, and Selkies only listens on it if CUSTOM_WS_PORT reaches its process.
# Validated here, once, because the value goes on to be interpolated into generated shell and
# into a sed replacement in 90-ingress.sh, both of which take the normalised value back out of
# the envdir written below.
SELKIES_WS_PORT="${CUSTOM_WS_PORT:-8082}"
if ! [[ "$SELKIES_WS_PORT" =~ ^[0-9]+$ ]] || [ "$SELKIES_WS_PORT" -lt 1 ] || [ "$SELKIES_WS_PORT" -gt 65535 ]; then
bashio::log.warning "CUSTOM_WS_PORT '${CUSTOM_WS_PORT:-}' is not a valid port number; using 8082"
SELKIES_WS_PORT=8082
fi
for folders in /defaults /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d; do
if [ -d "$folders" ]; then
find "$folders" -type f -exec sed -i "s|/data/data|$LOCATION|g" {} + &> /dev/null || true
fi
# Upstream relies on s6-rc ordering: init-selkies-config publishes XDG_RUNTIME_DIR and
# CUSTOM_WS_PORT into the s6 envdir, and svc-selkies is started afterwards. The add-on
# entrypoint replaces s6-overlay and launches every s6-rc.d run script in parallel, with no
# dependency graph, so a longrun can snapshot the envdir (with-contenv reads it once, at exec)
# before the oneshot has written to it. Selkies is where that shows: it comes up with
# CUSTOM_WS_PORT unset and binds its data websocket on the 8081 default while nginx proxies
# 8082, and on the PIXELFLUX_WAYLAND images it reaches the compositor with no XDG_RUNTIME_DIR
# and panics with `RuntimeDirNotSet` binding the Wayland socket.
#
# Exporting both inside the run scripts puts them in each process's own environment, where no
# start ordering can lose them, and keeps every service agreeing on one runtime dir -- svc-de
# otherwise waits forever on a Wayland socket under a directory Selkies never used.
# Rewrite the home path baked into the image to the user-chosen one. No-op when data_location
# is left at its default. Runs before the exports below are injected, not after: this is a
# blind textual substitution, so a location *under* the image default (data_location
# /config/data_kde/foo against a /config/data_kde image) would otherwise rewrite the freshly
# injected "export HOME=/config/data_kde/foo" into ".../foo/foo".
if [ "$LOCATION" != "$DEFAULT_LOCATION" ]; then
for folders in /defaults /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d; do
if [ -d "$folders" ]; then
find "$folders" -type f -exec sed -i "s|$DEFAULT_LOCATION|$LOCATION|g" {} + &> /dev/null || true
fi
done
fi
# Re-derived on every boot rather than injected once behind a marker, for the same reason the
# ~/.bashrc block below is: the run scripts live in the writable layer and survive a restart, so
# a write-once injection pins whatever PUID and CUSTOM_WS_PORT were in force the first time.
# Raising PUID would leave every service exporting a /run/user/<old-uid> the remapped abc user
# cannot use, and clearing a custom CUSTOM_WS_PORT would leave Selkies on the old port while
# 90-ingress.sh moved nginx back to 8082. Strip whatever a previous boot left -- the marked
# block, or the bare exports earlier versions wrote -- then write the current values. No
# upstream run script in these images sets any of these five, so the bare-line sweep only ever
# removes our own.
ENV_BLOCK_BEGIN="# --- BEGIN ADDON ENV (managed) ---"
ENV_BLOCK_END="# --- END ADDON ENV (managed) ---"
for file in /etc/s6-overlay/s6-rc.d/*/run; do
[ -n "$(sed -n '1{/bash/p};q' "$file")" ] || continue
sed -i "/^${ENV_BLOCK_BEGIN}\$/,/^${ENV_BLOCK_END}\$/d" "$file"
sed -i -E '/^export (HOME|FM_HOME|XDG_CACHE_HOME|XDG_RUNTIME_DIR|CUSTOM_WS_PORT)=/d' "$file"
# Each "1a" lands at line 2 and pushes the previous one down, so this reads bottom-up.
sed -i "1a $ENV_BLOCK_END" "$file"
sed -i "1a export HOME=\"$LOCATION\"" "$file"
sed -i "1a export FM_HOME=\"$LOCATION\"" "$file"
sed -i "1a export XDG_CACHE_HOME=\"/tmp/cache\"" "$file"
sed -i "1a export XDG_RUNTIME_DIR=\"$XDG_RUNTIME_DIR\"" "$file"
sed -i "1a export CUSTOM_WS_PORT=\"$SELKIES_WS_PORT\"" "$file"
sed -i "1a $ENV_BLOCK_BEGIN" "$file"
done
sed -i "s|^\(abc:[^:]*:[^:]*:[^:]*:[^:]*:\)[^:]*|\1$LOCATION|" /etc/passwd
@@ -85,6 +160,7 @@ printf "%s" "$LOCATION" > "$S6_ENVDIR/HOME"
printf "%s" "$LOCATION" > "$S6_ENVDIR/FM_HOME"
printf "%s" "/tmp/cache" > "$S6_ENVDIR/XDG_CACHE_HOME"
printf "%s" "$XDG_RUNTIME_DIR" > "$S6_ENVDIR/XDG_RUNTIME_DIR"
printf "%s" "$SELKIES_WS_PORT" > "$S6_ENVDIR/CUSTOM_WS_PORT"
# Re-derived on every boot rather than gated on a "does it already say $LOCATION" grep: that
# guard only ever recognized the CURRENT $LOCATION, so a user who changed data_location and
# later changed it back left two stale HOME/FM_HOME exports in ~/.bashrc, with the last one
@@ -128,13 +204,16 @@ bashio::log.info "Setting ownership to $PUID:$PGID"
chown -R "${PUID}:${PGID}" "$LOCATION" /tmp/cache "$XDG_RUNTIME_DIR" /data
chmod -R 700 "$LOCATION"
# The base init-selkies-config script overrides XDG_RUNTIME_DIR to $HOME/.XDG, which lands
# on persistent storage and conflicts with the tmpfs runtime dir set above. Re-assert the
# tmpfs value at the end of that oneshot so the app and desktop agree on one valid dir.
# The base init-selkies-config script overrides XDG_RUNTIME_DIR to $HOME/.XDG, which lands on
# persistent storage and conflicts with the tmpfs runtime dir set above. Correct that write
# where it happens rather than re-asserting the value at the end of the oneshot: the tolerance
# block below appends `exit 0`, so on every boot after the first an appended correction sits
# past it and never runs.
SELKIES_CONFIG_RUN="/etc/s6-overlay/s6-rc.d/init-selkies-config/run"
if [ -f "$SELKIES_CONFIG_RUN" ]; then
# Drop the trailing correction earlier versions appended, now applied at the source.
sed -i '/^# XDG_RUNTIME_DIR override reconciled$/,+1d' "$SELKIES_CONFIG_RUN"
printf '\n# XDG_RUNTIME_DIR override reconciled\nprintf "%%s" "%s" > /run/s6/container_environment/XDG_RUNTIME_DIR\n' "$XDG_RUNTIME_DIR" >> "$SELKIES_CONFIG_RUN"
sed -i "s|^.*> */run/s6/container_environment/XDG_RUNTIME_DIR *\$|printf '%s' '$XDG_RUNTIME_DIR' > /run/s6/container_environment/XDG_RUNTIME_DIR|" "$SELKIES_CONFIG_RUN"
fi
# The Selkies desktop init oneshots do best-effort device/permission setup (mknod

View File

@@ -0,0 +1,58 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
set -e
# 20-folders.sh is shared with the Webtop add-ons and historically redirects
# XDG_CACHE_HOME to /tmp/cache. This Claude-specific follow-up runs before the
# graphical longruns and moves general application caches back under the
# persistent home. Removing config.yaml's `tmpfs: true` then ensures Chromium,
# Electron, Mesa and other cache pages are reclaimable filesystem cache instead
# of permanently charged cgroup shmem.
LOCATION="$(getent passwd abc 2> /dev/null | cut -d: -f6 || true)"
if [ -z "$LOCATION" ] || [ "$LOCATION" = "/" ]; then
bashio::log.warning "Unable to resolve abc home; leaving XDG cache configuration unchanged"
exit 0
fi
CACHE_DIR="$LOCATION/.cache"
if [ -L "$CACHE_DIR" ]; then
rm -f "$CACHE_DIR"
fi
mkdir -p "$CACHE_DIR"
chown "$(id -u abc):$(id -g abc)" "$CACHE_DIR"
chmod 700 "$CACHE_DIR"
CACHE_DIR="$CACHE_DIR" LOCATION="$LOCATION" python3 - <<'PY'
import os
import re
from pathlib import Path
cache = os.environ["CACHE_DIR"]
quoted = cache.replace("\\", "\\\\").replace('"', '\\"')
replacement = f'export XDG_CACHE_HOME="{quoted}"'
for path in Path("/etc/s6-overlay/s6-rc.d").glob("*/run"):
try:
text = path.read_text()
except (OSError, UnicodeDecodeError):
continue
updated = re.sub(r"^export XDG_CACHE_HOME=.*$", replacement, text, flags=re.MULTILINE)
if updated != text:
path.write_text(updated)
bashrc = Path(os.environ["LOCATION"]) / ".bashrc"
if bashrc.exists():
text = bashrc.read_text()
updated = re.sub(r"^export XDG_CACHE_HOME=.*$", replacement, text, flags=re.MULTILINE)
if updated != text:
bashrc.write_text(updated)
PY
S6_ENVDIR="/run/s6/container_environment"
mkdir -p "$S6_ENVDIR"
printf '%s' "$CACHE_DIR" > "$S6_ENVDIR/XDG_CACHE_HOME"
# Safe here: no graphical longrun has started yet, and the former directory was
# only a boot-created target for the now-removed persistent-home symlink.
rm -rf /tmp/cache
bashio::log.info "Application cache moved from RAM-backed /tmp to $CACHE_DIR"

View File

@@ -2,7 +2,11 @@
# shellcheck shell=bash
set -e
# The image is Debian-based (apt) and always ships uv, so those are the only installers used.
# Shared by every Selkies-based add-on in this repo (claude_desktop, webtop, webtop_kde) via a
# symlink; keep it add-on agnostic. Every option read here is guarded, so an add-on that does
# not declare a given option simply skips that block.
#
# All three images are Debian/Ubuntu-based, so apt is the only system package manager used.
if bashio::config.has_value 'additional_apps'; then
bashio::log.info "Installing additional apps :"
apt-get update -o Acquire::http::Timeout=10 -o Acquire::https::Timeout=10 &> /dev/null || bashio::log.warning "Unable to update apt package lists"
@@ -13,9 +17,14 @@ if bashio::config.has_value 'additional_apps'; then
fi
if bashio::config.has_value 'additional_pip'; then
if command -v uv &> /dev/null; then
pip_install=(uv pip install --system --break-system-packages)
else
pip_install=(pip install --break-system-packages)
fi
for p in $(bashio::config 'additional_pip' | tr ',' ' '); do
bashio::log.green "... pip: $p"
uv pip install --system --break-system-packages "$p" || bashio::log.fatal "Error: pip package $p failed"
"${pip_install[@]}" "$p" || bashio::log.fatal "Error: pip package $p failed"
done
fi

View File

@@ -0,0 +1,59 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
set -e
# Keep every existing Headroom CLI command unchanged, but intercept the MCP
# server entrypoint so it uses the add-on's single-runtime adapter. The real
# binary is intentionally outside /usr/local/bin; writing the wrapper there
# makes it the command 82-claude_tools.sh registers in Claude Desktop/Code.
REAL_HEADROOM=""
for candidate in /usr/bin/headroom /lsiopy/bin/headroom; do
if [ -x "$candidate" ]; then
REAL_HEADROOM="$candidate"
break
fi
done
if [ -z "$REAL_HEADROOM" ]; then
bashio::log.warning "Headroom executable was not found; MCP adapter wrapper was not installed"
exit 0
fi
# The adapter intentionally uses a small, stable subset of the upstream MCP
# server. Since Headroom is installed unpinned at image build time, verify that
# subset before replacing the command. A future incompatible Headroom release
# therefore keeps its native MCP server instead of breaking Claude startup.
if ! /lsiopy/bin/python3 - <<'PY'
from headroom.ccr.mcp_server import HeadroomMCPServer
for name in ("run_stdio", "cleanup", "_compress_content"):
if not callable(getattr(HeadroomMCPServer, name, None)):
raise SystemExit(f"HeadroomMCPServer.{name} is unavailable")
PY
then
bashio::log.warning "Installed Headroom is incompatible with the single-runtime MCP adapter; preserving the native MCP server"
exit 0
fi
wrapper="$(mktemp /usr/local/bin/.headroom-wrapper.XXXXXX)"
cleanup() {
rm -f "$wrapper"
}
trap cleanup EXIT
cat > "$wrapper" <<EOF
#!/bin/sh
REAL_HEADROOM="$REAL_HEADROOM"
if [ "\${1:-}" = "mcp" ] && [ "\${2:-}" = "serve" ]; then
shift 2
unset HF_HOME
export HEADROOM_DISABLE_KOMPRESS=1
exec /lsiopy/bin/python3 /usr/local/bin/headroom-mcp-proxy.py "\$@"
fi
exec "\$REAL_HEADROOM" "\$@"
EOF
chmod 0755 "$wrapper"
mv -f "$wrapper" /usr/local/bin/headroom
trap - EXIT
bashio::log.info "Headroom MCP compression is delegated to the shared lazy proxy runtime"

View File

@@ -0,0 +1,61 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
set -e
# Claude Desktop is launched with --password-store=basic (see /defaults/autostart) so that no
# system keyring — and therefore no keyring password prompt — is ever needed. Electron does not
# accept that backend unless the application itself calls
# safeStorage.setUsePlainTextEncryption(true), and Claude Desktop never does, so without this
# patch safeStorage.isEncryptionAvailable() stays false: the auth token is never persisted and
# the user is asked to sign in again on every start.
#
# claude-safestorage-patch.js injects that opt-in into the app's main bundle inside app.asar.
# It runs on every boot, and after 81-claude_update.sh, on purpose: an apt upgrade of
# claude-desktop replaces app.asar with a fresh unpatched copy. The patcher is marker-guarded,
# so a boot where the app did not change is a cheap no-op.
#
# A failure here must never block startup — the app still runs fine unpatched, it just forgets
# the sign-in — so the patcher's exit status is reported, not propagated, and it is capped with
# a timeout so a pathological archive cannot stall the boot indefinitely.
ASAR="/usr/lib/claude-desktop/resources/app.asar"
PATCHER="/usr/local/bin/claude-safestorage-patch.js"
if [ ! -f "$ASAR" ]; then
bashio::log.warning "Claude Desktop app.asar not found; skipping the safeStorage patch"
exit 0
fi
if [ ! -f "$PATCHER" ]; then
bashio::log.warning "$PATCHER not found; skipping the safeStorage patch"
exit 0
fi
# The patcher removes its own temporary archive on every failure path, but `timeout` kills it
# outright, so a run that hits the cap leaves one behind. Those are archive-sized, and the live
# archive stays unpatched, so every later boot would retry under a new pid and strand another
# copy until the container runs out of space.
cleanup_tmp() {
find "$(dirname "$ASAR")" -maxdepth 1 -name ".$(basename "$ASAR").addon-tmp.*" -delete 2>/dev/null || true
}
if output=$(timeout 120 node "$PATCHER" "$ASAR" 2>&1); then
bashio::log.info "safeStorage: ${output}"
else
rc=$?
if [ "$rc" -eq 124 ]; then
bashio::log.warning "safeStorage patch timed out after 120s; continuing unpatched."
else
bashio::log.warning "safeStorage patch failed (exit ${rc}); the sign-in will not persist."
fi
while IFS= read -r line; do
if [ -n "$line" ]; then
bashio::log.warning "${line}"
fi
done <<< "${output}"
cleanup_tmp
fi
# Explicitly successful: a failed patch is never fatal, so the status of whatever ran last above
# must not become this script's status and abort the boot.
exit 0

View File

@@ -24,7 +24,15 @@ sed -i '/listen \[::\]/d' "${NGINX_CONFIG}"
# Adapt ports and upstream paths for Home Assistant ingress
sed -i "s|3000|$(bashio::addon.ingress_port)|g" "${NGINX_CONFIG}"
sed -i "s|SUBFOLDER|/|g" "${NGINX_CONFIG}"
sed -i "s|CWS|8082|g" "${NGINX_CONFIG}"
# Same value 20-folders.sh exports to the Selkies services; both must move together or nginx
# proxies the data websocket to a port nothing listens on. That script also normalises it into
# the s6 envdir, which this one picks up through with-contenv; the check is repeated so a
# malformed value cannot reach the nginx config if 20-folders.sh did not get that far.
CWS="${CUSTOM_WS_PORT:-8082}"
if ! [[ "$CWS" =~ ^[0-9]+$ ]] || [ "$CWS" -lt 1 ] || [ "$CWS" -gt 65535 ]; then
CWS=8082
fi
sed -i "s|CWS|${CWS}|g" "${NGINX_CONFIG}"
sed -i "s|REPLACE_HOME|${HOME:-/root}|g" "${NGINX_CONFIG}"
sed -i "s|REPLACE_DOWNLOADS_PATH|${HOME:-/config}|g" "${NGINX_CONFIG}"
sed -i '/proxy_buffering/a proxy_set_header Accept-Encoding "";' "${NGINX_CONFIG}"

View File

@@ -1,32 +1,43 @@
#!/usr/bin/with-contenv bashio
# Headroom optimization proxy — local backend for Claude Desktop MCP and Claude Code.
# Headroom optimization proxy — lazy backend for Claude Desktop MCP and Claude Code.
declare port=8787
declare backend_port=8789
declare host=127.0.0.1
# The dashboard is unauthenticated. Keep it container-local by default and bind all
# interfaces only when the user explicitly opts in and maps port 8787.
# The dashboard is unauthenticated. Keep the gate container-local by default and
# bind all interfaces only when the user explicitly opts in and maps port 8787.
if bashio::config.true 'expose_headroom_dashboard'; then
host=0.0.0.0
fi
if bashio::config.true 'install_headroom' && command -v headroom > /dev/null 2>&1; then
# Kompress (the ONNX compression engine) needs its model in the local HF cache: the
# proxy's startup preload is deliberately cache-only, and the default HF cache lands
# under ~/.cache, which the add-on points at tmpfs (/tmp/cache) — wiped on every
# restart. Without a warm persistent cache the proxy ran forever in "deferred" mode
# and recorded zero compression savings. Point the cache at persistent storage;
# nothing else is needed here — the proxy's own request path already downloads a
# missing model in the background on first use (ensure_background_load) and passes
# requests through uncompressed until it lands, so this self-heals within a couple of
# requests on the first boot and loads instantly (eager preload) on every boot after.
# A synchronous pre-warm was tried here and removed: it blocked the port bind for up
# to the download's duration, which left the settings-managed ANTHROPIC_BASE_URL
# (see 82-claude_tools.sh) pointing at a proxy that wasn't listening yet.
export HF_HOME="${HOME}/.headroom/hf"
mkdir -p "$HF_HOME"
chown abc:abc "$HF_HOME" 2> /dev/null || true
bashio::log.info "svc-headroom: starting local Headroom proxy on ${host}:${port}"
exec s6-setuidgid abc headroom proxy --host "${host}" --port "${port}" --code-aware
if bashio::config.true 'install_headroom'; then
real_headroom=""
for candidate in /usr/bin/headroom /lsiopy/bin/headroom; do
if [ -x "$candidate" ]; then
real_headroom="$candidate"
break
fi
done
if [ -n "$real_headroom" ]; then
# Keep model artifacts persistent, but do not import Headroom or load the
# model in this longrun. The standard-library gate starts the real proxy
# on the first request and terminates it after the idle timeout, releasing
# Python/ONNX/model allocations. HEADROOM_IDLE_TIMEOUT_SECONDS is
# overridable through env_vars; 900 seconds is the default.
export HF_HOME="${HOME}/.headroom/hf"
mkdir -p "$HF_HOME" "${HOME}/.headroom"
chown abc:abc "${HOME}/.headroom" "$HF_HOME" 2> /dev/null || true
bashio::log.info "svc-headroom: starting lazy gate on ${host}:${port} (backend ${backend_port}, idle timeout ${HEADROOM_IDLE_TIMEOUT_SECONDS:-900}s)"
exec s6-setuidgid abc env \
HEADROOM_REAL_BIN="$real_headroom" \
HEADROOM_GATE_HOST="$host" \
HEADROOM_GATE_PORT="$port" \
HEADROOM_BACKEND_HOST=127.0.0.1 \
HEADROOM_BACKEND_PORT="$backend_port" \
HEADROOM_IDLE_TIMEOUT_SECONDS="${HEADROOM_IDLE_TIMEOUT_SECONDS:-900}" \
HF_HOME="$HF_HOME" \
/lsiopy/bin/python3 /usr/local/bin/headroom-proxy-gate.py
fi
fi
bashio::log.info "svc-headroom: install_headroom disabled or headroom not found; idling"

View File

@@ -0,0 +1,284 @@
#!/usr/bin/env node
/*
* Enable Electron safeStorage for Claude Desktop without a system keyring.
*
* Claude Desktop persists its auth token with Electron's safeStorage. On Linux that is gated
* on a backend: the libsecret backend needs a running Secret Service (gnome-keyring), which is
* intentionally not installed here because it prompts for a keyring password on first boot and
* blocks the app from launching. The app is therefore launched with --password-store=basic
* (Electron's built-in fixed-key store: no daemon, no prompt).
*
* That alone is not enough. Electron refuses the `basic_text` backend unless the *application*
* explicitly opts in by calling safeStorage.setUsePlainTextEncryption(true) before the app is
* ready, and Claude Desktop never calls it. So isEncryptionAvailable() stays false, the token is
* never persisted, and the user is asked to sign in again on every start. There is no equivalent
* command-line switch, and NODE_OPTIONS=--require is ignored by packaged Electron apps, so the
* opt-in has to be injected into the app's own main bundle.
*
* This script does that inside app.asar. It is idempotent (marker-guarded) and re-applied on
* every boot, because 81-claude_update.sh apt-upgrades claude-desktop and a new package ships a
* fresh, unpatched app.asar.
*
* Failure policy: refuse rather than guess. An unpatched app still runs, it just forgets the
* sign-in; a corrupted app.asar would not start at all. Every unexpected shape is a hard exit
* that leaves the original archive untouched.
*
* asar layout (all little-endian):
* [0] uint32 = 4 size of the next field
* [4] uint32 = headerBufLen size of the header pickle
* [8] uint32 = payloadSize 4 + headerString length, 4-byte aligned
* [12] uint32 = headerStrLen exact JSON length
* [16] utf8 = headerString JSON file tree, padded to a 4-byte boundary
* then file bodies; each node's "offset" is relative to the end of the header.
*/
'use strict';
const fs = require('fs');
const path = require('path');
const crypto = require('crypto');
const ASAR = process.argv[2] || '/usr/lib/claude-desktop/resources/app.asar';
const MARKER = 'CLAUDE_ADDON_SAFESTORAGE_PATCH';
const PATCH =
`/*${MARKER}*/try{require("electron").safeStorage.setUsePlainTextEncryption(true);}` +
`catch(e){try{console.error("[claude_desktop addon] safeStorage opt-in failed:",e&&e.message);}catch(_){}}`;
const log = (m) => process.stdout.write(`${m}\n`);
const fail = (m) => {
process.stderr.write(`${m}\n`);
process.exit(1);
};
const alignInt = (i, a) => i + ((a - (i % a)) % a);
const sha256 = (b) => crypto.createHash('sha256').update(b).digest('hex');
function readArchive(file) {
const buf = fs.readFileSync(file);
if (buf.length < 16 || buf.readUInt32LE(0) !== 4) fail(`Not an asar archive: ${file}`);
const headerBufLen = buf.readUInt32LE(4);
const payloadSize = buf.readUInt32LE(8);
const headerStrLen = buf.readUInt32LE(12);
const contentBase = 8 + headerBufLen;
if (headerBufLen !== 4 + payloadSize || payloadSize !== 4 + alignInt(headerStrLen, 4)) {
fail(`Corrupt asar header pickle in ${file}`);
}
if (16 + headerStrLen > buf.length || contentBase > buf.length) {
fail(`Corrupt asar: header extends past end of ${file}`);
}
let header;
try {
header = JSON.parse(buf.toString('utf8', 16, 16 + headerStrLen));
} catch (e) {
fail(`Corrupt asar: header is not valid JSON (${e.message})`);
}
return { buf, header, contentBase };
}
/* Every packed leaf, as [path, node]. Nodes flagged `unpacked` live in app.asar.unpacked/ and
* `link` nodes are symlinks — neither has bytes inside the archive, so both are carried through
* untouched and skipped here. */
function packedLeaves(header) {
const out = [];
(function walk(dir, prefix) {
for (const [name, node] of Object.entries(dir.files)) {
const p = prefix ? `${prefix}/${name}` : name;
if (node.files) walk(node, p);
else if (!node.unpacked && typeof node.link !== 'string') out.push([p, node]);
}
})(header, '');
return out;
}
/* Offsets are decimal strings and can exceed 2^31; reject anything that is not a plain, exact,
* in-bounds extent rather than letting parseInt("12junk") or NaN silently slice the wrong bytes. */
function extentOf(ar, node, where) {
if (!/^\d+$/.test(String(node.offset))) fail(`Bad offset for ${where}: ${node.offset}`);
const off = Number(node.offset);
const size = node.size;
if (!Number.isSafeInteger(off)) fail(`Offset out of safe range for ${where}`);
if (!Number.isSafeInteger(size) || size < 0) fail(`Bad size for ${where}: ${size}`);
const start = ar.contentBase + off;
const end = start + size;
if (end > ar.buf.length) fail(`Extent of ${where} runs past end of archive`);
return { start, end };
}
const bodyOf = (ar, node, where) => {
const { start, end } = extentOf(ar, node, where);
return ar.buf.subarray(start, end);
};
function resolve(header, relPath) {
let node = header;
for (const part of relPath.split('/')) {
if (!node.files || !node.files[part]) return null;
node = node.files[part];
}
return node;
}
/* Matches @electron/asar: whole-file hash plus one hash per blockSize chunk. An empty file has
* an empty block list, not a single block over zero bytes. */
function integrityOf(buf, blockSize) {
const blocks = [];
for (let i = 0; i < buf.length; i += blockSize) {
blocks.push(sha256(buf.subarray(i, Math.min(i + blockSize, buf.length))));
}
return { algorithm: 'SHA256', hash: sha256(buf), blockSize, blocks };
}
/* Insert the opt-in after the bundle's leading "use strict" directive. It must go *after* it: a
* directive prologue only takes effect as the very first statement, so prepending would silently
* drop the whole main process out of strict mode.
*
* Returns null — meaning "refuse to patch" — for anything that is not unambiguously a directive.
* `"use strict" + x` is an expression, not a directive, and injecting into it would produce a
* syntax error, so the directive is only accepted when it is terminated by its own semicolon, a
* line break, or end of input. */
function applyPatch(source) {
const m = /^\s*(['"])use strict\1(;?)/.exec(source);
if (!m) return null;
const rest = source.slice(m[0].length);
const terminated = m[2] === ';' || rest === '' || /^[\r\n]/.test(rest);
if (!terminated) return null;
// Supply the terminator when the directive relied on ASI; without it the injected code would
// continue the string-literal expression instead of following it.
const sep = m[2] === ';' ? '' : ';';
return source.slice(0, m[0].length) + sep + PATCH + rest;
}
function writeAll(fd, buf) {
let off = 0;
while (off < buf.length) off += fs.writeSync(fd, buf, off, buf.length - off);
}
/* Re-read the rebuilt archive from disk and prove it is sound before it replaces a working one.
* A short or truncated write late in the file would otherwise still pass a marker-only check,
* because the main bundle sits near the front. */
function verifyRebuilt(file, mainRel, expectedLeafCount) {
const ar = readArchive(file);
const leaves = packedLeaves(ar.header);
if (leaves.length !== expectedLeafCount) {
fail(`Rebuilt archive has ${leaves.length} packed entries, expected ${expectedLeafCount}`);
}
let maxEnd = ar.contentBase;
for (const [p, node] of leaves) {
const { end } = extentOf(ar, node, p);
if (end > maxEnd) maxEnd = end;
}
if (maxEnd !== ar.buf.length) {
fail(`Rebuilt archive is truncated or has ${ar.buf.length - maxEnd} trailing bytes`);
}
const mainNode = resolve(ar.header, mainRel);
if (!mainNode) fail(`Rebuilt archive lost its main entry ${mainRel}`);
const body = bodyOf(ar, mainNode, mainRel);
if (!body.toString('utf8').includes(MARKER)) fail('Rebuilt archive is missing the patch marker');
if (mainNode.integrity && sha256(body) !== mainNode.integrity.hash) {
fail('Rebuilt archive has a stale integrity hash for the main entry');
}
}
function main() {
if (!fs.existsSync(ASAR)) fail(`Missing ${ASAR}`);
const ar = readArchive(ASAR);
const pkgNode = resolve(ar.header, 'package.json');
if (!pkgNode) fail('app.asar has no package.json');
const pkg = JSON.parse(bodyOf(ar, pkgNode, 'package.json').toString('utf8'));
const mainRel = pkg.main;
if (!mainRel) fail('package.json has no "main" entry');
const mainNode = resolve(ar.header, mainRel);
if (!mainNode) fail(`main entry not found in archive: ${mainRel}`);
if (mainNode.unpacked) fail(`main entry ${mainRel} is unpacked; refusing to patch`);
if (pkg.type === 'module') fail(`main entry ${mainRel} is ESM; this patcher emits CommonJS`);
const original = bodyOf(ar, mainNode, mainRel).toString('utf8');
if (original.includes(MARKER)) {
log(`Already patched: ${mainRel}`);
return;
}
const patchedSource = applyPatch(original);
if (patchedSource === null) {
fail(`${mainRel} does not begin with a recognized "use strict" directive; refusing to patch`);
}
const patched = Buffer.from(patchedSource, 'utf8');
/* Rebuild: copy every packed body in tree order, substituting the patched main entry, and
* reassign offsets as we go. asar headers store a byte offset and length per file, so content
* cannot simply grow in place. */
const leaves = packedLeaves(ar.header);
const chunks = [];
let offset = 0;
let patchedCount = 0;
for (const [p, node] of leaves) {
const isMain = node === mainNode;
const body = isMain ? patched : bodyOf(ar, node, p);
node.offset = String(offset);
node.size = body.length;
if (isMain && node.integrity) {
node.integrity = integrityOf(body, node.integrity.blockSize || 4 * 1024 * 1024);
}
offset += body.length;
chunks.push(body);
if (isMain) patchedCount++;
}
if (patchedCount !== 1) fail(`expected to rewrite exactly 1 main entry, rewrote ${patchedCount}`);
const headerString = JSON.stringify(ar.header);
const strLen = Buffer.byteLength(headerString);
const payloadSize = 4 + alignInt(strLen, 4);
const headerBufLen = 4 + payloadSize;
const prefix = Buffer.alloc(16 + alignInt(strLen, 4));
prefix.writeUInt32LE(4, 0);
prefix.writeUInt32LE(headerBufLen, 4);
prefix.writeUInt32LE(payloadSize, 8);
prefix.writeUInt32LE(strLen, 12);
prefix.write(headerString, 16, 'utf8');
/* Write beside the target and rename, so an interrupted run can never leave a torn app.asar.
* The temp name carries the pid so two runs cannot share it, and it is removed on every
* failure path before the rename. */
const dir = path.dirname(ASAR);
const tmp = path.join(dir, `.${path.basename(ASAR)}.addon-tmp.${process.pid}`);
const mode = fs.statSync(ASAR).mode & 0o7777;
try {
const out = fs.openSync(tmp, 'wx', mode);
try {
writeAll(out, prefix);
for (const c of chunks) writeAll(out, c);
fs.fsyncSync(out); // durable before it becomes the live archive
} finally {
fs.closeSync(out);
}
fs.chmodSync(tmp, mode);
verifyRebuilt(tmp, mainRel, leaves.length);
fs.renameSync(tmp, ASAR);
} catch (e) {
try {
fs.unlinkSync(tmp);
} catch (_) {
/* nothing to clean up */
}
fail(`Rebuild failed, original left untouched: ${e.message}`);
}
/* Sync the directory so the rename itself survives a crash, not just the file's contents. */
try {
const dfd = fs.openSync(dir, 'r');
fs.fsyncSync(dfd);
fs.closeSync(dfd);
} catch (_) {
/* best effort */
}
log(`Patched ${mainRel} in ${ASAR} (safeStorage plain-text opt-in)`);
}
main();

View File

@@ -0,0 +1,142 @@
#!/lsiopy/bin/python3
"""Run Headroom MCP with compression delegated to the single proxy backend.
Upstream Headroom MCP normally performs ``headroom_compress`` in its own
process. That imports the compression pipeline and can load a second copy of the
Kompress ONNX model in addition to the HTTP proxy. This adapter preserves the
upstream MCP protocol and retrieve/stats implementations, but replaces only its
local compression method with a call to the proxy's loopback-only
``/v1/compress`` endpoint.
The proxy gate starts the heavy backend on this first request and later unloads
it after the configured idle timeout. The MCP process therefore remains a
lightweight protocol bridge and never imports ``headroom.compress``.
"""
from __future__ import annotations
import argparse
import asyncio
import json
import os
import sys
from types import MethodType
from typing import Any
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Headroom MCP single-runtime adapter")
parser.add_argument(
"--proxy-url",
default=os.environ.get("HEADROOM_PROXY_URL", "http://127.0.0.1:8787"),
)
parser.add_argument("--transport", default="stdio")
parser.add_argument("--host", default="127.0.0.1")
parser.add_argument("--port", type=int, default=8788)
parser.add_argument("--path", default="/mcp")
parser.add_argument("--debug", action="store_true")
parser.add_argument("--direct", action="store_true")
args, unknown = parser.parse_known_args()
if unknown:
print(f"headroom-mcp-proxy: ignoring unsupported arguments: {unknown}", file=sys.stderr)
if args.transport.lower() != "stdio":
parser.error("only stdio transport is supported by the add-on adapter")
return args
def _number(data: dict[str, Any], key: str) -> int:
value = data.get(key, 0)
try:
return int(value)
except (TypeError, ValueError):
return 0
def make_proxy_compressor(proxy_url: str):
endpoint = f"{proxy_url.rstrip('/')}/v1/compress"
model = os.environ.get("HEADROOM_MCP_MODEL", "claude-sonnet-4-5-20250929")
def compress_via_proxy(_self, content: str) -> dict[str, Any]:
# Imported here, not at module import, so MCP startup stays small. httpx is
# already a dependency of Headroom's MCP server for retrieve/stats.
import httpx
response = httpx.post(
endpoint,
json={
"messages": [{"role": "tool", "content": content}],
"model": model,
},
timeout=httpx.Timeout(180.0, connect=75.0),
)
response.raise_for_status()
data = response.json()
if not isinstance(data, dict):
raise RuntimeError("Headroom proxy returned a non-object compression response")
messages = data.get("messages")
compressed: Any = content
if isinstance(messages, list) and messages:
last = messages[-1]
if isinstance(last, dict) and "content" in last:
compressed = last["content"]
if not isinstance(compressed, str):
compressed = json.dumps(compressed, ensure_ascii=False)
hashes = data.get("ccr_hashes")
hash_key = next((item for item in hashes if isinstance(item, str)), None) if isinstance(hashes, list) else None
before = _number(data, "tokens_before")
after = _number(data, "tokens_after")
saved = _number(data, "tokens_saved")
if saved <= 0:
saved = max(0, before - after)
savings_percent = round(saved / before * 100, 1) if before > 0 else 0.0
transforms = data.get("transforms_applied")
if not isinstance(transforms, list):
transforms = []
note = "Compression was executed by the shared Headroom proxy runtime."
if hash_key:
note += (
f" Original stored with hash={hash_key}. "
"Use mcp__headroom__headroom_retrieve to recover it."
)
return {
"compressed": compressed,
"hash": hash_key,
"original_tokens": before,
"compressed_tokens": after,
"tokens_saved": saved,
"savings_percent": savings_percent,
"transforms": transforms,
"note": note,
}
return compress_via_proxy
async def run() -> None:
args = parse_args()
# Defense in depth. The adapter never calls the local compressor, but keep
# the MCP process explicitly unable to initialize Kompress if upstream code
# changes or an unrelated import probes the compression pipeline.
os.environ.pop("HF_HOME", None)
os.environ["HEADROOM_DISABLE_KOMPRESS"] = "1"
os.environ["HEADROOM_PROXY_URL"] = args.proxy_url
from headroom.ccr.mcp_server import HeadroomMCPServer
server = HeadroomMCPServer(proxy_url=args.proxy_url, check_proxy=True)
server._compress_content = MethodType(make_proxy_compressor(args.proxy_url), server)
try:
await server.run_stdio()
finally:
await server.cleanup()
if __name__ == "__main__":
try:
asyncio.run(run())
except KeyboardInterrupt:
pass

View File

@@ -0,0 +1,388 @@
#!/lsiopy/bin/python3
"""Lazy TCP gate for the Headroom HTTP proxy.
The gate remains resident on the public Headroom port while the heavy Headroom
proxy (and its optional ONNX Kompress model) is started only for real traffic.
After an idle period the backend process is terminated, releasing its Python,
ONNX and model allocations. The next connection starts a fresh backend.
Only the Python standard library is imported here deliberately: the idle path
must not import Headroom, ONNX Runtime, transformers or the MCP SDK.
"""
from __future__ import annotations
import asyncio
import contextlib
import json
import os
import signal
import socket
import sys
import time
from pathlib import Path
def _int_env(name: str, default: int, minimum: int = 1) -> int:
try:
value = int(os.environ.get(name, str(default)))
except (TypeError, ValueError):
value = default
return max(minimum, value)
GATE_HOST = os.environ.get("HEADROOM_GATE_HOST", "127.0.0.1")
GATE_PORT = _int_env("HEADROOM_GATE_PORT", 8787)
BACKEND_HOST = os.environ.get("HEADROOM_BACKEND_HOST", "127.0.0.1")
BACKEND_PORT = _int_env("HEADROOM_BACKEND_PORT", 8789)
HEADROOM_BIN = os.environ.get("HEADROOM_REAL_BIN", "/usr/bin/headroom")
IDLE_TIMEOUT = _int_env("HEADROOM_IDLE_TIMEOUT_SECONDS", 900)
START_TIMEOUT = _int_env("HEADROOM_START_TIMEOUT_SECONDS", 60)
STOP_TIMEOUT = _int_env("HEADROOM_STOP_TIMEOUT_SECONDS", 10)
HF_HOME = os.environ.get("HF_HOME", str(Path.home() / ".headroom/hf"))
MAX_HEADER_BYTES = 128 * 1024
COPY_CHUNK = 64 * 1024
def log(message: str) -> None:
stamp = time.strftime("%Y-%m-%d %H:%M:%S")
print(f"[{stamp}] headroom-gate: {message}", file=sys.stderr, flush=True)
class BackendUnavailable(RuntimeError):
pass
class ProxyGate:
def __init__(self) -> None:
self._lock = asyncio.Lock()
self._process: asyncio.subprocess.Process | None = None
self._last_activity = time.monotonic()
self._active_connections = 0
self._stopping = False
self._watch_task: asyncio.Task[None] | None = None
@property
def state(self) -> str:
process = self._process
if process is None:
return "dormant"
if process.returncode is None:
return "running"
return "stopped"
def touch(self) -> None:
self._last_activity = time.monotonic()
async def _backend_healthy(self) -> bool:
for path in ("/livez", "/health"):
try:
reader, writer = await asyncio.wait_for(
asyncio.open_connection(BACKEND_HOST, BACKEND_PORT), timeout=1.0
)
request = (
f"GET {path} HTTP/1.1\r\n"
f"Host: {BACKEND_HOST}:{BACKEND_PORT}\r\n"
"Connection: close\r\n\r\n"
).encode()
writer.write(request)
await writer.drain()
line = await asyncio.wait_for(reader.readline(), timeout=1.0)
writer.close()
with contextlib.suppress(Exception):
await writer.wait_closed()
if line.startswith(b"HTTP/") and b" 2" in line[:16]:
return True
except (OSError, asyncio.TimeoutError):
continue
return False
async def ensure_backend(self) -> None:
if await self._backend_healthy():
self.touch()
return
async with self._lock:
if await self._backend_healthy():
self.touch()
return
process = self._process
if process is not None and process.returncode is None:
await self._wait_until_healthy()
self.touch()
return
if not os.path.isfile(HEADROOM_BIN) or not os.access(HEADROOM_BIN, os.X_OK):
raise BackendUnavailable(f"Headroom executable is unavailable: {HEADROOM_BIN}")
Path(HF_HOME).mkdir(parents=True, exist_ok=True)
environment = os.environ.copy()
environment.update(
{
"HF_HOME": HF_HOME,
"HEADROOM_PROXY_GATE": "1",
}
)
command = [
HEADROOM_BIN,
"proxy",
"--host",
BACKEND_HOST,
"--port",
str(BACKEND_PORT),
"--code-aware",
]
log(f"starting backend on {BACKEND_HOST}:{BACKEND_PORT}")
try:
self._process = await asyncio.create_subprocess_exec(
*command,
env=environment,
start_new_session=True,
)
except Exception as exc:
self._process = None
raise BackendUnavailable(f"unable to start Headroom: {exc}") from exc
self._watch_task = asyncio.create_task(self._watch_backend(self._process))
try:
await self._wait_until_healthy()
except Exception:
await self._terminate_backend_locked("startup failure")
raise
self.touch()
async def _wait_until_healthy(self) -> None:
deadline = time.monotonic() + START_TIMEOUT
while time.monotonic() < deadline:
process = self._process
if process is not None and process.returncode is not None:
raise BackendUnavailable(
f"Headroom exited during startup with status {process.returncode}; "
"see the add-on log"
)
if await self._backend_healthy():
log("backend is ready")
return
await asyncio.sleep(0.25)
raise BackendUnavailable(
f"Headroom did not become ready within {START_TIMEOUT}s; see the add-on log"
)
async def _watch_backend(self, process: asyncio.subprocess.Process) -> None:
returncode = await process.wait()
async with self._lock:
was_current = self._process is process
if was_current:
self._process = None
if not self._stopping and was_current:
log(f"backend exited with status {returncode}")
async def stop_backend(self, reason: str) -> None:
async with self._lock:
await self._terminate_backend_locked(reason)
async def _terminate_backend_locked(self, reason: str) -> None:
process = self._process
if process is None:
return
if process.returncode is not None:
self._process = None
return
log(f"stopping backend ({reason})")
try:
os.killpg(process.pid, signal.SIGTERM)
except ProcessLookupError:
pass
try:
await asyncio.wait_for(process.wait(), timeout=STOP_TIMEOUT)
except asyncio.TimeoutError:
log("backend did not stop after SIGTERM; sending SIGKILL")
with contextlib.suppress(ProcessLookupError):
os.killpg(process.pid, signal.SIGKILL)
with contextlib.suppress(Exception):
await process.wait()
self._process = None
async def idle_monitor(self) -> None:
interval = max(5, min(30, IDLE_TIMEOUT // 4))
while not self._stopping:
await asyncio.sleep(interval)
process = self._process
idle_for = time.monotonic() - self._last_activity
if (
process is not None
and process.returncode is None
and idle_for >= IDLE_TIMEOUT
):
await self.stop_backend(f"idle for {int(idle_for)}s")
def status_payload(self) -> bytes:
process = self._process
payload = {
"status": self.state,
"backend_pid": process.pid if process is not None and process.returncode is None else None,
"active_connections": self._active_connections,
"idle_seconds": round(time.monotonic() - self._last_activity, 1),
"idle_timeout_seconds": IDLE_TIMEOUT,
"backend": f"{BACKEND_HOST}:{BACKEND_PORT}",
}
body = json.dumps(payload, separators=(",", ":")).encode()
return (
b"HTTP/1.1 200 OK\r\n"
b"Content-Type: application/json\r\n"
+ f"Content-Length: {len(body)}\r\n".encode()
+ b"Connection: close\r\n\r\n"
+ body
)
async def handle_client(
self,
client_reader: asyncio.StreamReader,
client_writer: asyncio.StreamWriter,
) -> None:
self._active_connections += 1
real_traffic = False
peer = client_writer.get_extra_info("peername")
try:
try:
initial = await asyncio.wait_for(
client_reader.readuntil(b"\r\n\r\n"), timeout=15.0
)
except (
asyncio.IncompleteReadError,
asyncio.LimitOverrunError,
asyncio.TimeoutError,
):
return
if len(initial) > MAX_HEADER_BYTES:
await self._send_error(client_writer, 431, "request headers too large")
return
first_line = initial.split(b"\r\n", 1)[0]
parts = first_line.split(b" ")
target = parts[1].split(b"?", 1)[0] if len(parts) >= 2 else b""
if target == b"/gate/status":
client_writer.write(self.status_payload())
await client_writer.drain()
return
real_traffic = True
self.touch()
try:
await self.ensure_backend()
backend_reader, backend_writer = await asyncio.wait_for(
asyncio.open_connection(BACKEND_HOST, BACKEND_PORT), timeout=5.0
)
except (BackendUnavailable, OSError, asyncio.TimeoutError) as exc:
log(f"backend unavailable for {peer}: {exc}")
await self._send_error(client_writer, 503, str(exc))
return
backend_writer.write(initial)
await backend_writer.drain()
self.touch()
upstream = asyncio.create_task(self._pipe(client_reader, backend_writer))
downstream = asyncio.create_task(self._pipe(backend_reader, client_writer))
done, pending = await asyncio.wait(
{upstream, downstream}, return_when=asyncio.FIRST_COMPLETED
)
for task in pending:
task.cancel()
for task in done | pending:
with contextlib.suppress(
asyncio.CancelledError,
ConnectionError,
OSError,
):
await task
backend_writer.close()
with contextlib.suppress(Exception):
await backend_writer.wait_closed()
finally:
self._active_connections = max(0, self._active_connections - 1)
if real_traffic:
self.touch()
client_writer.close()
with contextlib.suppress(Exception):
await client_writer.wait_closed()
async def _pipe(
self,
reader: asyncio.StreamReader,
writer: asyncio.StreamWriter,
) -> None:
while True:
data = await reader.read(COPY_CHUNK)
if not data:
with contextlib.suppress(Exception):
writer.write_eof()
return
writer.write(data)
await writer.drain()
self.touch()
@staticmethod
async def _send_error(
writer: asyncio.StreamWriter,
status: int,
detail: str,
) -> None:
reason = (
"Service Unavailable"
if status == 503
else "Request Header Fields Too Large"
)
body = json.dumps({"error": detail}).encode()
response = (
f"HTTP/1.1 {status} {reason}\r\n"
"Content-Type: application/json\r\n"
f"Content-Length: {len(body)}\r\n"
"Connection: close\r\n\r\n"
).encode() + body
writer.write(response)
with contextlib.suppress(Exception):
await writer.drain()
async def shutdown(self) -> None:
self._stopping = True
await self.stop_backend("gate shutdown")
async def async_main() -> None:
gate = ProxyGate()
loop = asyncio.get_running_loop()
stop_event = asyncio.Event()
for sig in (signal.SIGTERM, signal.SIGINT):
with contextlib.suppress(NotImplementedError):
loop.add_signal_handler(sig, stop_event.set)
server = await asyncio.start_server(
gate.handle_client,
GATE_HOST,
GATE_PORT,
limit=MAX_HEADER_BYTES + 1,
family=socket.AF_INET,
)
addresses = ", ".join(str(sock.getsockname()) for sock in server.sockets or [])
log(
f"listening on {addresses}; backend is lazy and stops after {IDLE_TIMEOUT}s idle; "
"status endpoint: /gate/status"
)
monitor = asyncio.create_task(gate.idle_monitor())
async with server:
await stop_event.wait()
monitor.cancel()
with contextlib.suppress(asyncio.CancelledError):
await monitor
await gate.shutdown()
if __name__ == "__main__":
try:
asyncio.run(async_main())
except KeyboardInterrupt:
pass

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -4,6 +4,6 @@
"github_fulltag": true,
"slug": "claude_desktop",
"paused": false,
"upstream_version": "ubunturesolute-version-8208e985",
"last_update": "2026-07-21"
"upstream_version": "ubunturesolute-version-3a10bef7",
"last_update": "2026-08-01"
}

View File

@@ -1,4 +1,7 @@
## 2.10.2 (2026-08-01)
- Update to latest version from Cleanuparr/Cleanuparr (changelog : https://github.com/Cleanuparr/Cleanuparr/releases)
## 2.9.16 (2026-07-11)
- Update to latest version from Cleanuparr/Cleanuparr (changelog : https://github.com/Cleanuparr/Cleanuparr/releases)

View File

@@ -11,7 +11,7 @@
#=== Home Assistant Addon ===#
# ARGs used in FROM must be declared before any FROM instruction
ARG BUILD_UPSTREAM="2.9.16"
ARG BUILD_UPSTREAM="2.10.2"
#################
# 1 Build Image #

View File

@@ -91,5 +91,5 @@ schema:
TZ: str?
slug: cleanuparr
url: https://github.com/alexbelgium/hassio-addons/tree/master/cleanuparr
version: "2.9.16"
version: "2.10.2"
webui: "[PROTO:ssl]://[HOST]:[PORT:11011]"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,8 +1,8 @@
{
"last_update": "2026-07-11",
"last_update": "2026-08-01",
"repository": "alexbelgium/hassio-addons",
"slug": "cleanuparr",
"source": "github",
"upstream_repo": "Cleanuparr/Cleanuparr",
"upstream_version": "2.9.16"
"upstream_version": "2.10.2"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,4 +1,10 @@
## 2.2.5 (2026-08-02)
- Update to latest version from ajslater/codex (changelog : https://github.com/ajslater/codex/releases)
## 2.2.4 (2026-08-01)
- Update to latest version from ajslater/codex (changelog : https://github.com/ajslater/codex/releases)
## 2.2.2 (2026-07-25)
- Update to latest version from ajslater/codex (changelog : https://github.com/ajslater/codex/releases)

View File

@@ -101,4 +101,4 @@ schema:
slug: codex
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "2.2.2"
version: "2.2.5"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,9 +1,9 @@
{
"github_beta": "true",
"last_update": "2026-07-25",
"last_update": "2026-08-02",
"repository": "alexbelgium/hassio-addons",
"slug": "codex",
"source": "github",
"upstream_repo": "ajslater/codex",
"upstream_version": "2.2.2"
"upstream_version": "2.2.5"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -1,4 +1,10 @@
## 4.10.0.22 (2026-08-01)
- Update to latest version from linuxserver/docker-emby (changelog : https://github.com/linuxserver/docker-emby/releases)
## 4.10.0.21 (2026-08-01)
- Update to latest version from linuxserver/docker-emby (changelog : https://github.com/linuxserver/docker-emby/releases)
## 4.10.0.20 (2026-07-18)
- Update to latest version from linuxserver/docker-emby (changelog : https://github.com/linuxserver/docker-emby/releases)

View File

@@ -16,7 +16,7 @@
ARG BUILD_FROM
ARG BUILD_VERSION
ARG BUILD_UPSTREAM="4.10.0.20"
ARG BUILD_UPSTREAM="4.10.0.22"
FROM ${BUILD_FROM}
##################

View File

@@ -122,5 +122,5 @@ schema:
slug: emby_nas
udev: true
url: https://github.com/alexbelgium/hassio-addons/tree/master/emby
version: "4.10.0.20"
version: "4.10.0.22"
video: true

Some files were not shown because too many files have changed in this diff Show More