imSp4rky aacf54701d feat(hls): handle FairPlay skd keys in segment decrypt path
The FairPlay->PlayReady bridge synthesized headers and routed licensing but the HLS download loop still rejected the skd EXT-X-KEY. Teach get_supported_key and get_drm the com.apple.streamingkeydelivery keyformat, and reuse a service-provided FairPlay session DRM for skd segments (its KID encoding is service-specific, e.g. base64).
2026-06-18 16:05:02 +00:00
2025-07-18 00:46:05 +00:00
2025-07-18 00:46:05 +00:00
2025-07-18 00:46:05 +00:00
2025-07-18 00:46:05 +00:00
2025-07-18 00:46:05 +00:00

no_encryption unshackle
Movie, TV, and Music Archival Software
Discord

Install  ·  Wiki  ·  Docs  ·  Discord


A modular archival tool for movies, TV, and music. Fork of Devine with DASH/HLS/ISM parsing, Widevine & PlayReady DRM, and a REST API.

unshackle demo

Install

uv tool install git+https://github.com/unshackle-dl/unshackle.git
unshackle --help

Tip

Prefer uv run unshackle ... inside a clone to keep the virtual environment active.

Requirements

External tools on your PATH (recommended versions):

Optional:

License

GPL-3.0. Do not use unshackle for content you lack the rights to. Keep the core free and open; keep service code private. Be kind.

Description
No description provided
Readme GPL-3.0 20 MiB
Languages
Python 99.9%