dirkf
							
						 
						
							 
							
							
							
								
							
								3a42f6ad37 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Cache signature timestamp from player JS  
							
							 
							
							... 
							
							
							
							* if the YT webpage can't be loaded, getting the `sts` requires loading the
player JS: this caches it
* based on yt-dlp/yt-dlp#13047 , thx bashonly 
							
						 
						
							2025-05-03 00:09:21 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								ec75141bf0 
								
							
								 
							
						 
						
							
							
								
								[Cache] Add `clear` function  
							
							 
							
							
							
						 
						
							2025-05-03 00:09:20 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								c052a16f72 
								
							
								 
							
						 
						
							
							
								
								[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
* rework nsig function name search
* fully fixes  #33102 
* update cache required versions
* update program version 
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								bd2ded59f2 
								
							
								 
							
						 
						
							
							
								
								[JSInterp] Improve unary operators; add `!`  
							
							 
							
							
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								16b7e97afa 
								
							
								 
							
						 
						
							
							
								
								[JSInterp] Add `_separate_at_op()`  
							
							 
							
							
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								d21717978c 
								
							
								 
							
						 
						
							
							
								
								[JSInterp] Improve JS classes, etc  
							
							 
							
							
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								7513413794 
								
							
								 
							
						 
						
							
							
								
								[JSInterp] Reorganise some declarations to align better with yt-dlp  
							
							 
							
							
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								67dbfa65f2 
								
							
								 
							
						 
						
							
							
								
								[InfoExtractor] Fix merging subtitles to empty target  
							
							 
							
							
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								6eb6d6dff5 
								
							
								 
							
						 
						
							
							
								
								[InfoExtractor] Use local variants for remaining parent method calls  
							
							 
							
							... 
							
							
							
							* ... where defined 
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								6c40d9f847 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Remove remaining hard-coded API keys  
							
							 
							
							... 
							
							
							
							* no longer required for these cases 
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								1b08d3281d 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Fix playlist continuation extraction  
							
							 
							
							... 
							
							
							
							* thx coletdjnz, bashonly: yt-dlp/yt-dlp#12777  
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								32b8d31780 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Support shorts playlist  
							
							 
							
							... 
							
							
							
							* only 1..100: yt-dlp/yt-dlp#11130  
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								570b868078 
								
							
								 
							
						 
						
							
							
								
								[cache] Use `esc_rfc3986` to encode cache key  
							
							 
							
							
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								2190e89260 
								
							
								 
							
						 
						
							
							
								
								[utils] Support optional `safe` argument for `escape_rfc3986()`  
							
							 
							
							
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								7e136639db 
								
							
								 
							
						 
						
							
							
								
								[compat] Improve Py2 compatibility for URL Quoting  
							
							 
							
							
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								cedeeed56f 
								
							
								 
							
						 
						
							
							
								
								[cache] Align further with yt-dlp  
							
							 
							
							... 
							
							
							
							* use compat_os_makedirs
* support non-ASCII characters in cache key
* improve logging 
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								add4622870 
								
							
								 
							
						 
						
							
							
								
								[compat] Add compat_os_makedirs  
							
							 
							
							... 
							
							
							
							* support exists_ok parameter in Py < 3.2 
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								9a6ddece4d 
								
							
								 
							
						 
						
							
							
								
								[core] Refactor message routines to align better with yt-dlp  
							
							 
							
							... 
							
							
							
							* in particular, support `only_once` in the same methods 
							
						 
						
							2025-04-08 01:59:00 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
								
								
							
							
								
							
								3eb8d22ddb 
								
									
								
							
								 
							
						 
						
							
							
								
								[JSInterp] Temporary fix for  #33102  
							
							 
							
							
							
						 
						
							2025-03-31 04:21:09 +01:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								4e714f9df1 
								
							
								 
							
						 
						
							
							
								
								[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` 
							
						 
						
							2025-03-26 12:47:19 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								c1ea7f5a24 
								
							
								 
							
						 
						
							
							
								
								[ITV] Mark ITVX not working  
							
							 
							
							... 
							
							
							
							* update old shim
* correct [_]IE_DESC 
							
						 
						
							2025-03-26 12:17:49 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								2b4fbfce25 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Support player `4fcd6e4a`  
							
							 
							
							... 
							
							
							
							thx seproDev, bashonly: yt-dlp/yt-dlp#12748  
							
						 
						
							2025-03-26 02:27:25 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								1bc45b8b6c 
								
							
								 
							
						 
						
							
							
								
								[JSInterp] Use `,` for join() with null/undefined argument  
							
							 
							
							... 
							
							
							
							Eg: [1,2,3].join(null) -> '1,2,3' 
							
						 
						
							2025-03-25 22:35:06 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								b982d77d0b 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Align signature tests with yt-dlp  
							
							 
							
							... 
							
							
							
							thx bashonly, yt-dlp/yt-dlp#12725  
							
						 
						
							2025-03-25 22:35:06 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								c55dbf4838 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Update signature extraction for players `643afba4`, `363db69b`  
							
							 
							
							
							
						 
						
							2025-03-25 22:35:06 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								087d865230 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Support new player URL patterns  
							
							 
							
							
							
						 
						
							2025-03-25 22:35:06 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								a4fc1151f1 
								
							
								 
							
						 
						
							
							
								
								[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;) 
							
						 
						
							2025-03-25 22:35:05 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								a464c159e6 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Make `_extract_player_info()` use `_search_regex()`  
							
							 
							
							
							
						 
						
							2025-03-25 22:35:05 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								7dca08eff0 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Also get original of translated automatic captions  
							
							 
							
							
							
						 
						
							2025-03-25 22:35:05 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								2239ee7965 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Get subtitles/automatic captions from both web and API responses  
							
							 
							
							
							
						 
						
							2025-03-25 22:35:05 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								da7223d4aa 
								
							
								 
							
						 
						
							
							
								
								[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 )
Co-Authored-By: sepro <sepro@sepr0.com> 
							
						 
						
							2025-03-21 16:26:25 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								37c2440d6a 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Update player client data  
							
							 
							
							... 
							
							
							
							thx seproDev (yt-dlp/yt-dlp#12603 )
Co-authored-by: sepro <sepro@sepr0.com> 
							
						 
						
							2025-03-21 16:13:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								420d53387c 
								
							
								 
							
						 
						
							
							
								
								[JSInterp] Improve tests  
							
							 
							
							... 
							
							
							
							* from yt-dlp/yt-dlp#12313 
* also fix d7c2708 
							
						 
						
							2025-03-11 02:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								32f89de92b 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Update TVHTML5 client parameters  
							
							 
							
							... 
							
							
							
							* resolves  #33078  
							
						 
						
							2025-03-11 02:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								283dca56fe 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Initially support tce-style player JS  
							
							 
							
							... 
							
							
							
							* resolves  #33079  
							
						 
						
							2025-03-11 02:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								422b1b31cf 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Temporarily redirect from tce-style player JS  
							
							 
							
							
							
						 
						
							2025-03-11 02:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								1dc27e1c3b 
								
							
								 
							
						 
						
							
							
								
								[JSInterp] Make indexing error handling more conformant  
							
							 
							
							... 
							
							
							
							* by default TypeError -> undefined, else raise
* set allow_undefined=True/False to override 
							
						 
						
							2025-03-11 02:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								af049e309b 
								
							
								 
							
						 
						
							
							
								
								[JSInterp] Handle undefined, etc, passed to JS_RegExp and Exception  
							
							 
							
							
							
						 
						
							2025-03-11 02:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								94849bc997 
								
							
								 
							
						 
						
							
							
								
								[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. 
							
						 
						
							2025-03-11 02:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								974c7d7f34 
								
							
								 
							
						 
						
							
							
								
								[compat] Fix inheriting from compat_collections_chain_map  
							
							 
							
							... 
							
							
							
							* see ytdl-org/youtube-dl#33079#issuecomment-2704038049 
							
						 
						
							2025-03-11 02:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								8738407d77 
								
							
								 
							
						 
						
							
							
								
								[compat] Support zstd Content-Encoding  
							
							 
							
							... 
							
							
							
							* see RFC 8878 7.2 
							
						 
						
							2025-03-11 02:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								cecaa18b80 
								
							
								 
							
						 
						
							
							
								
								[compat] Clean-up  
							
							 
							
							... 
							
							
							
							* make workaround_optparse_bug9161 private
* add comments
* avoid leaving test objects behind 
							
						 
						
							2025-03-11 02:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
								
								
							
							
								
							
								673277e510 
								
									
								
							
								 
							
						 
						
							
							
								
								[YouTube] Fix  91b1569 
							
							 
							
							
							
						 
						
							2025-02-28 01:02:20 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
								
								
							
							
								
							
								91b1569f68 
								
									
								
							
								 
							
						 
						
							
							
								
								[YouTube] Fix channel playlist extraction ( #33074 )  
							
							 
							
							... 
							
							
							
							* [YouTube] Extract playlist items from LOCKUP_VIEW_MODEL_...
* resolves  #33073 
* thx seproDev (yt-dlp/yt-dlp#11615 )
Co-authored-by: sepro <sepro@sepr0.com> 
							
						 
						
							2025-02-28 00:02:10 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								711e72c292 
								
							
								 
							
						 
						
							
							
								
								[JSInterp] Fix bit-shift coercion for player 9c6dfc4a  
							
							 
							
							
							
						 
						
							2025-02-07 00:01:50 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								26b6f15d14 
								
							
								 
							
						 
						
							
							
								
								[compat] Make casefold private  
							
							 
							
							... 
							
							
							
							* if required, not supported:
`from youtube_dl.casefold import _casefold as casefold` 
							
						 
						
							2025-02-07 00:01:50 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								5975d7bb96 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Use X-Goog-Visitor-Id  
							
							 
							
							... 
							
							
							
							* required with tv player client
* resolves  #33030  
							
						 
						
							2025-01-22 06:52:40 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								63fb0fc415 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Retain .videoDetails members from all player responses  
							
							 
							
							
							
						 
						
							2025-01-20 13:23:54 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								b09442a2f4 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Also use ios client when is_live  
							
							 
							
							
							
						 
						
							2025-01-19 01:18:34 +00:00  
						
					 
				
					
						
							
							
								 
								dirkf
							
						 
						
							 
							
							
							
								
							
								55ad8a24ca 
								
							
								 
							
						 
						
							
							
								
								[YouTube] Support `... /feeds/videos.xml?playlist_id={pl_id}`  
							
							 
							
							
							
						 
						
							2025-01-15 03:22:56 +00:00