Flask + yt-dlp как библиотека, прогресс через SSE, фронтенд — один
самодостаточный HTML без сборки.
Приватность: сервер не хранит ничего. Настройки и история живут в
localStorage браузера; файл удаляется с диска после выдачи (с grace-
периодом, чтобы работала докачка по Range); URL и IP не пишутся в логи.
Безопасность публичного сервиса: только http/https схемы, опции yt-dlp
не собираются из пользовательской строки, format_id проходит строгий
regex без синтаксиса селекторов, отдача файла с проверкой realpath,
лимиты на размер/длительность/параллелизм/диск и rate limit по IP.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AwY2Cg54RK7WZdvMaLV5Di