26 октября на Хабре вышел разбор OlegChe77 — программа «Универсальный скачиватель», которая прячет yt-dlp за понятной страницей с кнопками. Задача бытовая: дома регулярно спрашивают, как скачать видео, а ответ «поставь yt-dlp» упирается в консоль, Python, ffmpeg и ключи командной строки. Цель — один zip, двойной щелчок, без установки Python, рекламы, регистрации и чужих серверов. Полный текст лежит на Хабре.
Механика простая до наглости. Интерфейс — обычная HTML+JS-страница без фреймворков, её отдаёт Flask на 127.0.0.1:8765, сама программа живёт значком у часов через pystray и окна не имеет. Цепочка внутри — yt-dlp, ffmpeg, Deno (без JS-движка YouTube отдаёт не все форматы). Всё тяжёлое описано в одном requirements.txt: yt-dlp[default,curl-cffi], flask, imageio-ffmpeg, deno, pystray, pillow. Отдельная строка — curl-cffi: без браузерного TLS-отпечатка TikTok и Instagram отвечают «Unexpected response» и «empty media response».
Грабли автор разбирает подробно, и они полезнее самого скачивателя. В embeddable-Python нет pip: wheel приходится распаковывать в site-packages, а потом ставить тем же python -m pip install --force-reinstall. Каталог скрипта не виден — путь правится файлом python312._pth (python312.zip, ., .., import site). Режим изолированный, так что PYTHON*, включая PYTHONIOENCODING, не действуют. tkinter нет — диалог выбора папки сделан через FolderBrowserDialog из PowerShell. Установщик сверяет SHA-256 архива Python и wheel pip, у python.exe и python312.dll проверяет Authenticode, собирает всё в python.new и переименовывает только после проверок.
Меня тут цепляет не скачиватель, а честно вскрытая боль: в 2025-м сложно не достать видео, а довезти консольный инструмент до человека, который не хочет знать слово «терминал». Каждая «простая» задача на Windows оказалась с подвохом — это цитата из текста, и она точнее любого маркетинга про «интуитивный интерфейс».
Вторая вещь — архитектурный выбор. 170 КБ против Electron-сборок, которые обычно весят сотни мегабайт: браузер уже стоит у всех, локальный порт и HTTP-API дают и страницу, и расширение, и букмарклет разом. По опыту, это самый дешёвый способ сделать GUI для утилиты, у которой уже есть CLI. Наша оценка: приём недооценён, и его стоит скопировать всем, кто тянет Qt ради одной формы с двумя кнопками.
Кто выигрывает? Пользователь, которому не надо ставить Python и объяснять родителям, что такое PATH. Кто проигрывает? Скорее никто — готовые программы с рекламой и платным «Pro» просто получили конкурента без рекламы. Но есть цена: программа сама качает и запускает код из интернета и обновляет yt-dlp раз в сутки, а себя — с GitHub, с откатом. Автор это понимает, раз зашил подписи и хеши. Всё равно самодокачивающийся Python — это доверие, а не безопасность.
Мы видели только фрагмент статьи: нет ссылки на репозиторий, нет замеров скорости, размера готовой сборки и качества сжатия в H.265. Нет ни слова про реакцию антивирусов на скрипт, который тянет python.exe из сети, — а это типичное ложное срабатывание. Источник один: автор рассказывает про собственный продукт и сам себя тестирует. Проверять придётся вручную, на своей машине.
Прогноз: в течение квартала появится хотя бы одна независимая сборка по той же схеме — Flask на localhost вместо Electron. Приём слишком дешёвый (170 КБ против сотен мегабайт), чтобы его не скопировали, если автор не спрячет код.
Дисклеймер: один источник — авторский кейс, независимой проверки нет.
Источник: Хабр
Источник: habr.com · пост в Telegram