Your Ultimate Android Media Player & Web Stream Interceptor
Features | Tech Stack | Stats | Star History | Docs | Installation | Contributing
V-Troid is a highly optimized, dual-purpose Android media player and stream interceptor client. It is designed to act as a seamless native bridge to web-based content: when users browse movies and series on its companion web platform, V-Troid automatically captures the stream URLs, strips away intrusive page redirects or pop-ups, and pipes the media directly into its high-performance native ExoPlayer core.
"Seamless hardware-accelerated streaming, directly from web browser to native player."
V-Troid integrates a custom Chromium-based browser engine configured to dynamically capture network redirects:
- Download Redirector: Intercepts video file links containing
vtroidoradminstreamx, presenting a native dialog to play the stream instantly or redirect it to a local download agent. - Live Streaming Overrides: Identifies custom
vtroid-live-matchURL protocols to cancel browser redirects, extract the raw streaming host, and play it directly on the native player. - GDrive Auto-Bypasser: Automatically injects JavaScript on Google Drive confirmation pages to bypass prompt buttons and trigger direct downloads instantly.
- Popup & Redirect Protection: Suppresses browser JavaScript alert and confirm popups to prevent malicious page redirects.
The web companion layouts and browser sections are gated behind a secure, firebase-driven check:
- Layout Hiding: The entry layout (
mediaHolder) containing movie/series actions is completely hidden (View.GONE) for standard users (and app store reviewers), showing only the local player features. - Firestore Verification: Entering a valid premium key queries your Firebase Firestore document
PremiumKeyValue/Keyto unlock the layout dynamically and save configuration flags toSharedPreferences. - Dynamic Domain Resolving: The streaming site's domain is loaded dynamically from Firestore at runtime rather than being hardcoded, preventing detection by static code analysis tools.
The core playback engine utilizes Google's ExoPlayer, customized with premium options:
- Tunneled Playback: Enforce hardware tunneling for smooth 4K/HDR rendering with minimized battery draw.
- Auto Frame-Rate Matching: Dynamically adapts the device's display refresh rate to match the source video frame rate.
- Auto Picture-in-Picture (PiP): Transitions automatically to PiP mode when navigating out of the application.
- Skip Silence: Detects and skips quiet sections in the audio stream automatically.
- Multi-Format Support: Comprehensive playback for HLS (
.m3u8), DASH, Progressive streams (MP4, MKV, 3GP, MOV), and Dropbox URLs.
- System Service Integration: Operates
AudioPlayerServicefor background playback queue loops. - Audio Controllers: Built-in support for playlists, system media controls, and equalizers.
- WhatsApp Status Saver: Direct directory hooks to download, share, and preview local status images and video files.
- Instagram Downloader: Story and post downloader with support for private accounts using persistent cookie jars.
V-Troid is developed following structured Android architecture principles:
- Dynamic Web Ad-Blocker - Hardened custom host blocking rule engine for WebView.
- Cast Framework - Enhanced Android Cast support for smart TVs.
- Watchlist Sync - Cloud-saved watch histories and movie bookmarks.
- Material You UI - Custom color palettes based on Android device system colors.
Detailed documentation on development configurations:
- 🏛️ Architecture Guide - Code directory setup and layers layout.
- 🌐 Interception Engine - Walkthrough of URLs capturing and overriding filters.
- 🔧 Setup & Build - Getting started with compilation and environment variables.
To build and run V-Troid locally:
- Clone the repository:
git clone https://github.com/gtxprime/vtroid.git cd vtroid - Setup Credentials:
- Add your custom Firebase
google-services.jsoninside the/appfolder. - Provide local SDK path and signing properties in
local.properties(see docs/SETUP.md).
- Add your custom Firebase
- Build and Run:
./gradlew assembleDebug
Contributions are welcome! If you want to submit a fix or feature:
- Fork the repository.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature). - Commit your Changes (
git commit -m 'Add some AmazingFeature'). - Push to the Branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Distributed under the MIT License. See LICENSE for full details.
GitHub