Skip to content

mikedigriz/YT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание

Позволяет скачивать практически с любого ресурса видео.

  • Конвертирует в mp4 и хранит на сервере.
  • Есть возможность забрать аудиодорожку с видео.
  • По умолчанию скачивается максимальное качество видео.
  • Подходит для использования с устройствами на базе Win, macOS, Linux, Android, iOS.
  • Релизована поддержка SOCKS5-прокси для обхода региональных ограничений
  • Реализован кастомный логгер загрузок
  • Ограничена загрузка контента 18+
  • Код улучшен в части обработки ошибок, управления процессами и безопасности.
  • Удобен в качестве единой площадки для работы с контентом для SMM-групп и контент-маркетологов.

Стек: PHP 8.4 + Python 3.13 (yt-dlp) + ffmpeg + nginx в одном Docker-контейнере.

Как пользоваться

  1. Вставить прямую ссылку в строку
  2. Кнопка СКАЧАТЬ
  3. Отследить что загрузка завершена
  4. Перейти на вкладку Видео
  5. Забрать файл

Дополнительно:

  • Формат: по умолчанию лучшее качество в mp4. Для аудио - переключите режим перед загрузкой
  • Прокси: укажите SOCKS5 в config.php → параметр socks5
  • Доп. параметры yt-dlp: файл /etc/yt-dlp.conf
  • Логи: docker logs <container>

Docker

Предполагается что docker установлен и вы умеете пользоваться гуглом.

Готовый образ забрать можно тут


Установка:

git clone https://github.com/mikedigriz/YT.git && cd YT
docker build -t yt .

Запуск:

docker run -it -p 8000:80 yt

Чистая пересборка:

docker build --no-cache -t yt .

Рекомендации

  • Если нет необходимости долго хранить файлы. В cron можно добавить автоматическое удаление.
    Пример скрипта тут: app/etc/Scripts

  • 'Из коробки' проблемы с именами файлов.
    При разворачивании контейнера на библиотеку yt-dlp накатывается измененный файл _utils.py.
    При внезапных поломках после обновлений - смотри туда.

  • Когда нужен доступ с других устройств, вспомните про route.
    Для этого в командной строке ПК или настройках роутера добавьте маршрут.
    Пример для Windows: route add 172.17.0.0 mask 255.255.0.0 192.168.1.100

  • Если с ресурса перестало загружать - посмотрите на открытые ишью библиотеки yt-dlp.

Баги бэка

  • Скачивается видео без звука - проблема может быть в yt-dlp или ffmpeg.
  • Загрузка не начинается и во вкладках пусто - проблема с правами на каталог.
  • Загрузка началась и упала с ошибкой - сайты меняются, а некоторые как YouTube - борется с загрузками.
    Проверить актуальность библиотеки yt-dlp. Проверить работает ли загрузка из консоли.

Послесловие

Первоначально использовалось библиотека youtube-dl.
Но из-за того что библиотека брошена и не обновляется - сейчас используется ее форк yt-dlp.
Основной код написан не мной, я разобрался в кодовой базе и добавил изменения, дополнения, обновления компонентов, докер.

Автор оригинального кода: [не указан]
Проект основан на одном из ранних веб-интерфейсов для youtube-dl/yt-dlp на PHP. Если вы знаете первоисточник - откройте Issue.

About

Качалка. Веб-интерфейс для скачивания видео и аудио с 1000+ платформ на базе yt-dlp. Работает в Docker, доступен с любого устройства

Topics

Resources

Stars

Watchers

Forks

Contributors