Jump to content

Who here has a Youtube-DL compile for WinXP?


Recommended Posts

Posted
22 hours ago, Reino said:

They are actually and always have been.
I don't update the upstream script anymore, but all that I locally changed was "openssl-3.3.1" to "openssl-3.6.1".

6 hours ago, VistaLover said:

this doesn't add up at all with my findings

You're right. I take it back what I said earlier. I have actually changed the build_openssl3() function locally to automate the process of creating the shared- as well as the static-release. And in the process I forgot to strip both dlls. The filesizes are now identical to what you ended up with. I re-uploaded 'openssl-3.6.1-win32-shared-dev-xpmod-sse.7z'.


Posted
1 hour ago, Reino said:

You're right. I take it back what I said earlier. I have actually changed the build_openssl3() function locally to automate the process of creating the shared- as well as the static-release. And in the process I forgot to strip both dlls. The filesizes are now identical to what you ended up with. I re-uploaded 'openssl-3.6.1-win32-shared-dev-xpmod-sse.7z'.

Many thanks for your follow-up :thumbup, which actually sets the record straight ;) ; and thanks for the re-upload :) !

Best regards.

Posted

Where are these OpenSSL DLLs usable in apart from a YouTube downloader? Legacy applications that I have all depend on libeay32 and ssleay32. And do they support new algorithms to justify their much bigger size?

Posted
6 hours ago, j7n said:

And do they support new algorithms to justify their much bigger size?

With version 3.6.0 new functionality has been added (3.6.1 is mainly a security release):

 

Quote

 

Major changes between OpenSSL 3.5 and OpenSSL 3.6.0 [1 Oct 2025]

OpenSSL 3.6.0 is a feature release adding significant new functionality to OpenSSL.

This release incorporates the following potentially significant or incompatible changes:

  • Added NIST security categories for PKEY objects.

  • Added support for EVP_SKEY opaque symmetric key objects to the key derivation and key exchange provider methods. Added EVP_KDF_CTX_set_SKEY(), EVP_KDF_derive_SKEY(), and EVP_PKEY_derive_SKEY() functions.

  • Added LMS signature verification support as per SP 800-208. This support is present in both the FIPS and default providers.

  • An ANSI-C toolchain is no longer sufficient for building OpenSSL. The code should be built using compilers supporting C-99 features.

  • Support for the VxWorks platforms has been removed.

  • Added an openssl configutl utility for processing the OpenSSL configuration file and dumping the equal configuration file.

  • Added support for FIPS 186-5 deterministic ECDSA signature generation to the FIPS provider.

  • Deprecated EVP_PKEY_ASN1_METHOD-related functions.

 

 

 

 

Posted
4 hours ago, nicolaasjan said:

I have uploaded an updated Vista+ compatible PyInstaller here.

Could you test if the yt-dlp built with it works well on your Vista system?

Sure :P; it loads fine: 

yt-dlp_x86 -v => 

[debug] Command-line config: ['-v']
[debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out cp1253 (No VT), error cp1253 (No VT), screen cp1253 (No VT)
[debug] yt-dlp version nicolaasjan/yt-dlp@2026.02.01.063416 (win7_x86_exe*)
[debug] Python 3.14.2 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.6.1 27 Jan 2026)
[debug] exe versions: none
[debug] Optional libraries: Cryptodome-3.23.0, brotli-1.2.0, certifi-2026.01.04, mutagen-1.47.0, requests-2.32.5, sqlite3-3.50.4, urllib3-2.6.3, websockets-16.0, yt_dlp_ejs-0.4.0
[debug] JS runtimes: none
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Plugin directories: none
[debug] Loaded 1856 extractors

Usage: yt-dlp_x86 [OPTIONS] URL [URL...]

yt-dlp_x86: error: You must provide at least one URL.
Type yt-dlp --help to see a list of all options.

and:

yt-dlp_x86 -vF "jxm5zcK27qo" --js-runtime quickjs 

[debug] Command-line config: ['-vF', 'jxm5zcK27qo', '--js-runtime', 'quickjs']
[debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT)
[debug] yt-dlp version nicolaasjan/yt-dlp@2026.02.01.063416 (win7_x86_exe*)
[debug] Python 3.14.2 (CPython AMD64 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.6.1 27 Jan 2026)
[debug] exe versions: ffmpeg 5.0 (fdk,setts)
[debug] Optional libraries: Cryptodome-3.23.0, brotli-1.2.0, certifi-2026.01.04, mutagen-1.47.0, requests-2.32.5, sqlite3-3.50.4, urllib3-2.6.3, websockets-16.0, yt_dlp_ejs-0.4.0
[debug] JS runtimes: quickjs-ng-0.11.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Plugin directories: none
[debug] Loaded 1856 extractors
[debug] [youtube] [pot] PO Token Providers: none
[debug] [youtube] [pot] PO Token Cache Providers: memory
[debug] [youtube] [pot] PO Token Cache Spec Providers: webpo
[debug] [youtube] [jsc] JS Challenge Providers: bun (unavailable), deno (unavailable), node (unavailable), quickjs
[youtube] Extracting URL: jxm5zcK27qo
[youtube] jxm5zcK27qo: Downloading webpage
[debug] [youtube] Forcing "main" player JS variant for player 3510b6ff
        original url = /s/player/3510b6ff/player_es6.vflset/en_US/base.js
[youtube] jxm5zcK27qo: Downloading android vr player API JSON
[debug] [youtube] jxm5zcK27qo: android_vr player response playability status: UNPLAYABLE
[youtube] jxm5zcK27qo: Downloading web embedded client config
[debug] [youtube] jxm5zcK27qo: Detected experiment to bind GVS PO Token to video ID for web_embedded client
[youtube] jxm5zcK27qo: Downloading player 3510b6ff-main
[youtube] jxm5zcK27qo: Downloading web embedded player API JSON
[youtube] jxm5zcK27qo: Downloading web safari player API JSON
[debug] [youtube] jxm5zcK27qo: Detected a 6s ad skippable after 5s for web_safari
[youtube] [jsc:quickjs] Solving JS challenges using quickjs
[debug] [youtube] [jsc:quickjs] Using challenge solver lib script v0.4.0 (source: python package, variant: minified)
[debug] [youtube] [jsc:quickjs] Using challenge solver core script v0.4.0 (source: python package, variant: minified)
WARNING: [youtube] [jsc:quickjs] QuickJS-NG is missing some optimizations making this very slow. Consider using upstream QuickJS instead.
[debug] [youtube] [jsc:quickjs] Running QuickJS: '<redacted>\yt-dlp\Builds\Nightly\nicolaasjan\py3.14\2026.02.01.63416\PyInst-6.18\qjs.EXE' --script 'C:\Users\<redacted>\AppData\Local\Temp\tmpfsvkg2za.js'
[youtube] jxm5zcK27qo: Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[info] Available formats for jxm5zcK27qo:
ID  EXT   RESOLUTION FPS CH |   FILESIZE   TBR PROTO | VCODEC          VBR ACODEC      ABR ASR MORE INFO
----------------------------------------------------------------------------------------------------------------------------
sb3 mhtml 48x27        0    |                  mhtml | images               storyboard
sb2 mhtml 80x45        0    |                  mhtml | images               storyboard
sb1 mhtml 160x90       0    |                  mhtml | images               storyboard
sb0 mhtml 320x180      0    |                  mhtml | images               storyboard
249 webm  audio only      2 |   44.09MiB   51k https | audio only          opus       51k 48k [en] low, WEB-E, webm_dash
250 webm  audio only      2 |   57.96MiB   67k https | audio only          opus       67k 48k [en] low, WEB-E, webm_dash
140 m4a   audio only      2 |  112.28MiB  129k https | audio only          mp4a.40.2  129k 44k [en] medium, WEB-E, m4a_dash
251 webm  audio only      2 |  113.71MiB  131k https | audio only          opus      131k 48k [en] medium, WEB-E, webm_dash
91  mp4   256x144     24    | ~153.75MiB  177k m3u8  | avc1.4D400C         mp4a.40.5           [en] WEB-S
160 mp4   256x144     24    |   58.06MiB   67k https | avc1.4d400c     67k video only          144p, WEB-E, mp4_dash
278 webm  256x144     24    |   63.73MiB   73k https | vp9             73k video only          144p, WEB-E, webm_dash
394 mp4   256x144     24    |   61.83MiB   71k https | av01.0.00M.08   71k video only          144p, WEB-E, mp4_dash
92  mp4   426x240     24    | ~276.63MiB  319k m3u8  | avc1.4D4015         mp4a.40.5           [en] WEB-S
133 mp4   426x240     24    |  111.89MiB  129k https | avc1.4d4015    129k video only          240p, WEB-E, mp4_dash
242 webm  426x240     24    |  120.41MiB  139k https | vp9            139k video only          240p, WEB-E, webm_dash
395 mp4   426x240     24    |  101.99MiB  118k https | av01.0.00M.08  118k video only          240p, WEB-E, mp4_dash
93  mp4   640x360     24    | ~697.64MiB  804k m3u8  | avc1.4D401E         mp4a.40.2           [en] WEB-S
134 mp4   640x360     24    |  196.77MiB  227k https | avc1.4d401e    227k video only          360p, WEB-E, mp4_dash
18  mp4   640x360     24  2 | ≈308.67MiB  356k https | avc1.42001E         mp4a.40.2       44k [en] 360p, WEB-E
243 webm  640x360     24    |  247.24MiB  285k https | vp9            285k video only          360p, WEB-E, webm_dash
396 mp4   640x360     24    |  182.68MiB  211k https | av01.0.01M.08  211k video only          360p, WEB-E, mp4_dash
94  mp4   854x480     24    | ~919.27MiB 1060k m3u8  | avc1.4D401E         mp4a.40.2           [en] WEB-S
135 mp4   854x480     24    |  357.67MiB  412k https | avc1.4d401e    412k video only          480p, WEB-E, mp4_dash
244 webm  854x480     24    |  327.75MiB  378k https | vp9            378k video only          480p, WEB-E, webm_dash
397 mp4   854x480     24    |  262.34MiB  303k https | av01.0.04M.08  303k video only          480p, WEB-E, mp4_dash
95  mp4   1280x720    24    | ~  1.17GiB 1387k m3u8  | avc1.4D401F         mp4a.40.2           [en] WEB-S
136 mp4   1280x720    24    |  621.36MiB  717k https | avc1.4d401f    717k video only          720p, WEB-E, mp4_dash
247 webm  1280x720    24    |  538.63MiB  621k https | vp9            621k video only          720p, WEB-E, webm_dash
398 mp4   1280x720    24    |  425.20MiB  490k https | av01.0.05M.08  490k video only          720p, WEB-E, mp4_dash
96  mp4   1920x1080   24    | ~  3.12GiB 3685k m3u8  | avc1.640028         mp4a.40.2           [en] WEB-S
137 mp4   1920x1080   24    |    1.34GiB 1577k https | avc1.640028   1577k video only          1080p, WEB-E, mp4_dash
248 webm  1920x1080   24    |  830.37MiB  958k https | vp9            958k video only          1080p, WEB-E, webm_dash
399 mp4   1920x1080   24    |  641.86MiB  740k https | av01.0.08M.08  740k video only          1080p, WEB-E, mp4_dash

Do note, though, that "my Vista" system (SP2 32-bit) is fully updated till Vista SP2's EoL, with very little WS2008 updates and no ESU ones :whistle:; but the Win10 UCRT update (a Vista SP2 one) is indeed installed here :P ...

Posted
12 hours ago, j7n said:

Where are these OpenSSL DLLs usable in apart from a YouTube downloader?

Do note that the OpenSSL-3.x.x DLLs are actually integral parts of every CPython for Windows higher than py3.10 (CPython-3.10.x, by default, uses OpenSSL-1.1.1.x), so they're not necessarily linked to just "YouTube downloaders" :whistle:; any other python application/script requiring py3.11+ may use those...

12 hours ago, j7n said:

Legacy applications that I have all depend on libeay32 and ssleay32.

libeay32.dll+ssleay32.dll are part of very old/insecure OpenSSL versions, the last branch that used them was the 1.0.2.x one; the 1.1.x.x branches used DLLs named libcrypto-1_1.dll and libssl-1_1.dll; BTW, TLSv1.3 support was first introduced with the OpenSSL-1.1.1.x series; so, your "legacy applications" can only use up to TLSv1.2 when connecting to the web...

Posted
12 hours ago, j7n said:

Where are these OpenSSL DLLs usable in apart from a YouTube downloader?

Well...

On 9/3/2025 at 11:28 AM, Reino said:

The only reason why I started compiling the shared OpenSSL dll-files is because Xidel needs them to open https-urls on WinXP.

That's the latest official 'xidel-0.9.9.20230616.8842.e14a96920e01.openssl.win32.zip' on https://sourceforge.net/projects/videlibri/files/Xidel/Xidel development/.
Or 'xidel-0.9.9_2025-02-22-git-3e7e88a62307-openssl-win32.7z' on https://rwijnsma.home.xs4all.nl/files/xidel/personal_builds/, which I compiled myself.

On Linux Xidel by default requires OpenSSL to open https urls at all. On Windows the normal win32/win64 binary relies on Microsoft's SChannel SSP (Secure Channel Security Service Provider) to do that. On Windows XP SChannel is limited to TLS 1.1, while practically all websites nowadays use TLS 1.2 and newer. So Benito, Xidel's author, created the openssl-win32 build especially for WinXP users. Xidel supports all OpenSSL versions.

If you'd like to know what Xidel can do, I suggest you have a look at StackOverflow here or here.

Obviously every piece of software that requires the OpenSSL dlls for internet connectivity can use these.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...