github puemos/hls-downloader v5.5.4

latest releases: v5.5.7, v5.5.6, v5.5.5...
4 hours ago

Fixes #244: AES-128 playlists without an explicit IV now derive each segment's IV from its media sequence number, preserving full 64-bit precision. Explicit IVs and initialization-map keys remain separate, including when encryption starts after a clear lead-in.

Encrypted downloads also persist settings and saved track choices without sending binary fragment IVs to Chromium's JSON-backed extension storage.

Verified locally

  • Installed the built extension in Brave MV3 and Firefox 157 MV2 and downloaded real H.264/AAC streams through the UI.
  • Covered TS, clear lead-ins followed by encrypted segments, explicit-IV controls, and fMP4 with a separately encrypted initialization map.
  • Passed 16 browser cases: four reproduce v5.5.3 failures and twelve validate complete fixed downloads. Every saved video has all 200 source frames, eight seconds of audio/video, and decoded audio identical to the unencrypted browser control.
  • Passed all 317 automated tests, workspace typechecking, the security gate, and validation of all six release archives. Firefox lint reports zero errors and six existing warnings.
  • Added pnpm test:e2e:aes128 for repeatable local reproduction and full saved-media validation.

Known limitations

  • The original report's private site was unavailable. The reported playlist behavior was reproduced with equivalent local streams.
  • Selecting WebVTT subtitles with separate audio and video exposes an existing muxing truncation bug, including on clear media. This release does not fix that separate issue. The strict local test reproduces it with E2E_AES128_SUBTITLES=1.
  • The encrypted CMAF cases verify downloading, without exercising the separate hls.js preview path.
  • GitHub Firefox XPIs are unsigned builds for temporary installation through about:debugging. Firefox Add-ons availability depends on a separate Mozilla signing and review process.

Don't miss a new hls-downloader release

NewReleases is sending notifications on new releases.