A cutting-edge, multi-platform video downloader with modern UI/UX
Features • Clients • Getting Started • Documentation • Contributing
GrabTube is a comprehensive video downloading solution featuring:
- Web-based GUI - Original Python/Angular application
- Mobile Apps - Native Android and iOS applications (Flutter)
- Desktop Apps - Windows, macOS, and Linux applications (Flutter)
All clients communicate with the powerful yt-dlp backend for downloading from hundreds of sites.
- Technology: Python (aiohttp) + Angular 19
- Status: ✅ Complete
- Features: Full-featured web interface
- Location:
Web-Client/ - 📖 Documentation
- Technology: Flutter 3.24+ (Dart)
- Platforms: Android, iOS, Windows, macOS, Linux
- Status: ✅ Complete with comprehensive testing
- Location:
Flutter-Client/ - Test Coverage: >80% with AI validation
- 📖 Documentation
- ✅ Download from YouTube and 1000+ sites
- ✅ Quality selection (360p to 4K)
- ✅ Multiple format support (MP4, WebM, MP3, etc.)
- ✅ Real-time progress tracking
- ✅ Download queue management
- ✅ Persistent download history
- ✅ QR Code Scanning - Scan QR codes to instantly download videos
- ✅ Native performance on all platforms
- ✅ Material Design 3 with adaptive theming
- ✅ Background downloads with notifications
- ✅ Offline queue management
- ✅ QR Code Scanning with camera integration
- ✅ >80% test coverage with AI validation
- ✅ CI/CD pipeline for automated testing
- 🔗 Universal Link Sharing - Share download links across all devices
- 📱 Cross-Platform Sync - Synchronized download queues and history
- 🌐 Web Integration - Browser extensions and bookmarklets
- 📲 Mobile Sharing - Native sharing integration on mobile devices
- 🔄 Real-time Updates - Live synchronization across all clients
- Backend: Python 3.13+, uv package manager
- Web Client: Node.js (LTS)
- Flutter Client: Flutter 3.24+, Dart 3.5+
cd Web-Client
# Install dependencies
uv sync
# Run the server
uv run python3 app/main.pyServer will start on http://localhost:8081
cd Web-Client/ui
# Install and build
npm install
npm run build
# Development server
npm run start # http://localhost:4200cd Flutter-Client
# Install dependencies
flutter pub get
# Run on your platform
flutter run
# Or build for specific platform:
flutter build apk # Android
flutter build ios # iOS
flutter build linux # Linux
flutter build windows # Windows
flutter build macos # macOS- 📘 Main README - Installation, features, quick start
- 🏗️ Architecture Guide - Clean architecture, BLoC pattern
- 🔌 API Documentation - Backend API reference
- 👤 User Guide - Complete user manual
- 📱 QR Scanning Guide - QR code scanning implementation
- 📊 Implementation Summary - Project completion report
- 📘 Development Guide - Backend architecture and development guide
cd Flutter-Client
# Run all tests
./tools/run_tests.sh
# Individual test suites
flutter test test/unit # Unit tests
flutter test test/widget # Widget tests
flutter test test/integration # Integration tests
patrol test # E2E tests
# AI-powered test validation
python3 tools/ai_test_validator.py| Client | Status | Platforms | Tests | Docs |
|---|---|---|---|---|
| Web Client | ✅ Production | Web | ✅ Complete | |
| Flutter Client | ✅ Production | Android, iOS, Desktop | ✅ >80% | ✅ Complete |
This project is licensed under the MIT License.
- 🐛 Issues: GitHub Issues
- 📚 Documentation: See Flutter-Client/docs/
Made with ❤️ by the GrabTube Team
Empowering users to download content from anywhere, on any platform