About this project
Super Video Downloader is an Android application that combines a web browser, a media player and a set of downloaders for video and audio content. The project states it was created for research and educational purposes around downloading various video formats and stream types.
Core capabilities described in the README:
- Site support: downloads from YouTube, Facebook, Twitter, Instagram, Dailymotion, Vimeo and other sites covered by youtube-dl's supported-site list, via youtube-dlp integration.
- Stream handling: intercepts and downloads HLS (.m3u8) and DASH (.mpd) streams in addition to standard .mp4 video, using custom mp4/mp3/m3u8/mpd downloaders.
- Live streams: can capture and save live video and live audio broadcasts such as radio as they happen.
- Built-in browser: supports history, bookmarks and cookies, so users can browse for content and download from within the app.
- Download manager: manages download tasks in the background.
- Offline playback: an integrated player plays downloaded video and audio offline.
- Ad blocking: an integrated Rust-based ad-blocking engine with list management.
- Networking: proxy chaining through multiple HTTP and SOCKS proxies, plus encrypted DNS via DNS-over-HTTPS (DoH) and DNS-over-TLS (DoT), including sdns:// URLs.
Distribution and verification: the recommended install source is F-Droid, where the app is published as a reproducible build; F-Droid verifies that the source matches both their binary and the APK in the repository's Releases. It is also listed on Google Play. Translations are managed through Weblate.
Technical stack noted in the README: Kotlin-first, MVVM with ViewModel/LiveData and the Repository pattern, Android Views with DataBinding, Dagger 2 for dependency injection, Coroutines and RxJava for concurrency, Room for the database, OkHttp and libv2ray (Go) for networking, and adblock-rust for ad blocking.
Building requires JDK 21, Android SDK and NDK (r29 recommended), Go 1.27.0 for networking components, Rust, and C/C++ build tools. Git submodules must be initialized after cloning. Gradle tasks include :app:assembleDebug and :app:assembleRelease for APKs, :app:buildAllGoLibraries for Go dependencies, :app:buildRustAdblock for the ad blocker, and clean. The GO_EXECUTABLE variable or a Gradle property can override the detected Go binary. The README includes a disclaimer that the developer takes no responsibility for illegal use, and notes inspiration from cuongpm/youtube-dl-android plus thanks to several contributors.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.