unarr/internal
Deivid Soto ea152a2276 feat(stream): /speedtest endpoint for agent-path bandwidth probing
The web player measured bandwidth against the web origin, which says nothing
about the path the video actually travels (LAN-direct, tailnet, or the CF
funnel) — on a fast LAN where the web server is the slow link it falsely
recommended a lower resolution. Serve a fixed-size, incompressible payload
from the agent so the web can measure the REAL stream path.

- GET /speedtest?size=N (clamped 64KB–4MB, default 2MB), HEAD supported
- CORS-gated like the other endpoints; no auth (carries no data)
- single-flight guard (atomic): one measurement at a time → a concurrent
  request gets 429, bounding the bandwidth an unauthenticated caller can
  drain over the public funnel
2026-06-02 22:52:25 +02:00
..
agent fix(stream): report stream failures via StreamError + retry transient stat 2026-06-02 20:31:49 +02:00
arr feat(cli): upgrade command, rich status, and version cache 2026-03-31 22:05:43 +02:00
cmd fix(stream): report stream failures via StreamError + retry transient stat 2026-06-02 20:31:49 +02:00
config feat(stream): cache extracted subtitles to a hidden .unarr sidecar 2026-06-02 09:10:36 +02:00
engine feat(stream): /speedtest endpoint for agent-path bandwidth probing 2026-06-02 22:52:25 +02:00
funnel fix(agent): surface par2/install/NFS failures instead of degrading silently 2026-06-01 15:52:54 +02:00
library feat(library): detect corrupt/incomplete files during scan 2026-06-02 19:42:00 +02:00
mediaserver feat(cli): upgrade command, rich status, and version cache 2026-03-31 22:05:43 +02:00
parser feat: initial commit — unarr CLI 2026-03-28 11:29:42 +01:00
sentry refactor(sentry): decouple agent import via string-match, rename predicate 2026-05-27 17:03:26 +02:00
ui fix(ci): fix lint errors and pin CI to Go 1.25 2026-03-31 22:15:12 +02:00
upgrade fix(upgrade): fetch releases from TorrentClaw app, not GitHub 2026-05-21 14:46:10 +02:00
usenet fix(agent): surface par2/install/NFS failures instead of degrading silently 2026-06-01 15:52:54 +02:00
vpn feat(vpn): unarr vpn command + report/arbitrate the WireGuard slot 2026-05-22 08:33:02 +02:00