Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 Downloader3000

Вставил ссылку — получил файл. Видео и музыка с YouTube и сотен других сайтов.

Версия Платформы Python Лицензия

Главное окно Downloader3000

Раньше это были четыре .bat-файла, которые приходилось править блокнотом. Теперь одно приложение на четырёх платформах — и ставить к нему ничего не нужно.

Скачать

Полное описание, скриншоты и решение проблем — на сайте проекта. Готовые сборки — на странице релизов.

Система Файл Требования
Windows *-windows-x64.exe 10 и новее, один файл
Linux *-linux-x64.tar.gz Ubuntu 20.04+, Debian 11+
macOS *-macos-universal.zip 11 и новее
Android *-android-arm64-v8a.apk 6.0 и новее

Что умеет

Четыре режима: Best, 1080p, 720p и MP3 с обложкой.

  • Плейлисты по выбору — список с галочками, качается только отмеченное
  • Два языка и три оформления, масштаб интерфейса 80–150 %
  • Обход блокировки — если провайдер не отдаёт адрес сайта, программа спросит его по шифрованному каналу; для более грубых блокировок в настройках есть поле прокси
  • Прогресс со скоростью и временем, работающая отмена
  • Живой лог: при ошибке видно причину, а не «попробуйте позже»
  • Оригинальные имена файлов, включая русские буквы
Тёмное оформление Светлое оформление

Ограничения

Это не баги, а вещи, которые обойти нельзя.

Windows 7 и 8.1 не поддерживаются. Движок yt-dlp требует Python 3.10+, а он на эти системы не ставится. Официальные сборки yt-dlp тоже давно требуют Windows 10.

ffmpeg обязателен для видео. YouTube отдаёт картинку и звук раздельными потоками — проверено на живом ролике: 32 потока без звука, 11 без картинки, ни одного совмещённого. Во все сборки, включая Android, ffmpeg и QuickJS уже вшиты — ставить ничего не нужно.

На Android есть APK только под arm64 и arm32. Под x86_64 бинарники для телефона не кладутся, поэтому в эмуляторе склейка и MP3 не работают. На настоящих телефонах это не мешает: там почти всегда arm64.

Из исходников

git clone https://github.com/Ratio0-sys/Downloader3000.git
cd Downloader3000

python -m venv .venv
.venv\Scripts\activate        # Windows
source .venv/bin/activate     # Linux / macOS

pip install -e "src[dev]"
python tools/fetch_quickjs.py
python src/main.py

Собрать

# Windows — через PyInstaller, один самодостаточный файл
flet pack src/main.py --name Downloader3000 --icon tools/app.ico \
    --distpath build_exe --add-data "src/assets;assets" \
    "--pyinstaller-build-args=--collect-all=imageio_ffmpeg" -y

flet build apk   src --split-per-abi
flet build linux src
flet build macos src

Windows собирается через flet pack, а не flet build windows: второй требует Visual Studio с компонентом C++. Все четыре платформы разом собирает workflow.

Устройство

docs/     сайт проекта и скриншоты
src/      код приложения
├── app/theme.py           палитры и размеры
├── app/engine.py          обёртка над yt-dlp
├── app/i18n.py            локализация
├── app/platform_paths.py  различия платформ
└── app/ui/                интерфейс
tools/    скрипты разработки и проверки

Код прокомментирован по-русски: открываете любой файл и понимаете, что там происходит и почему именно так.

Участие

Правки приветствуются — CONTRIBUTING.md. Об ошибках пишите в issues.

Лицензия

MIT. Сделано для личного использования. Эльфы не несут ответственности за нарушение авторских прав.

🧝 by RandinLonescu 🧝

Twitch · YouTube · Telegram

About

Загрузка видео и аудио в лучшем качестве без танцев с бубном

Resources

Contributing

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages