mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-06-13 22:35:02 +00:00
Compare commits
No commits in common. "565dcfec4e5c035b5544de4a369f654b8a60e9e6" and "f14d2f2d548a45fef221aa3821e5a1bf450d5c0b" have entirely different histories.
565dcfec4e
...
f14d2f2d54
@ -21,20 +21,12 @@ from yt_dlp.utils import Popen
|
||||
class QuickJSJCP(EJSBaseJCP, BuiltinIEContentProvider):
|
||||
PROVIDER_NAME = 'quickjs'
|
||||
JS_RUNTIME_NAME = 'quickjs'
|
||||
_QJS_MIN_RECOMMENDED = {
|
||||
'quickjs': (2025, 4, 26),
|
||||
'quickjs-ng': (0, 12, 0),
|
||||
}
|
||||
_QJS_WARNING_TMPL = (
|
||||
'{name} versions older than {version} are missing important optimizations '
|
||||
'and will solve the JS challenges very slowly. Consider upgrading.')
|
||||
|
||||
def _run_js_runtime(self, stdin: str, /) -> str:
|
||||
min_recommended_version = self._QJS_MIN_RECOMMENDED[self.runtime_info.name]
|
||||
if self.runtime_info.version_tuple < min_recommended_version:
|
||||
self.logger.warning(self._QJS_WARNING_TMPL.format(
|
||||
name=self.runtime_info.name,
|
||||
version='.'.join(map(str, min_recommended_version))))
|
||||
if self.runtime_info.name == 'quickjs-ng':
|
||||
self.logger.warning('QuickJS-NG is missing some optimizations making this very slow. Consider using upstream QuickJS instead.')
|
||||
elif self.runtime_info.version_tuple < (2025, 4, 26):
|
||||
self.logger.warning('Older QuickJS versions are missing optimizations making this very slow. Consider upgrading.')
|
||||
|
||||
# QuickJS does not support reading from stdin, so we have to use a temp file
|
||||
temp_file = tempfile.NamedTemporaryFile(mode='w', suffix='.js', delete=False, encoding='utf-8')
|
||||
|
||||
@ -123,31 +123,31 @@ BROWSER_TARGETS: dict[tuple[int, ...], dict[str, ImpersonateTarget]] = {
|
||||
'chrome110': ImpersonateTarget('chrome', '110', 'windows', '10'),
|
||||
'edge99': ImpersonateTarget('edge', '99', 'windows', '10'),
|
||||
'edge101': ImpersonateTarget('edge', '101', 'windows', '10'),
|
||||
},
|
||||
(0, 6): {
|
||||
'chrome116': ImpersonateTarget('chrome', '116', 'windows', '10'),
|
||||
'chrome119': ImpersonateTarget('chrome', '119', 'macos', '14'),
|
||||
'chrome120': ImpersonateTarget('chrome', '120', 'macos', '14'),
|
||||
'safari170': ImpersonateTarget('safari', '17.0', 'macos', '14'),
|
||||
'safari172_ios': ImpersonateTarget('safari', '17.2', 'ios', '17.2'),
|
||||
# safari153 and safari155 were available in 0.5.10, but fingerprints were wrong until 0.6.0
|
||||
# Ref: https://github.com/lwthiker/curl-impersonate/issues/215
|
||||
'safari153': ImpersonateTarget('safari', '15.3', 'macos', '11'),
|
||||
'safari155': ImpersonateTarget('safari', '15.5', 'macos', '12'),
|
||||
},
|
||||
(0, 7): {
|
||||
'chrome116': ImpersonateTarget('chrome', '116', 'windows', '10'),
|
||||
'chrome119': ImpersonateTarget('chrome', '119', 'macos', '14'),
|
||||
'chrome120': ImpersonateTarget('chrome', '120', 'macos', '14'),
|
||||
'chrome123': ImpersonateTarget('chrome', '123', 'macos', '14'),
|
||||
'chrome124': ImpersonateTarget('chrome', '124', 'macos', '14'),
|
||||
},
|
||||
(0, 8): {
|
||||
'safari180': ImpersonateTarget('safari', '18.0', 'macos', '15'),
|
||||
'safari180_ios': ImpersonateTarget('safari', '18.0', 'ios', '18.0'),
|
||||
'safari170': ImpersonateTarget('safari', '17.0', 'macos', '14'),
|
||||
'safari172_ios': ImpersonateTarget('safari', '17.2', 'ios', '17.2'),
|
||||
},
|
||||
(0, 9): {
|
||||
'safari153': ImpersonateTarget('safari', '15.3', 'macos', '14'),
|
||||
'safari155': ImpersonateTarget('safari', '15.5', 'macos', '14'),
|
||||
'chrome119': ImpersonateTarget('chrome', '119', 'macos', '14'),
|
||||
'chrome120': ImpersonateTarget('chrome', '120', 'macos', '14'),
|
||||
'chrome123': ImpersonateTarget('chrome', '123', 'macos', '14'),
|
||||
'chrome124': ImpersonateTarget('chrome', '124', 'macos', '14'),
|
||||
'chrome131': ImpersonateTarget('chrome', '131', 'macos', '14'),
|
||||
'chrome131_android': ImpersonateTarget('chrome', '131', 'android', '14'),
|
||||
'chrome133a': ImpersonateTarget('chrome', '133', 'macos', '15'),
|
||||
'firefox133': ImpersonateTarget('firefox', '133', 'macos', '14'),
|
||||
'safari180': ImpersonateTarget('safari', '18.0', 'macos', '15'),
|
||||
'safari180_ios': ImpersonateTarget('safari', '18.0', 'ios', '18.0'),
|
||||
},
|
||||
(0, 10): {
|
||||
'firefox135': ImpersonateTarget('firefox', '135', 'macos', '14'),
|
||||
@ -169,7 +169,7 @@ BROWSER_TARGETS: dict[tuple[int, ...], dict[str, ImpersonateTarget]] = {
|
||||
(0, 15): {
|
||||
'chrome145': ImpersonateTarget('chrome', '145', 'macos', '26'),
|
||||
'chrome146': ImpersonateTarget('chrome', '146', 'macos', '26'),
|
||||
# firefox144 was added in 0.14.0, but its UA was wrong until 0.15.0
|
||||
# firefox144 was added in 0.14.0, but its UA had a typo in 0.14.0
|
||||
# Ref: https://github.com/lexiforest/curl-impersonate/issues/234
|
||||
'firefox144': ImpersonateTarget('firefox', '144', 'macos', '26'),
|
||||
'firefox147': ImpersonateTarget('firefox', '147', 'macos', '26'),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user