Commit Graph

  • 334ed54dce Release (nightly) master 2025.05.05 release github-actions 2025-05-05 02:26:42 +00:00
  • 30e50a78c8 [YouTube] Fix 680069a, excess min_ver dirkf 2025-05-04 12:51:54 +01:00
  • 8a9334d7c6 Release (nightly) 2025.05.04 github-actions 2025-05-04 02:31:31 +00:00
  • 5f9c3045cb [workflows/ci.yml] Move pinned Ubuntu runner images from withdrawn 20.4 to 22.04 dirkf 2025-05-03 18:33:39 +01:00
  • 5ac0c39352 [YouTube] Improve n-sig function extraction for player aa3fc80b dirkf 2025-05-02 13:49:05 +01:00
  • edf2c8ba3b [YouTube] Delete cached problem nsig cache data on descrambling error dirkf 2025-05-02 13:38:32 +01:00
  • f2a18bdba2 [YouTube] Cache signature timestamp from player JS dirkf 2025-05-02 13:31:45 +01:00
  • c8d5f63e60 [Cache] Add clear function dirkf 2025-05-02 13:17:18 +01:00
  • 26563716de [workflows/rebase-on-upstream] Automatically prefer nightly version of conflicts * rebase using ort:ours merge backend dirkf 2025-04-13 23:26:53 +01:00
  • 95a5058d81 [workflows/rebaser] Remove redundant script * replaced by ytdl-org/reverse-rebase-upstream-action dirkf 2025-04-13 23:23:43 +01:00
  • 4781fc6e5f Release (nightly) 2025.04.08 github-actions 2025-04-08 05:02:16 +00:00
  • 522e818d39 [JSInterp] Add tests and relevant functionality from yt-dlp * thx seproDev, bashonly: yt-dlp/yt-dlp#12760, yt-dlp/yt-dlp#12761: - Improve nested attribute support - Pass global stack when extracting objects - interpret_statement: Match attribute before indexing - Fix assignment to array elements with nested brackets - Add new signature tests - Invalidate JS function cache - Avoid testdata dupes now that we cache by URL dirkf 2025-04-04 12:53:28 +01:00
  • 90a6a1bc8d [JSInterp] Improve unary operators; add ! dirkf 2025-04-04 12:29:28 +01:00
  • 957e5fdbf7 [JSInterp] Add _separate_at_op() dirkf 2025-04-04 12:25:17 +01:00
  • c6e2e54797 [JSInterp] Improve JS classes, etc dirkf 2025-04-04 12:20:15 +01:00
  • 3f520e5c23 [JSInterp] Reorganise some declarations to align better with yt-dlp dirkf 2025-04-04 12:15:38 +01:00
  • 54905eb55e [InfoExtractor] Fix merging subtitles to empty target dirkf 2025-04-04 11:43:32 +01:00
  • c361f0febb [InfoExtractor] Use local variants for remaining parent method calls * ... where defined dirkf 2025-04-04 11:36:35 +01:00
  • ebe9e08f55 [YouTube] Remove remaining hard-coded API keys * no longer required for these cases dirkf 2025-04-04 11:10:29 +01:00
  • 780368fa5e [YouTube] Fix playlist continuation extraction * thx coletdjnz, bashonly: yt-dlp/yt-dlp#12777 dirkf 2025-04-04 10:58:01 +01:00
  • 29e69a565b [YouTube] Support shorts playlist * only 1..100: yt-dlp/yt-dlp#11130 dirkf 2025-04-04 10:55:32 +01:00
  • accd00b73e [cache] Use esc_rfc3986 to encode cache key dirkf 2025-04-07 16:02:10 +01:00
  • 4f41fa43df [utils] Support optional safe argument for escape_rfc3986() dirkf 2025-04-07 16:00:11 +01:00
  • 0fbbbcaafb [compat] Improve Py2 compatibility for URL Quoting dirkf 2025-04-07 15:51:03 +01:00
  • 6aebd3d7c5 [cache] Align further with yt-dlp * use compat_os_makedirs * support non-ASCII characters in cache key * improve logging dirkf 2025-04-04 04:42:14 +01:00
  • 88e21fac45 [compat] Add compat_os_makedirs * support exists_ok parameter in Py < 3.2 dirkf 2025-04-04 04:09:56 +01:00
  • 62815be3ad [core] Refactor message routines to align better with yt-dlp * in particular, support only_once in the same methods dirkf 2025-04-04 04:04:01 +01:00
  • d9d49161f8 Release (nightly) 2025.04.01 github-actions 2025-04-01 02:28:58 +00:00
  • 27c413939c [JSInterp] Temporary fix for #33102 dirkf 2025-03-31 04:21:09 +01:00
  • fa70bc1b1b Release (nightly) 2025.03.27 github-actions 2025-03-27 02:16:22 +00:00
  • 6d1be1adc4 [Misc] Correct [_]IE_DESC/NAME in a few IEs * thx seproDev, yt-dlp/yt-dlp/pull/12694/commits/ae69e3c * also add documenting comment in InfoExtractor dirkf 2025-03-26 12:47:19 +00:00
  • 8a44f081d4 [ITV] Mark ITVX not working * update old shim * correct [_]IE_DESC dirkf 2025-03-26 12:17:49 +00:00
  • 0831331cfc [YouTube] Support player 4fcd6e4a thx seproDev, bashonly: yt-dlp/yt-dlp#12748 dirkf 2025-03-26 02:27:25 +00:00
  • c1d3dd6cff [JSInterp] Use , for join() with null/undefined argument Eg: [1,2,3].join(null) -> '1,2,3' dirkf 2025-03-25 22:30:08 +00:00
  • acb1ba5b6e [YouTube] Align signature tests with yt-dlp thx bashonly, yt-dlp/yt-dlp#12725 dirkf 2025-03-25 22:18:47 +00:00
  • 95ec03a5b6 [YouTube] Update signature extraction for players 643afba4, 363db69b dirkf 2025-03-25 22:16:19 +00:00
  • 8b2d71c25c [YouTube] Support new player URL patterns dirkf 2025-03-25 22:14:08 +00:00
  • 436150b15c [JSInterp] Improve indexing * catch invalid list index with ValueError (eg [1, 2]['ab'] -> undefined) * allow assignment outside existing list (eg var l = [1,2]; l[9] = 0;) dirkf 2025-03-25 21:56:32 +00:00
  • bada72e12d [YouTube] Make _extract_player_info() use _search_regex() dirkf 2025-03-25 21:49:21 +00:00
  • 98c3644f57 [YouTube] Also get original of translated automatic captions dirkf 2025-03-25 21:41:15 +00:00
  • 348322ce81 [YouTube] Get subtitles/automatic captions from both web and API responses dirkf 2025-03-25 21:39:31 +00:00
  • 236779db4b Release (nightly) 2025.03.22 github-actions 2025-03-22 02:12:34 +00:00
  • 6e000ecb8f [YouTube] Improve support for tce-style player JS * improve extraction of global "useful data" Array from player JS * also handle tv-player and add tests: thx seproDev (yt-dlp/yt-dlp#12684) dirkf 2025-03-21 16:26:25 +00:00
  • 06f49d8255 [YouTube] Update player client data thx seproDev (yt-dlp/yt-dlp#12603) dirkf 2025-03-21 16:13:24 +00:00
  • 347b2cae37 Release (nightly) 2025.03.11 github-actions 2025-03-11 02:14:02 +00:00
  • 958c51a465 [JSInterp] Improve tests * from yt-dlp/yt-dlp#12313 * also fix d7c2708 dirkf 2025-03-10 11:44:06 +00:00
  • bf59b7e405 [YouTube] Update TVHTML5 client parameters * resolves #33078 dirkf 2025-03-07 21:03:54 +00:00
  • f7f6576e34 [YouTube] Initially support tce-style player JS * resolves #33079 dirkf 2025-03-07 21:02:28 +00:00
  • 75e03432c8 [YouTube] Temporarily redirect from tce-style player JS dirkf 2025-03-07 20:00:58 +00:00
  • 2271f3a733 [JSInterp] Make indexing error handling more conformant * by default TypeError -> undefined, else raise * set allow_undefined=True/False to override dirkf 2025-03-07 19:40:53 +00:00
  • c63f0ae241 [JSInterp] Handle undefined, etc, passed to JS_RegExp and Exception dirkf 2025-03-07 19:37:56 +00:00
  • 26055bd4e8 [JSInterp] Improve Date processing * add JS_Date class implementing JS Date * support constructor args other than date string * support static methods of Date * Date objects are still automatically coerced to timestamp before using in JS. dirkf 2025-03-07 19:32:56 +00:00
  • 7948dc474e [compat] Fix inheriting from compat_collections_chain_map * see ytdl-org/youtube-dl#33079#issuecomment-2704038049 dirkf 2025-03-07 19:17:18 +00:00
  • 56f1257ddc [compat] Support zstd Content-Encoding * see RFC 8878 7.2 dirkf 2025-03-02 13:36:05 +00:00
  • 1a0259e72f [compat] Clean-up * make workaround_optparse_bug9161 private * add comments * avoid leaving test objects behind dirkf 2025-03-07 23:03:17 +00:00
  • 6028c6ed43 Release (nightly) 2025.02.28 github-actions 2025-02-28 02:11:33 +00:00
  • f91056f798 [YouTube] Fix 91b1569 dirkf 2025-02-28 01:02:20 +00:00
  • 48c52f115f [YouTube] Fix channel playlist extraction (#33074) dirkf 2025-02-28 00:02:10 +00:00
  • 14e5340815 Release (nightly) 2025.02.07 github-actions 2025-02-07 02:08:00 +00:00
  • cb0b3fbd25 [JSInterp] Fix bit-shift coercion for player 9c6dfc4a dirkf 2025-02-06 21:09:00 +00:00
  • 14e19cb271 [compat] Make casefold private * if required, not supported: from youtube_dl.casefold import _casefold as casefold dirkf 2025-02-03 18:10:15 +00:00
  • 8d8113214b Release (nightly) 2025.01.23 github-actions 2025-01-23 02:05:17 +00:00
  • ab886b70c3 [YouTube] Use X-Goog-Visitor-Id * required with tv player client * resolves #33030 dirkf 2025-01-22 06:52:40 +00:00
  • e0d77fdfa8 Release (nightly) 2025.01.21 github-actions 2025-01-21 02:05:14 +00:00
  • 02d4bc2b16 [YouTube] Retain .videoDetails members from all player responses dirkf 2025-01-20 13:23:54 +00:00
  • 969d556f04 [YouTube] Also use ios client when is_live dirkf 2025-01-19 01:18:34 +00:00
  • 9d4eb121e4 Release (nightly) 2025.01.16 github-actions 2025-01-16 02:04:29 +00:00
  • 4cee94f37c [YouTube] Support ... /feeds/videos.xml?playlist_id={pl_id} dirkf 2025-01-15 03:22:56 +00:00
  • 11e30e4d97 [YouTube] Switch to TV API client * thx yt-dlp/yt-dlp#12059 dirkf 2025-01-15 03:19:15 +00:00
  • c578dded4d Release (nightly) 2025.01.06 github-actions 2025-01-06 02:12:44 +00:00
  • 8e115f51a6 [YouTube] Endure subtitle URLs are complete * WEB URLs are, MWEB not * resolves #33017 dirkf 2025-01-06 01:39:04 +00:00
  • aed66e9db6 [YouTube] Refactor subtitle processing * move to internal function * use traverse-obj() dirkf 2025-01-06 01:24:30 +00:00
  • 9685aeada4 [YouTube] Apply code style changes, trailing commas, etc dirkf 2025-01-06 01:22:16 +00:00
  • f36cd2ed70 Release (nightly) 2025.01.01 github-actions 2025-01-01 02:15:41 +00:00
  • 7b30fac8ef [YouTube] Avoid early crash if webpage can't be read * see issue #33013 dirkf 2024-12-31 14:51:29 +00:00
  • 571f7161b6 Release (nightly) 2024.12.17 github-actions 2024-12-17 02:18:40 +00:00
  • f4005ef9ad [YouTube] Always extract using MWEB API client * temporary fix-up for 403 on download * MWEB parameters from yt-dlp 2024-12-06 dirkf 2024-12-14 11:18:34 +00:00
  • cea10d9dec [YouTube] Fix signature function extraction for 2f1832d2 * _ was omitted from patterns * thx yt-dlp/yt-dlp#11801 dirkf 2024-12-13 12:16:31 +00:00
  • ac6f6a96ba [YouTube] Simplify pattern for nsig function name extraction dirkf 2024-12-13 03:09:29 +00:00
  • 73ca0f231c [YouTube] Pass nsig value as return hook, fixes player 3bb1f723 dirkf 2024-12-12 04:38:23 +00:00
  • fa29cc7468 [YouTube] Handle player 3bb1f723 * fix signature code extraction * raise if n function returns input value * add new tests from yt-dlp dirkf 2024-12-07 03:39:44 +00:00
  • 1733d083bb [jsinterp] Add return hook for player 3bb1f723 * set var _ytdl_do_not_return to a specific value in the scope of a function * if an expression to be returned has that value, return becomes void dirkf 2024-12-12 04:29:13 +00:00
  • 2ff4df0321 [jsinterp] Strip /* comments */ when parsing * NB: _separate() is looking creaky dirkf 2024-12-12 04:21:53 +00:00
  • 635f0f4edb [jsinterp] Fix and improve "methods" * push, unshift return new length * impove edge cases for push/pop, shift/unshift, forEach, indexOf, charCodeAt * increase test coverage dirkf 2024-12-12 04:16:07 +00:00
  • f107a6795d [jsinterp] Fix and improve split/join * improve split/join edge cases * correctly implement regex split (not like re.split) dirkf 2024-12-12 04:13:06 +00:00
  • 70cee6a49e [jsinterp] Fix and improve arithmetic operations * addition becomes concat with a string operand * improve handling of edgier cases * arithmetic in float like JS (more places need cast to int?) * increase test coverage dirkf 2024-12-12 00:26:00 +00:00
  • cc5f94d02b [jsinterp] Support multiple indexing (eg a[1][2]) * extend single indexing with improved RE (should probably use/have used _separate_at_paren()) * fix some cases that should have given undefined, not throwing * standardise RE group names * support length of objects, like {1: 2, 3: 4, length: 42} dirkf 2024-12-12 00:15:31 +00:00
  • 79b9dbb23f [jsinterp] Fix and improve loose and strict equality operations * reimplement loose equality according to MDN (eg, 1 == "1") * improve strict equality (eg, "abc" === "abc" but 'abc' is not 'abc') * add tests for above dirkf 2024-12-12 00:00:32 +00:00
  • 357634af09 [jsinterp] Implement typeof operator dirkf 2024-12-07 03:37:39 +00:00
  • 3049cf905f [InfoExtractor] Use kwarg maxsplit for re.split * May become kw-only in future Pythons dirkf 2024-12-12 04:46:33 +00:00
  • 7d9ffeeb53 Release (nightly) 2024.08.07 github-actions 2024-08-07 01:58:04 +00:00
  • c5cf21d9ef [Youtube] Rework n function extraction pattern Now also succeeds with player b12cc44b dirkf 2024-08-06 20:59:09 +01:00
  • 4985bc4e74 [jsinterp] Improve slice implementation for player b12cc44b dirkf 2024-08-06 20:44:30 +01:00
  • f3c9c02e4c Release (nightly) 2024.08.02 github-actions 2024-08-02 01:55:40 +00:00
  • 4ddd37d2b3 [Youtube] Fix nsig extraction for player 20dfca59 (#32891) Aiur Adept 2024-08-01 14:18:34 -04:00
  • 90a427ca3d Release (nightly) 2024.07.25 github-actions 2024-07-25 01:55:24 +00:00
  • 562355837b [Youtube] Find n function name in player 3400486c dirkf 2024-07-24 14:45:52 +01:00
  • 39f96e3443 [Youtube] Make n-sig throttling diagnostic up-to-date dirkf 2024-07-24 14:33:34 +01:00
  • 8d26745139 Release (nightly) 2024.07.11 github-actions 2024-07-11 01:54:43 +00:00
  • 7549629489 [YouTube] Fix nsig processing for player b22ef6e7 * improve extraction of function name (like yt-dlp/yt-dlp#10390) * always use JSInterp to extract function code (yt-dlp/yt-dlp#10396, thx seproDev, pukkandan) dirkf 2024-07-10 18:20:59 +01:00