Skip to content
View in the app

A better way to browse. Learn more.

MSFN

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Who here has a Youtube-DL compile for WinXP?

Featured Replies

6 hours ago, nicolaasjan said:

With my latest version of yt-dlp (2025.08.23.181722), I get:

Wow! Then in just 3 days they've pushed some pretty significant changes. One of which is "[ie/youtube] Replace ios with tv_simply in default clients (#14123)", which is a real pity, because I prefer the ios HLS formats.
They've now flagged these formats as requiring a PO token, which (as far as I can tell) isn't true, because the 2025.08.20.232911 version I was using still works just fine for these formats. Now I have to snatch a PO token for these to work. :realmad:

Edited by Reino

As a side note, the standalone Windows XP version doesn't work on Windows 7 x64 with the error pointing to GetCPFileNameFromRegistry on kernell32.dll, but no problem with the native.

I used to run this version on Windows 7 x64 (as I switched from OS to OS and avoid two installs (aside this I can confirm that the Windows 7 version is slightly faster on its native platform, as you pointed out nicola)).

I read quick, but would your release have support/be released after september?

Thanks for your efforts nicolaasjan :)
10 hours ago, johk said:

I read quick, but would your release have support/be released after september?

Yes. :)

My XP release is now based on Python 3.11.4

yt-dlp -v
[debug] Command-line config: ['-v']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out cp1252 (No VT), error cp1252 (No VT), screen cp1252 (No VT)
[debug] yt-dlp version local@2025.08.28 [1e28f6bf7] (win_x86_exe)
[debug] Python 3.11.4 (CPython x86 32bit) - Windows-XP-5.1.2600-SP3 (OpenSSL 3.1.0-dev )
[debug] exe versions: ffmpeg N-116828-g6aafe61-Reino (fdk,setts), ffprobe N-116828-g6aafe61-Reino, phantomjs 1.9.8
[debug] Optional libraries: Cryptodome-3.23.0, brotli-1.1.0, certifi-2025.08.03, mutagen-1.47.0, requests-2.32.5, sqlite3-3.50.4, urllib3-2.5.0, websockets-15.0.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Plugin directories: none
[debug] Loaded 1840 extractors

 

On 8/28/2025 at 8:09 AM, nicolaasjan said:

Yes. :)

My XP release is now based on Python 3.11.4

yt-dlp -v
[debug] Command-line config: ['-v']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out cp1252 (No VT), error cp1252 (No VT), screen cp1252 (No VT)
[debug] yt-dlp version local@2025.08.28 [1e28f6bf7] (win_x86_exe)
[debug] Python 3.11.4 (CPython x86 32bit) - Windows-XP-5.1.2600-SP3 (OpenSSL 3.1.0-dev )
[debug] exe versions: ffmpeg N-116828-g6aafe61-Reino (fdk,setts), ffprobe N-116828-g6aafe61-Reino, phantomjs 1.9.8
[debug] Optional libraries: Cryptodome-3.23.0, brotli-1.1.0, certifi-2025.08.03, mutagen-1.47.0, requests-2.32.5, sqlite3-3.50.4, urllib3-2.5.0, websockets-15.0.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Plugin directories: none
[debug] Loaded 1840 extractors

 

Could you share this working Python (3.11.4)(bin)?

 

Edited by xjani

... Initial post deleted; apologies, but I misunderstood :blushing: ; I later realised what was asked for was the CPython (3.11.4) assembly itself used to compile the yt-dlp.exe binary linked in nicolaasjan's forum signature...

Edited by VistaLover
Initial post deleted

Thank you cmalex.

Edited by xjani

 

On 5/12/2023 at 4:22 PM, Reino said:
On 5/11/2023 at 6:54 PM, cmalex said:

And can i ask You to publish at least  one lastest dev files for Your's OpenSSL and FFMpeg shared (includes and lib)?

I hope openssl-3.1.0-win32-dev-xpmod-sse.7z would suffice. And FFmpeg: ffmpeg-6.1-588-4006c71-win32-dev-xpmod-sse.7z.

On 8/28/2025 at 9:09 AM, nicolaasjan said:
yt-dlp -v
[...]
[debug] Python 3.11.4 (CPython x86 32bit) - Windows-XP-5.1.2600-SP3 (OpenSSL 3.1.0-dev )
[...]

@cmalex Believe it or not, only just now I suddenly realized why you needed that dev-archive. :blushing:

Have a look at https://rwijnsma.home.xs4all.nl/files/openssl/?C=M;O=A. I've just uploaded v3.5.2. Though I'm on Win11 nowadays, I believe it should work on WinXP.

2 hours ago, Reino said:

Have a look at https://rwijnsma.home.xs4all.nl/files/openssl/?C=M;O=A.
I've just uploaded v3.5.2. (redacted) I believe it should work on WinXP.

Hello Reino :)(OT, but I'm really missing your Vista-compatible FFmpeg compiles :()

While your OpenSSL binaries (archive "openssl-3.5.2-win32-shared-xpmod-sse.7z") may very well be XP+ compatible :thumbup, they don't work out-of-the box as CPython dependency by swapping the already existing DLLs (of openssl v3.1.0-dev) inside cmalex's CPython assemblies with them; he's been using the same (quite deprecated and now rather insecure :whistle:) v3.1.0-dev DLLs in his 3.8.13, 3.9.13, 3.10.8 and 3.11.4 CPython offerings, but the thing is the libcrypto-3.dll and libssl-3.dll inside CPython work in conjunction with two Python DLLs, files "_ssl.pyd" and (possibly) "_hashlib.pyd"; the existing .pyd files are incompatible with your own openssl DLLs :( ...

BTW, I'm on Vista SP2 32-bit, so I'm using cmalex's :wub: Vista-compatible 3.11.4 assembly; with the original v3.1.0-dev DLLs:

python
Python 3.11.4 (heads/My3.11.4-dirty:1c368b1ab42, Aug 24 2025, 19:29:33) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 3.1.0-dev '
>>> ^Z

<redacted>\3.11.4\cmalex\Python3114-32_Vista>

Overwrite them with your own v3.5.2 DLLs and...

python
Python 3.11.4 (heads/My3.11.4-dirty:1c368b1ab42, Aug 24 2025, 19:29:33) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<redacted>\3.11.4\cmalex\Python3114-32_Vista>\Lib\ssl.py", line 100, in <module>
    import _ssl             # if we can't import it, let the error propagate
    ^^^^^^^^^^^
ImportError: DLL load failed while importing _ssl: The specified procedure could not be found.
>>> ssl.OPENSSL_VERSION
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'ssl' is not defined
>>> ^Z

<redacted>\3.11.4\cmalex\Python3114-32_Vista>

I guess newer versions of "_ssl.pyd" and "_hashlib.pyd" must be provided for openssl-3.5.2 compatibility :dubbio:...

@nicolaasjan

openssl-3.1.0-dev inside cmalex's assemblies (both 3.10.18 and 3.11.4, both XP/Vista variants) can be updated to a slightly more recent version, openssl-3.1.2, by using the OpenSSL-3.1.2 DLLs cmalex had compiled in the past for another of his projects, ProxyMII; link below:

https://mega.nz/folder/68dj2YTY#As2w31IO4Smr7gy6p1ciSg/file/Pl9yzapZ

Proof: 

python
Python 3.11.4 (heads/My3.11.4-dirty:1c368b1ab42, Aug 24 2025, 19:29:33) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 3.1.2 1 Aug 2023'
>>> ^Z

<redacted>\3.11.4\cmalex\Python3114-32_Vista>

NB: When using the Vista variants of py3.10.18/3.11.4 to compile yt-dlp_x86.exe for Vista, none of the wrapper DLLs (kernelxp.dll, ntext.dll, psapi.dll) are needed; because your resultant yt-dlp.exe binaries (for Vista) still contain file "psapi.dll", redundant on Vista :whistle:; come to think of it, I don't think file "ws2_xx.dll" is needed on Vista either, but I'm not dead certain; only cmalex can vouch for that ;) ...

Many thanks and praise to both cmalex and nicolaasjan for... keeping the torch lit :thumbup (i.e. yt-dlp accessible on Win<8.1) ... 

Edited by VistaLover
wording, syntax

6 hours ago, Reino said:

Have a look at https://rwijnsma.home.xs4all.nl/files/openssl/?C=M;O=A. I've just uploaded v3.5.2. Though I'm on Win11 nowadays, I believe it should work on WinXP.

Greetings

:-)

Thanks.

Updated Python3.11.4_openssl3.5.2.zip

PS. Why don't You include openssl.exe in the set?

Best regards

9 hours ago, VistaLover said:

While your OpenSSL binaries (archive "openssl-3.5.2-win32-shared-xpmod-sse.7z") may very well be XP+ compatible :thumbup, they don't work out-of-the box as CPython dependency by swapping the already existing DLLs (of openssl v3.1.0-dev) inside cmalex's CPython assemblies with them

I'm not that familiar with the compilation process of Python, but I don't think that's how it works. They are linked to the 'libcrypto*.a' and 'libssl*.a' files and therefore you can't just replace the dll-files and expect them to work. @cmalex has to recompile the whole thing, which he already did. I don't understand why 2 years ago and still today he wants to use the shared OpenSSL dev-files. I could be wrong, but I thought linking the static OpenSSL dev-files is much easier.

5 hours ago, cmalex said:

PS. Why don't You include openssl.exe in the set?

I personally don't have a need for it. The only reason why I started compiling the shared OpenSSL dll-files is because Xidel needs them to open https-urls on WinXP. But since I'm now on a Win11 laptop that's not needed anymore either.

I assume you do have a need for it? I've reuploaded 'openssl-3.5.2-win32-shared-dev-xpmod-sse.7z' and recompiled 'openssl-3.5.2-win32-static-dev-xpmod-sse.7z'. They now include a bin-dir with the 2 dll-files and 'openssl.exe' respectively. Can you test if the exe-file actually works on WinXP?

6 hours ago, Reino said:

Can you test if the exe-file actually works on WinXP?

Thanks.

It work at virtual WinXP but i haven't access to real WinXP on AMD AthlonXP 2000+ (without SSE2). I'll check it when I have the chance

Best regards

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.