Commit Graph

  • f26f9bcbe2 feat(video): normalize SPS VUI to match manifest-derived range dev imSp4rky 2026-05-16 13:55:05 -06:00
  • ead88fe066 feat(hls): detect DV-composite tracks and restore signaling post-mux imSp4rky 2026-05-16 13:52:57 -06:00
  • b4d422459c refactor(hybrid): extract dovi_tool and run_step helpers imSp4rky 2026-05-16 13:50:55 -06:00
  • cda8120b6d fix(title): use original-language audio for filename metadata imSp4rky 2026-05-16 10:54:24 -06:00
  • c0dc1eb91f docs(output): document muxing.default_language override imSp4rky 2026-05-15 08:22:45 -06:00
  • ccf8bafaf7 feat(mux): add muxing.default_language to override default track per type imSp4rky 2026-05-14 14:24:23 -06:00
  • 0aca0e8888 feat(dl): cache content keys in-memory to skip duplicate license requests imSp4rky 2026-05-14 11:58:31 -06:00
  • 60441f05c4 fix(title): detect Atmos across all audio tracks for filename template imSp4rky 2026-05-14 10:22:55 -06:00
  • 82ab996777 fix(dl): prefer Atmos in -l best/all language selection imSp4rky 2026-05-14 10:00:25 -06:00
  • c0929bf217 fix(template_formatter): preserve dash separator around empty conditional imSp4rky 2026-05-12 08:24:31 -06:00
  • 20c15f761b fix(proxies/nordvpn): use *.proxy.nordvpn.com for HTTPS proxy imSp4rky 2026-05-11 09:55:48 -06:00
  • 9e4fdcdcd8 fix(dl): re-pick DV/HDR10 when HYBRID falls back under best_available imSp4rky 2026-05-10 11:04:29 -06:00
  • 7fb88e9a97 docs: update docs to match current codebase imSp4rky 2026-05-08 17:54:45 -06:00
  • 4c981e2ffd fix(tracks): honor --worst in hybrid range selection imSp4rky 2026-05-08 15:37:09 -06:00
  • 5984eefcbe fix(sanitize): preserve parentheses, strip unidecode bracket artifacts (#105) feat/music-enhancements imSp4rky 2026-05-05 08:39:38 -06:00
  • 08c0862691 fix(manifests): clean stale .!dev resume markers before merge imSp4rky 2026-05-04 22:51:45 -06:00
  • db313a8ee2 refactor(routes, subtitle, track): improve code readability by formatting list structures imSp4rky 2026-05-04 22:21:03 -06:00
  • a7af898617 feat(ip-info): consolidate IP lookup, add ipinfo.io token support imSp4rky 2026-05-04 22:20:43 -06:00
  • 8f4cac6c7b chore(pre-commit): update hook versions in .pre-commit-config.yaml imSp4rky 2026-05-04 22:20:02 -06:00
  • fd6aafc068 chore(release): bump version to 5.0.0 5.0.0 imSp4rky 2026-05-04 16:12:53 -06:00
  • 7b7255dec0 feat(docs): add AGENTS.md to .gitignore imSp4rky 2026-05-04 15:49:53 -06:00
  • d5237371e5 feat(dl): add --no-proxy-download flag imSp4rky 2026-05-03 13:18:53 -06:00
  • 21754ad37e feat(config): per-title-type folder templates imSp4rky 2026-04-30 10:51:32 -06:00
  • 605b46f723 perf(downloader): parallel byte-range fetch for single-URL tracks imSp4rky 2026-04-29 23:34:56 -06:00
  • b3a8a531e6 feat(kv): add --local-only flag to copy/sync imSp4rky 2026-04-29 17:43:11 -06:00
  • 07881d78c2 feat(kv): add search subcommand to look up KID across vaults imSp4rky 2026-04-28 15:02:19 -06:00
  • 2f7a189c9c fix(hls): carry DRM keys forward across EXT-X-KEY rotation imSp4rky 2026-04-28 09:28:21 -06:00
  • ffd67f15d8 fix(drm): pass per-segment PSSH to Widevine license callback imSp4rky 2026-04-27 20:04:07 -06:00
  • 8fff3dc422 Merge branch 'dev' of https://github.com/unshackle-dl/unshackle into dev imSp4rky 2026-04-26 16:33:26 -06:00
  • fbc4aa2c4d fix(drm): pass per-segment PSSH to PlayReady license callback imSp4rky 2026-04-26 16:33:16 -06:00
  • 0538f85ff7 Merge pull request #102 from CodeName393/Fix-Rnet-dict-type-error sp4rk.y 2026-04-26 12:48:24 -06:00
  • bddb305c5d feat(session): Optimize header handling in session requests CodeName393 2026-04-25 14:53:07 +09:00
  • a7f67c8b77 Merge pull request #103 from CodeName393/Add-base58 sp4rk.y 2026-04-24 11:52:48 -06:00
  • b1158099d1 fix(dash): expand CICP enums to full H.273 range imSp4rky 2026-04-24 11:50:27 -06:00
  • 831981a56e Add(Base58): encoding and decoding functions CodeName393 2026-04-24 23:57:24 +09:00
  • 9dbdf9804f Fix(session): header handling in session request method CodeName393 2026-04-24 23:54:24 +09:00
  • 776be128a7 chore: update version to 5.0.0 imSp4rky 2026-04-21 11:24:12 -06:00
  • 096288bd37 Merge pull request #100 from JohnVeness/dl sp4rk.y 2026-04-21 11:12:14 -06:00
  • e2e56d7065 dl.py: Improve English in the help text John Veness 2026-04-18 13:28:45 +01:00
  • 982f821f19 fix(dash): deduplicate multi-period SegmentBase segments imSp4rky 2026-04-13 16:44:35 +00:00
  • c56a92ed0c feat(track): add optional per-track session parameter (#96) imSp4rky 2026-04-12 16:41:43 -06:00
  • cb3535215d fix(dl): always report full error trace for download worker failures imSp4rky 2026-04-12 22:32:23 +00:00
  • 4179b9045e fix(tags): prevent metadata lookup failures from skipping group tag imSp4rky 2026-04-12 22:21:02 +00:00
  • 2e7fc1720d fix(drm): handle non-UTF-8 output from shaka-packager stderr imSp4rky 2026-04-12 22:19:44 +00:00
  • 8bdb942234 feat(dl): add download resume support via HTTP Range headers imSp4rky 2026-04-12 11:40:15 -06:00
  • 8f4f947d0d fix(api): sync REST API download endpoint with updated dl command (#98) imSp4rky 2026-04-08 23:04:58 -06:00
  • 50d2b127ec style: apply ruff linting fixes across codebase imSp4rky 2026-04-08 22:09:19 -06:00
  • 725edd59e0 fix(gluetun): support WireGuard VPN ready detection imSp4rky 2026-04-08 22:05:56 -06:00
  • c5aa57c9db fix(dash): add SIDX parsing for SegmentBase manifests and deduplicate multi-period segments imSp4rky 2026-04-06 02:45:17 +00:00
  • fef68202e9 fix(dl): preserve per-language video selection in quality step imSp4rky 2026-04-04 09:56:20 -06:00
  • c051d9df23 ci(security): add Bandit pre-commit hook imSp4rky 2026-04-02 13:23:26 -06:00
  • e10dbeed94 fix(api): sanitize user-provided values in log statements to prevent log injection imSp4rky 2026-04-02 12:10:46 -06:00
  • 0ebf9278d1 fix(deps): bump aiohttp and pygments to resolve 11 security vulnerabilities imSp4rky 2026-04-02 11:44:54 -06:00
  • bb0a800ab6 docs(api): update --export from string path to boolean flag imSp4rky 2026-04-02 11:27:39 -06:00
  • fabc96ba1b feat(dl): change --export flag with manifest URL, subtitles, and track info imSp4rky 2026-04-02 10:29:22 -06:00
  • 655e4197c3 fix(session): native rnet proxy support and cookie compat layer imSp4rky 2026-04-01 17:08:25 -06:00
  • 3aaca77c48 feat(serve): add service allowlist for global and per-user access control imSp4rky 2026-03-31 23:06:07 -06:00
  • 8a714d6455 fix(template): detect folder spacer from template separators, not raw string imSp4rky 2026-03-31 09:13:44 -06:00
  • 5e801580a3 fix(hybrid): read actual HDR metadata for HDR10+ to DV conversion imSp4rky 2026-03-30 17:02:06 -06:00
  • 47b3390bd0 feat(dl): allow --slow to accept custom delay range imSp4rky 2026-03-30 16:25:29 -06:00
  • c7fd2a904c Merge branch 'dev' of https://github.com/unshackle-dl/unshackle into dev imSp4rky 2026-03-29 23:46:28 -06:00
  • 13ebdddaf4 Merge branch 'main' into dev imSp4rky 2026-03-29 23:45:53 -06:00
  • d37a1a514f chore(gitignore): ignore binary files in unshackle/binaries/ imSp4rky 2026-03-30 05:27:37 +00:00
  • ccc494be06 Merge branch 'feat/unified-downloader' into dev imSp4rky 2026-03-30 05:24:09 +00:00
  • d3594ca67c fix(remote): forward track selection params to server and improve error display imSp4rky 2026-03-30 05:20:32 +00:00
  • 1a6f2c5b7e fix(serve): allow remote-only mode without output_template and fix CORS/auth for Cloudflare imSp4rky 2026-03-30 04:36:23 +00:00
  • 3d5e46a2e3 feat(hls): probe TS segments for resolution and codec when master playlist lacks RESOLUTION/CODECS tags imSp4rky 2026-03-29 15:50:07 -06:00
  • 5a3ac81ff9 feat(session): translate requests 'data' kwarg to rnet equivalents for compatibility Andy 2026-03-26 16:36:35 -06:00
  • e323f6f3b3 feat(template): add configurable folder naming via output_template.folder (#94) Andy 2026-03-25 21:42:47 -06:00
  • 10cca7d0ea fix(sanitize): restore parentheses stripping in filename sanitization (#93) Andy 2026-03-25 19:46:00 -06:00
  • 7358619a40 fix(deps): bump PyJWT minimum to 2.12.0 for CVE-2026-32597 Andy 2026-03-25 15:16:21 -06:00
  • b524585d78 fix(drm): add zero-KID fallback for mp4decrypt and clear HLS track.drm after download Andy 2026-03-19 18:43:43 -06:00
  • 1a636d3db5 fix(drm): add zero-KID fallback for mp4decrypt and clear HLS track.drm after download feat/cross-mux Andy 2026-03-19 18:43:43 -06:00
  • fe1ccd085c Revert "fix(drm): add track ID fallback for mp4decrypt CBCS zero-KID content" main Andy 2026-03-25 14:39:08 -06:00
  • 23466cae8b fix(drm): add track ID fallback for mp4decrypt CBCS zero-KID content Andy 2026-03-25 14:36:26 -06:00
  • c930abc6fd fix(subtitle): decompress gzip/zlib responses for subtitle downloads Andy 2026-03-24 17:44:23 -06:00
  • 99be88dc08 feat(session): replace curl_cffi with rnet for TLS-fingerprinted HTTP Andy 2026-03-24 10:08:17 -06:00
  • 6840944738 perf(downloader): optimize hot loop and threading efficiency Andy 2026-03-23 18:17:12 -06:00
  • 006d080416 feat(downloader): optimize download throughput with Queue-based threading and raw reads Andy 2026-03-23 17:20:26 -06:00
  • 732709d3a9 feat(remote): interactive auth handshake, server CDM, cache round-trip, and serve remote-only mode Andy 2026-03-22 22:44:36 -06:00
  • 1ad226fbcf feat(remote): server vault lookups, service CDM mapping, key display, and service param forwarding Andy 2026-03-20 21:13:56 -06:00
  • 51d6921eaf fix(drm): include external KID in PSSH when it differs from existing KIDs Andy 2026-03-20 12:48:49 -06:00
  • dc197af29e feat(dash): refactor segment extraction and add content period validation Andy 2026-03-20 12:47:49 -06:00
  • 561a609040 fix(audio): support 'xheaac' profile Andy 2026-03-20 10:34:49 -06:00
  • a21c32df5d feat(dl): add --vbitrate-range and --abitrate-range options for bitrate range selection Andy 2026-03-20 10:34:26 -06:00
  • 2f721266f0 Merge branch 'main' into dev Andy 2026-03-19 20:36:55 -06:00
  • faaaf08bd5 fix(drm): add zero-KID fallback for mp4decrypt and clear HLS track.drm after download Andy 2026-03-19 18:43:43 -06:00
  • c323db9481 feat(downloader): consolidate into unified requests-based downloader Andy 2026-03-19 18:13:43 -06:00
  • 4c55f7af5b docs: update API and configuration documentation with example service tags Andy 2026-03-19 12:55:39 -06:00
  • e9dbe3f0ac Merge branch 'dev' of https://github.com/unshackle-dl/unshackle into dev Andy 2026-03-19 12:38:40 -06:00
  • b3b67b0c96 feat(session): add IP validation for session access and enhance session management Andy 2026-03-19 12:38:33 -06:00
  • 313efe5b03 Rename remote-services-flow.md to REMOTE-SERVICES-FLOW.md Sp5rky 2026-03-19 12:13:45 -06:00
  • 9d21d8a246 feat(remote): fetch service list and CLI options from server for --remote help Andy 2026-03-19 00:06:36 -06:00
  • 61ee5cb10a feat(remote): add zlib compression for API payloads and gzip transport Andy 2026-03-18 23:47:06 -06:00
  • b420e2bd08 refactor(remote): deduplicate CDM loading, proxy resolution, and license handling Andy 2026-03-18 22:54:11 -06:00
  • b1a5f8f37f feat(remote): add server-CDM mode, manifest transfer, and region-aware proxy Andy 2026-03-18 19:30:59 -06:00
  • 7fafdf024c fix(drm): preserve original PSSH for content_id-based Widevine manifests Andy 2026-03-18 11:06:04 -06:00
  • 96911cb626 Merge branch 'dev' of https://github.com/unshackle-dl/unshackle into dev Andy 2026-03-17 16:54:35 -06:00
  • e994c483c5 Merge pull request #92 from unshackle-dl/feat/remote-services Sp5rky 2026-03-17 16:53:59 -06:00
  • f86d4e7937 docs(dl): add comprehensive list of available dl keys and their descriptions Andy 2026-03-17 09:27:52 -06:00