Об этом проекте
Super Video Downloader — это Android-приложение, объединяющее веб-браузер, медиаплеер и набор загрузчиков видео- и аудиоконтента. Проект заявлен как созданный для исследовательских и образовательных целей в области загрузки различных видеоформатов и типов потоков.
Основные возможности, описанные в README:
- Поддержка сайтов: загрузка с YouTube, Facebook, Twitter, Instagram, Dailymotion, Vimeo и других сайтов из списка поддерживаемых youtube-dl, через интеграцию youtube-dlp.
- Работа с потоками: перехват и загрузка потоков HLS (.m3u8) и DASH (.mpd) в дополнение к стандартному видео .mp4, с использованием собственных загрузчиков mp4/mp3/m3u8/mpd.
- Прямые трансляции: возможность захватывать и сохранять прямые видео- и аудиотрансляции, например радио, по мере их выхода.
- Встроенный браузер: поддержка истории, закладок и cookies, чтобы пользователи могли искать контент и скачивать его прямо в приложении.
- Менеджер загрузок: управление задачами загрузки в фоновом режиме.
- Офлайн-воспроизведение: встроенный плеер воспроизводит загруженное видео и аудио офлайн.
- Блокировка рекламы: встроенный Rust-движок блокировки рекламы с управлением списками.
- Сеть: цепочки прокси через несколько HTTP- и SOCKS-прокси, а также шифрованный DNS через DNS-over-HTTPS (DoH) и DNS-over-TLS (DoT), включая URL-адреса sdns://.
Распространение и проверка: рекомендуемый источник установки — F-Droid, где приложение публикуется как воспроизводимая сборка; F-Droid проверяет, что исходный код соответствует как их бинарному файлу, так и APK в Releases репозитория. Оно также представлено в Google Play. Переводы управляются через Weblate.
Технический стек, отмеченный в README: приоритет Kotlin, MVVM с ViewModel/LiveData и паттерном Repository, Android Views с DataBinding, Dagger 2 для внедрения зависимостей, Coroutines и RxJava для конкурентности, Room для базы данных, OkHttp и libv2ray (Go) для сети, а также adblock-rust для блокировки рекламы.
Для сборки требуются JDK 21, Android SDK и NDK (рекомендуется r29), Go 1.27.0 для сетевых компонентов, Rust и инструменты сборки C/C++. После клонирования необходимо инициализировать подмодули Git. Задачи Gradle включают :app:assembleDebug и :app:assembleRelease для APK, :app:buildAllGoLibraries для зависимостей Go, :app:buildRustAdblock для блокировщика рекламы и clean. Переменная GO_EXECUTABLE или свойство Gradle могут переопределить обнаруженный бинарный файл Go. README содержит отказ от ответственности: разработчик не несёт ответственности за незаконное использование, а также отмечает вдохновение от cuongpm/youtube-dl-android и благодарит нескольких участников.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.