Modular Movie, TV, and Music Archival Software
Find a file
imSp4rky d109fe63eb
fix(dl): mux hybrid ingredients standalone only when range explicitly requested
-r HYBRID alone muxed the HDR10/HDR10+ base layer as a standalone output because only the ingredient DV track was flagged hybrid_base_only. The inverse was also broken: HDR10/HDR10+/DV tracks never entered the standalone-deliverable pool, so -r HYBRID,HDR10P only delivered the standalone HDR10+ by accident of the first bug.

- Add Tracks.partition_hybrid_videos: ingredient ranges (HDR10/HDR10+/DV) enter the deliverable pool only when their range is explicitly requested alongside HYBRID; replaces the duplicated filter in dl.py.
- Add Tracks.flag_hybrid_ingredients: any track in the hybrid selection but not in the deliverable selection is flagged hybrid_base_only; replaces and generalises the DV-only dv_is_deliverable special case.
2026-06-06 16:03:16 -06:00
.github fix: update actions/checkout to v5 in release workflow 2026-03-17 09:16:46 -06:00
docs feat(naming): per-service title_map remapping (#106) 2026-05-26 14:08:52 -06:00
tests fix(dl): mux hybrid ingredients standalone only when range explicitly requested 2026-06-06 16:03:16 -06:00
unshackle fix(dl): mux hybrid ingredients standalone only when range explicitly requested 2026-06-06 16:03:16 -06:00
.editorconfig Initial Commit 2025-07-18 00:46:05 +00:00
.gitattributes Initial Commit 2025-07-18 00:46:05 +00:00
.gitignore feat(dl): add real bitrate probing (-rvb/-rab) 2026-05-24 17:30:40 -06:00
.pre-commit-config.yaml chore(pre-commit): update hook versions in .pre-commit-config.yaml 2026-05-04 22:20:02 -06:00
CHANGELOG.md chore(changelog): update changelog and cleanup readme 2026-06-03 11:11:23 -06:00
cliff.toml docs(changelog): update cliff config and regenerate changelog 2026-02-07 18:46:43 -07:00
CONTRIBUTING.md Initial Commit 2025-07-18 00:46:05 +00:00
install.bat fix(install): 🐛 Improve UV installation process and error handling 2025-07-25 22:40:46 +00:00
LICENSE Initial Commit 2025-07-18 00:46:05 +00:00
OLD-CHANGELOG.md Initial Commit 2025-07-18 00:46:05 +00:00
pyproject.toml chore(release): bump version to 5.1.0 2026-05-26 10:54:14 -06:00
README.md chore(changelog): update changelog and cleanup readme 2026-06-03 11:11:23 -06:00
uv.lock chore(release): bump version to 5.1.0 2026-05-26 10:54:14 -06: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):

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.