imSp4rky 1aa6315dc3 feat(drm): let a track pin the DRM system it licenses with
Adds Track.drm_preference so a service can pin a track to Widevine or
PlayReady when a manifest advertises both but only one will license it.
Honoured in DASH/HLS selection, the dl licence path and the remote/API
track round-trip. Also fixes quality-keyed CDM maps sending audio to the
default entry, and a licence callable binding the CDM before the swap.
2026-08-23 16:32:23 -06:00
2026-08-19 13:45:58 -06:00
2025-07-18 00:46:05 +00:00
2025-07-18 00:46:05 +00:00
2026-08-15 15:54:07 -06:00
2025-07-18 00:46:05 +00:00
2025-07-18 00:46:05 +00:00
2026-08-19 13:45:58 -06:00
2025-07-18 00:46:05 +00:00
2026-08-15 16:00:14 -06:00

no_encryption unshackle
Movie, TV, and Music Archival Software
Discord

Install  ·  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. (recommended versions):

Optional:

License

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

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