Commit Graph

  • e02aa66843 feat(dl): add --worst flag and SHIELD OkHttp fingerprint preset dev Andy 2026-03-11 13:59:07 -06:00
  • c82bb5fe34 Merge pull request #88 from CodeName393/fix-aria2c-progress-bar Sp5rky 2026-03-07 20:21:25 -07:00
  • ec2ecfe7b4 fix(ism): prevent duplicate track IDs for audio tracks with same lang/codec/bitrate Andy 2026-03-07 13:01:36 -07:00
  • 15acaea208 feat(dl): extract closed captions from HLS manifests and improve CC extraction Andy 2026-03-05 15:57:29 -07:00
  • def18a4c44 fix(aria2c): Correct progress bar tracking for HLS downloads CodeName393 2026-03-05 14:43:24 +09:00
  • 7dd6323be5 Merge pull request #87 from CodeName393/add-HDR-Vivid-TAG Sp5rky 2026-03-04 15:38:03 -07:00
  • d68bb28a66 fix(title): Add HDR Vivid Format HDR Tag CodeName393 2026-03-04 23:17:18 +09:00
  • d1e6d0812c fix(dash): pass period_filter to n_m3u8dl_re via filtered MPD file Andy 2026-03-01 13:18:27 -07:00
  • 2f7a3d6d1d feat(dl): add skip messages for --no-audio and --no-chapters flags Andy 2026-02-28 14:19:06 -07:00
  • 572a894620 feat(dl): add --animeapi and --enrich options for anime metadata and tagging Andy 2026-02-28 12:51:14 -07:00
  • 5bd03c67cf fix(api): resolve Sentinel serialization, missing params, and add search endpoint (#80) Andy 2026-02-27 19:17:15 -07:00
  • d8a362c853 fix(drm): update PlayReady KID extraction for pyplayready 0.8.3 compatibility Andy 2026-02-27 16:54:23 -07:00
  • 08269bef60 feat: update unshackle version to 4.0.0 Andy 2026-02-26 22:39:25 -07:00
  • 65ceb4ae51 chore(changelog): update changelog Andy 2026-02-26 21:18:59 -07:00
  • c8883a5404 feat(templates): add configurable language tagging rule engine (#58) Andy 2026-02-26 21:17:46 -07:00
  • 13d7636d86 chore(changelog): update changelog for upcoming release and reorganize sections Andy 2026-02-26 18:28:07 -07:00
  • 6ce7b6c4d3 feat(templates)!: add customizable output filename templates (#12) Andy 2026-02-26 18:23:18 -07:00
  • 798ce95042 fix(dependencies): update pyplayready version to 0.8.3 and adjust dependencies Andy 2026-02-26 14:12:38 -07:00
  • eeec4e1f1b feat(tracks): add edition tags to output filenames Andy 2026-02-26 11:11:00 -07:00
  • 6cdfd2828b Merge pull request #66 from CodeName393/Config-Filenames Sp5rky 2026-02-26 10:30:07 -07:00
  • 9dc56e63c4 fix: correct formatting and add missing newlines in selector and EXAMPLE service Andy 2026-02-26 08:10:21 -07:00
  • 31f8532131 Merge pull request #83 from CodeName393/service.py Sp5rky 2026-02-26 08:07:05 -07:00
  • 8d05a8ceb8 Merge pull request #79 from CodeName393/select-title-update Sp5rky 2026-02-26 08:02:31 -07:00
  • c5ef13df5d Update selector.py CodeName393 2026-02-26 15:25:09 +09:00
  • 1611fcc971 Update dl.py CodeName393 2026-02-26 15:18:41 +09:00
  • 0f25b0ce52 Update selector.py CodeName393 2026-02-26 15:18:21 +09:00
  • 00b4f2cdd1 Update selector.py CodeName393 2026-02-26 15:16:34 +09:00
  • 65e6ae88d0 Update dl.py CodeName393 2026-02-26 15:16:22 +09:00
  • 820db5f179 refactor(providers): extract metadata providers into modular system Andy 2026-02-25 19:02:18 -07:00
  • 42d6ef5765 fix(n_m3u8dl_re): disable segment count validation for duration-based DASH Andy 2026-02-25 11:11:41 -07:00
  • 30269b6c17 Fix CodeName393 2026-02-26 02:07:06 +09:00
  • 547e9f481c Merge branch 'dev' into Config-Filenames CodeName393 2026-02-26 02:06:07 +09:00
  • bde1945f67 Fix CodeName393 2026-02-26 02:05:40 +09:00
  • a4e1c6bb75 Fix CodeName393 2026-02-26 02:01:45 +09:00
  • b26d47fd9b Update dl.py CodeName393 2026-02-25 19:27:13 +09:00
  • 772bacfc8f Update selector.py CodeName393 2026-02-25 19:26:35 +09:00
  • d261b4715d Fix CodeName393 2026-02-25 19:22:59 +09:00
  • 05dc682a2d Merge branch 'dev' into service.py CodeName393 2026-02-25 19:21:22 +09:00
  • 86d464dc8e Fix CodeName393 2026-02-25 19:19:56 +09:00
  • 20bc7d2dba Fix CodeName393 2026-02-25 19:18:01 +09:00
  • b1d28d3229 Fix CodeName393 2026-02-25 19:17:11 +09:00
  • 21f0186ebf feat(dl): add --output option to override download directory Andy 2026-02-25 00:12:24 -07:00
  • 86a7a95b6f docs: update and correct configuration documentation Andy 2026-02-24 23:50:33 -07:00
  • d3fb0b6b24 refactor(example): migrate EXAMPLE service to track_request pattern Andy 2026-02-24 13:29:10 -07:00
  • 34f4d6bff7 fix(track): fallback to requests downloader from n_m3u8dl_re for unsupported track types Andy 2026-02-24 12:57:46 -07:00
  • eefb6fcad7 Fix CodeName393 2026-02-25 01:44:33 +09:00
  • c78a649170 Fix 2 CodeName393 2026-02-25 01:34:58 +09:00
  • c01e3993ce Fix 1 CodeName393 2026-02-25 01:34:24 +09:00
  • eba9f846b0 Improve service.py CodeName393 2026-02-25 00:44:04 +09:00
  • b11b23e529 chore(release): bump version to 3.1.0 Andy 2026-02-23 16:27:05 -07:00
  • 19341e2569 refactor(dl): remove legacy multi-fetch loop for unmigrated services Andy 2026-02-23 16:21:54 -07:00
  • d0341f6844 feat(core): add TrackRequest system for multi-codec/multi-range support Andy 2026-02-23 15:47:27 -07:00
  • 983fd18d53 fix(session): reduce default max_retries from 10 to 5 for CurlSession fix(service): reduce max_retries from 15 to 5 for HTTPAdapter Andy 2026-02-23 12:59:07 -07:00
  • 8b63be4f3e feat(dl): add --repack flag to insert REPACK tag in output filenames Andy 2026-02-22 11:42:35 -07:00
  • 8a4399665e fix(dl): handle cross-device moves when temp and downloads differ Andy 2026-02-22 10:52:04 -07:00
  • 4814ba9144 fix(dl): overwrite existing files on re-download and use atomic replace Andy 2026-02-21 15:33:07 -07:00
  • ff093a7896 fix(dl): allow selection of audio tracks for 'all' languages in addition to 'best' Andy 2026-02-20 21:40:41 -07:00
  • 829ae01000 fix(hybrid): accept HDR10+ tracks as valid base layer for HYBRID mode Andy 2026-02-18 15:56:55 -07:00
  • e7120bd063 fix(attachment): sanitize filenames with illegal Windows characters Andy 2026-02-17 16:02:59 -07:00
  • 42ee9d67a3 fix(hybrid): skip bitrate filter for DV tracks in HYBRID mode Andy 2026-02-17 15:38:55 -07:00
  • b0f5b11820 feat(debug): log binary tool versions at session start Andy 2026-02-17 14:39:28 -07:00
  • c10257b8dc Revert "feat(debug): add JSONL debug logging to decryption, muxing, and all downloaders" Andy 2026-02-17 14:37:50 -07:00
  • cc89f4ca93 feat(debug): add JSONL debug logging to decryption, muxing, and all downloaders Andy 2026-02-17 13:58:36 -07:00
  • d2f221f3fc Restore code comments CodeName393 2026-02-18 03:36:54 +09:00
  • 57ecddfeeb Delete terminal reset logic CodeName393 2026-02-18 03:27:35 +09:00
  • d21a59f306 dl.py Update CodeName393 2026-02-18 02:43:58 +09:00
  • b9bf8fddf5 Selector Update CodeName393 2026-02-18 02:41:00 +09:00
  • 0217086abf style: fix ruff E721, E701, and E722 lint errors Andy 2026-02-16 13:37:23 -07:00
  • df92f9e4b6 refactor(hybrid): replace log.info with console status and add JSONL debug logging Andy 2026-02-16 13:33:11 -07:00
  • 9ed56709cd Merge branch 'dev' of https://github.com/unshackle-dl/unshackle into dev Andy 2026-02-15 17:38:52 -07:00
  • f96f1f9a95 feat(hybrid): add L5 active area and dynamic L6 luminance metadata Andy 2026-02-15 17:38:43 -07:00
  • 9f9a609d71 Merge pull request #77 from CodeName393/Select-Titles Sp5rky 2026-02-15 16:19:42 -07:00
  • cee7d9a75f fix(n_m3u8dl_re): pass all content keys for DualKey DRM decryption main 1773318946785698711/update-unshackle 1773318946785698711/tmp_refs/heads/update-unshackle 1773318932103554359/update-unshackle 1773318932103554359/tmp_refs/heads/update-unshackle 1773318529239178029/update-unshackle 1773318529239178029/tmp_refs/heads/update-unshackle 1773318449860563930/update-unshackle 1773318449860563930/tmp_refs/heads/update-unshackle Andy 2026-02-15 13:37:49 -07:00
  • bf9087a1ce chore(release): bump version to 3.0.0 3.0.0 Andy 2026-02-15 13:04:42 -07:00
  • 23cc351f77 feat(tracks): prioritize Atmos audio tracks over higher bitrate non-Atmos Andy 2026-02-15 12:08:27 -07:00
  • 132d3549f9 fix(main): update copyright year dynamically in version display Andy 2026-02-11 16:01:33 -07:00
  • 3ee554401a feat(HLS): improve audio codec handling with error handling for codec extraction Andy 2026-02-10 08:34:54 -07:00
  • 7c1de44ea4 Merge PR #78: Add support for httpx clients in service files refactor/session-types Andy 2026-02-09 16:17:40 -07:00
  • 7f6c81aaf2 add httpx client as possible session type trivial99 2026-02-09 20:51:24 +01:00
  • 29a697a8e7 fix(tracks): close temp session and improve path type error Andy 2026-02-08 20:04:22 -07:00
  • c5b063391c fix(serve): default PlayReady access to none Andy 2026-02-08 20:00:39 -07:00
  • 5fa0b33664 revert(monalisa): pass key via argv again Andy 2026-02-08 19:51:22 -07:00
  • 5650c2b591 fix(hls): remove no-op encryption_data reassignment Andy 2026-02-08 10:43:49 -07:00
  • 5f49663ea8 fix(monalisa): harden wasm calls and license handling Andy 2026-02-08 10:39:23 -07:00
  • dd19f405a4 Add selector CodeName393 2026-02-09 02:21:04 +09:00
  • dbebf68f18 Add select-titles CodeName393 2026-02-09 02:20:26 +09:00
  • 6b8a8ba8a8 feat(cdm): normalize CDM detection for local and remote implementations Andy 2026-02-08 00:37:53 -07:00
  • b9fb928292 fix(service): redact proxy credentials in logs Andy 2026-02-07 20:36:25 -07:00
  • 984a8b9efa fix(proxies): harden surfshark and windscribe selection Andy 2026-02-07 20:34:31 -07:00
  • 71adee4ec6 fix(api): log PSSH extraction failures Andy 2026-02-07 20:29:53 -07:00
  • ee8f7cb650 docs(config): clarify sdh_method uses subtitle-filter Andy 2026-02-07 20:29:31 -07:00
  • d576174f62 fix(naming): keep technical tokens with scene_naming off Andy 2026-02-07 20:24:32 -07:00
  • 425b3764f4 fix(titles): avoid None/double spaces in HDR tokens Andy 2026-02-07 19:55:45 -07:00
  • 29f0e4eee8 fix(config): normalize playready_remote remote_cdm keys Andy 2026-02-07 19:47:21 -07:00
  • 44ea9a90a7 fix(titles): remove trailing space from HDR dynamic range label Andy 2026-02-07 19:46:35 -07:00
  • 96411e5d7d fix(hls): keep range offset numeric and align MonaLisa licensing Andy 2026-02-07 19:44:23 -07:00
  • d404f213b1 fix(dl): avoid selecting all variants when multiple audio codecs requested Andy 2026-02-07 19:37:48 -07:00
  • 6c83790834 fix(monalisa): avoid leaking secrets and add worker safety Andy 2026-02-07 19:24:15 -07:00
  • a04f1ad4db fix(gluetun): stop leaking proxy/vpn secrets to process list Andy 2026-02-07 19:22:13 -07:00
  • 774b9ba96c fix(dl): preserve proxy_query selector (not resolved URI) Andy 2026-02-07 19:09:29 -07:00