On October 26, Habr published a write-up by OlegChe77 — a program called "Universal Downloader" that hides yt-dlp behind a clear page with buttons. The task is everyday: at home, people regularly ask how to download a video, and the answer "install yt-dlp" runs into the console, Python, ffmpeg, and command-line flags. The goal: one zip, a double-click, no Python installation, no ads, no registration, no third-party servers. The full text is available on Habr.
The mechanics are brazenly simple. The interface is a plain HTML+JS page with no frameworks, served by Flask on 127.0.0.1:8765; the program itself lives as an icon next to the clock via pystray and has no window of its own. The chain inside is yt-dlp, ffmpeg, Deno (without a JS engine, YouTube won't serve all formats). Everything heavy is described in a single requirements.txt: yt-dlp[default,curl-cffi], flask, imageio-ffmpeg, deno, pystray, pillow. A separate mention goes to curl-cffi: without a browser TLS fingerprint, TikTok and Instagram respond with "Unexpected response" and "empty media response".
The author goes through the pitfalls in detail, and they're more useful than the downloader itself. Embeddable Python has no pip: the wheel has to be unpacked into site-packages and then installed with the same python -m pip install --force-reinstall. The script's directory isn't visible — the path is fixed via a python312._pth file (python312.zip, ., .., import site). The mode is isolated, so PYTHON* variables, including PYTHONIOENCODING, have no effect. There's no tkinter — the folder picker dialog is done via FolderBrowserDialog from PowerShell. The installer verifies the SHA-256 of the Python archive and the pip wheel, checks Authenticode signatures on python.exe and python312.dll, assembles everything into python.new, and renames it only after the checks pass.
What hooks me here isn't the downloader but the honestly exposed pain point: in 2025 it's hard not to get a video, but hard to deliver a console tool to someone who doesn't want to hear the word "terminal". Every "simple" task on Windows turned out to have a catch — that's a quote from the text, and it's more accurate than any marketing about an "intuitive interface".
The second thing is the architectural choice. 170 KB versus Electron builds that usually weigh hundreds of megabytes: everyone already has a browser, and a local port with an HTTP API gives you a page, an extension, and a bookmarklet all at once. In my experience, this is the cheapest way to build a GUI for a utility that already has a CLI. Our verdict: the trick is underrated, and anyone dragging in Qt for a single form with two buttons should copy it.
Who wins? The user, who doesn't have to install Python or explain to their parents what PATH is. Who loses? Probably no one — ready-made programs with ads and a paid "Pro" tier simply got an ad-free competitor. But there's a price: the program itself downloads and runs code from the internet, updates yt-dlp daily, and updates itself from GitHub, with a rollback option. The author understands this, which is why signatures and hashes are baked in. Still, a self-downloading Python is a matter of trust, not security.
We've only seen a fragment of the article: there's no link to a repository, no measurements of speed, final build size, or H.265 compression quality. Not a word about how antivirus software reacts to a script that pulls python.exe from the network — a typical false positive. There's a single source: the author describing their own product and testing it themselves. Verification will have to be done manually, on your own machine.
Prediction: within a quarter, at least one independent build using the same scheme will appear — Flask on localhost instead of Electron. The trick is too cheap (170 KB versus hundreds of megabytes) not to be copied, unless the author hides the code.
Disclaimer: a single source — an author's case study, no independent verification.
Source: Habr
Source: habr.com · post in Telegram