Commit Graph

23502 Commits (cf738860b77c46d130b736eadf067cbfa862346c)
 

Author SHA1 Message Date
Yuan-Yi Chang cf738860b7 [ie/youtube] Allow fallback parsing for global nsig helpers
This makes _extract_js_function a true “last-resort” parser while the normal path keeps depending on JSInterpreter.extract_function_code.

  - _fixup_n_function_code now tries to extract helper signatures with JSInterpreter(jscode).extract_function_code(...) first; only when that raises JSInterpreter.Exception do we fall back to the legacy _extract_js_function(...) string parser. Successful inlines keep the existing debug and caching behaviour (yt_dlp/extractor/youtube/_video.py:2416-2440).
  - _extract_js_function is reduced to a pure fallback: it parses var|let|const foo = function(...) {...} with a regex and no longer re-enters JSInterpreter, avoiding duplicated work (yt_dlp/extractor/youtube/_video.py around line 2449).

Global Helper Inline Loop

  We also rely on the while True retry loop inside _fixup_n_function_code to progressively inline missing dependencies:

  1. Execute the candidate nsig implementation via JSInterpreter. If nothing is missing, the loop exits immediately.
  2. When execution raises errors such as “Could not find object CI”, we capture the helper name from the message, extract that helper (CI, OB5, nq5, …), and prepend var helper = function(...) { ... }; to fixed_code.
  3. With the helper injected we retry the interpreter; if another dependency is missing we repeat this process until no more Could not find … errors occur (or an unhandled exception surfaces).
  4. After the loop, any residual names collected in jsi._undefined_varnames are handled by the follow-up for func_name in global_funcnames: pass, which inlines whatever helpers the interpreter still flagged.

Together these steps guarantee that all global functions referenced by the nsig routine are made available before execution, giving the interpreter a stable environment even when YouTube reshuffles helper definitions.
2 days ago
github-actions[bot] 4429fd0450 Release 2025.09.23
Created by: bashonly

:ci skip all
3 days ago
bashonly 2e81e298cd
[cleanup] Misc (#14268)
Closes #13427
Authored by: bashonly, seproDev, doe1080

Co-authored-by: sepro <sepro@sepr0.com>
Co-authored-by: doe1080 <98906116+doe1080@users.noreply.github.com>
3 days ago
sepro 7f5d9f8543
[ie/youtube] Force player `0004de42` (#14398)
Closes #14400
Authored by: seproDev
3 days ago
sepro f8750504c2
[ie/twitch:clips] Fix extractor (#14397)
Closes #14396
Authored by: seproDev
4 days ago
sepro 8821682f15
[docs] Establish AI/LLM contribution policy (#14194)
Authored by: seproDev, bashonly

Co-authored-by: bashonly <88596187+bashonly@users.noreply.github.com>
5 days ago
sepro 08d7899683
[cleanup] Deprecate various options (#13821)
Closes #14198, Closes #12909
Authored by: seproDev
5 days ago
sepro 98b6b0d339
[utils] `mimetype2ext`: Recognize `vnd.dlna.mpeg-tts` (#14388)
Closes #14386
Authored by: seproDev
5 days ago
sepro bf5d18016b
[ie/vk:uservideos] Support alternate URL format (#14376)
Closes #11793
Authored by: seproDev
7 days ago
sepro 4bc19adc87
[ie/ttinglive] Adapt FlexTV extractor to new domain (#14375)
Closes #14342
Authored by: seproDev
7 days ago
sepro b2c01d0498
[ie/applepodcast] Fix extractor (#14372)
Closes #14368
Authored by: seproDev
7 days ago
bashonly e123a48f11
[ie/telecinco] Support browser impersonation (#14351)
Closes #14349
Authored by: bashonly
1 week ago
bashonly 820c6e2445
[ie/mitele] Remove extractor (#14348)
Closes #13535
Authored by: bashonly
1 week ago
thegymguy 677997d84e
[ie/xhamster] Fix extractor (#14345)
Fix a1c98226a4

Closes #14145
Authored by: arand, thegymguy

Co-authored-by: arand <183498+arand@users.noreply.github.com>
1 week ago
sepro b81e9272dc
[ie/vk] Support vksport URLs (#14341)
Closes #14175
Authored by: seproDev
1 week ago
bashonly df4b4e8ccf
[build] Use PyInstaller 6.16 for Windows (#14318)
Authored by: bashonly
2 weeks ago
sepro f3829463c7
[utils] `random_user_agent`: Bump versions (#14317)
Authored by: seproDev
2 weeks ago
bashonly ae3923b6b2
[ci] Improve workflow checks (#14316)
Authored by: bashonly
2 weeks ago
bashonly 8ab262c66b
[cleanup] Remove references to setup.cfg (#14315)
Fix eb4b3a5fc7

Authored by: bashonly
2 weeks ago
bashonly e2d37bcc8e
[build] Refactor Linux build jobs (#14275)
Authored by: bashonly
2 weeks ago
sepro eb4b3a5fc7
[cleanup] Remove setup.cfg (#14314)
Authored by: seproDev
2 weeks ago
bashonly 65e90aea29
[cleanup] Remove broken extractors (#14305)
Closes #1466, Closes #2005, Closes #4897, Closes #5118, Closes #8489, Closes #13072
Authored by: bashonly
2 weeks ago
doe1080 17bfaa53ed
[ie/onsen] Add extractor (#10971)
Closes #10902
Authored by: doe1080
2 weeks ago
doe1080 8cb037c0b0
[ie/smotrim] Rework extractors (#14200)
Closes #9372, Closes #11804, Closes #13900
Authored by: doe1080, swayll

Co-authored-by: Nikolay Fedorov <40500428+swayll@users.noreply.github.com>
2 weeks ago
doe1080 7d9e48b22a
[ie/tunein] Fix extractors (#13981)
Authored by: doe1080
2 weeks ago
sepro f5cb721185
[ie/loco] Fix extractor (#14256)
Closes #14255
Authored by: seproDev
2 weeks ago
bashonly 83b8409366
[ci] Test with Python 3.14 (#13468)
Authored by: bashonly
2 weeks ago
bashonly ba80446855
[cleanup] Bump ruff to 0.13.x (#14293)
Authored by: bashonly
2 weeks ago
bashonly 22ea0688ed
[ci] Bump actions/setup-python to v6 (#14282)
Authored by: bashonly
2 weeks ago
bashonly 5c1abcdc49
[ie/tiktok:live] Fix room ID extraction (#14287)
Closes #9418
Authored by: bashonly
2 weeks ago
doe1080 3d9a88bd8e
[ie/pixivsketch] Remove extractors (#14196)
Authored by: doe1080
2 weeks ago
doe1080 9def9a4b0e
[ie/newspicks] Warn when only preview is available (#14197)
Closes #14137
Authored by: doe1080
2 weeks ago
bashonly 679587dac7
[ie/vimeo] Fix login error handling (#14280)
Closes #14279
Authored by: bashonly
2 weeks ago
Will Smillie a1c98226a4
[ie/xhamster] Fix extractor (#14286)
Closes #14145
Authored by: nicolaasjan, willsmillie

Co-authored-by: nicolaasjan <14093220+nicolaasjan@users.noreply.github.com>
2 weeks ago
bashonly c8ede5f34d
[build] Use new PyInstaller builds for Windows (#14273)
Authored by: bashonly
3 weeks ago
bashonly a183837ec8
[test:utils] Fix `sanitize_path` test for Windows CPython 3.11 (#13878)
Authored by: Grub4K

Co-authored-by: Simon Sawicki <contact@grub4k.dev>
3 weeks ago
Sipherdrakon 067062bb87
[ie/10play] Fix extractor (#14242)
Closes #14212
Authored by: Sipherdrakon
3 weeks ago
bashonly 8597a4331e
[build] Fix cache warmer (#14261)
Fix 50136eeeb3

Authored by: bashonly
3 weeks ago
sepro 48a214bef4
[build] Use SPDX license identifier (#14260)
Authored by: cdce8p

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
3 weeks ago
Mozi 6a763a55d8
[compat] Add `compat_datetime_from_timestamp` (#11902)
Authored by: pzhlkj6612, seproDev

Co-authored-by: sepro <sepro@sepr0.com>
3 weeks ago
sepro e6e6b51214
[docs] Clarify license of PyInstaller-bundled executables (#14257)
Closes #348

Authored by: seproDev
3 weeks ago
bashonly 7c9b10ebc8
[ci] Test and lint workflows (#14249)
Authored by: bashonly
3 weeks ago
bashonly cd94e70040
[build] Post-release workflow cleanup (#14250)
Authored by: bashonly
3 weeks ago
github-actions[bot] 7c27965ff6 Release 2025.09.05
Created by: bashonly

:ci skip all
3 weeks ago
bashonly 50136eeeb3
[build] Overhaul Linux builds and refactor release workflow (#13997)
- Use `manylinux-shared` images for Linux builds
- Discontinue `yt-dlp_linux_armv7l`/`linux_armv7l_exe` release binary
- Add `yt-dlp_linux_armv7l.zip`/`linux_armv7l_dir` release binary
- Add `yt-dlp_musllinux` and `yt-dlp_musllinux_aarch64` release binaries
- Migrate `linux_exe` build strategy from staticx+musl to manylinux2014/glibc2.17
- Rewrite release.yml's "unholy bash monstrosity" as devscripts/setup_variables.py

Closes #10072, Closes #10630, Closes #10578, Closes #13976, Closes #13977, Closes #14106
Authored by: bashonly
3 weeks ago
Chase Ryan 603acdff07
[ie/charlierose] Fix extractor (#14231)
Authored by: gitchasing
3 weeks ago
sepro d925e92b71
[ie/vevo] Restore extractors (#14203)
Partially reverts 6f4c1bb593

Authored by: seproDev
4 weeks ago
sepro ed24640943
[ie/lrt] Fix extractors (#14193)
Closes #13501
Authored by: seproDev
4 weeks ago
sepro 76bb46002c
Fix `--id` deprecation warning (#14190)
Authored by: seproDev
4 weeks ago
InvalidUsernameException 1e28f6bf74
[ie/kick:vod] Support ongoing livestream VODs (#14154)
Authored by: InvalidUsernameException
4 weeks ago