TuS-DL is a powerful, user-friendly web application that lets you download videos, audio, and media from 1000+ websites including YouTube, Instagram, TikTok, Twitter, and many more. Built with Python Flask and yt-dlp, it provides a clean interface with real-time progress updates and flexible download options.
- 🌐 Multi-site Support: Download from 1000+ sites
- 📊 Real-time Progress: Live download progress with speed, ETA, and file size
- 📱 Responsive Design: Works on desktop and mobile devices
- 🎵 Audio Extraction: Download as MP3 audio
- 🎞️ Quality Options: Choose from multiple quality options (Best, 1080p, 720p)
- 🔐 Cookie Management: Automatic or manual cookie handling for authenticated downloads
- 🧹 Auto Cleanup: Files are deleted after download for privacy
- 🔄 Resume Downloads: Automatic recovery of interrupted downloads
- Python 3.10 or higher
- pip (Python package installer)
- FFmpeg (for media processing)
# Clone the repository
git clone https://github.com/imtrt004/tus-dl.git
cd tus-dl
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows, use: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the application
python app.pyThen visit http://127.0.0.1:5000 in your browser.
Want to contribute? Great! Here's how to set up for development:
# Install development requirements
pip install -r dev-requirements.txt
# Run tests
pytest- Enter a URL from any supported site
- Select your preferred format (Best quality, 1080p, 720p, or Audio)
- Click "Download" and watch real-time progress
- When complete, click "Download Now" to save the file
The application includes a simple API:
GET /api/supported_sites- Returns list of all supported sitesPOST /download- Initiates a downloadGET /progress/{task_id}- SSE endpoint for progress updatesGET /get_file/{filename}- Downloads a completed file
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read CONTRIBUTING.md for details on our code of conduct and process.
TuS-DL follows a clean modular architecture:
- Frontend: HTML, CSS, JavaScript with vanilla JS for minimal dependencies
- Backend: Flask Python web framework
- Download Engine: yt-dlp with custom progress hooks
- Real-time Updates: Server-Sent Events (SSE) for live progress
- File Management: Automatic cleanup and secure file handling
TuS-DL supports over 1000 sites including:
- Video platforms (YouTube, Vimeo, Dailymotion)
- Social media (Instagram, TikTok, Twitter, Facebook)
- Music platforms (SoundCloud, Bandcamp)
- News sites, educational platforms, and much more
See the complete list on the Supported Sites page.
- Download Fails: Try using cookie extraction for sites requiring login
- No Video Found: The URL might be incorrect or the content might be private
- Slow Downloads: Try a different format or check your internet connection
If you encounter any issues:
- Check the Issues page
- Search for similar problems
- Open a new issue with detailed reproduction steps
Features planned for future releases:
- Bulk download support
- Custom download queue management
- Playlist/channel batch processing
- Subtitles extraction options
- Advanced video trimming
- API key for programmatic access
This project is licensed under the MIT License - see the LICENSE file for details.
- yt-dlp - The powerful downloader that powers this app
- Flask - The web framework used
- Contributors - All the amazing people who have contributed
This tool is for educational purposes only. Always respect copyright laws and terms of service for the content you download. Please use TuS-DL responsibly.
Have questions? Reach out at Telegram
Made with ❤️ by TuS-DL Team


