A powerful command-line download manager with multi-threading support and YouTube capabilities.
- Multi-threaded Downloads - Uses 4-8 threads for faster download speeds
- YouTube Support - Download videos, playlists, and audio-only content
- Progress Tracking - Beautiful terminal progress bars with real-time statistics
- Resume Downloads - Continue interrupted downloads where they left off
- Batch Processing - Download multiple URLs at once
- Colorful Interface - Clean terminal output with color-coded status messages
All dependencies are automatically installed when you run the command:
pip install requests colorama rich yt-dlp urllib3# Download a single file
./odm https://example.com/file.zip ./downloads/
# Use more threads for faster downloads
./odm https://example.com/largefile.zip ./downloads/ -t 8# Download YouTube video (highest quality by default)
./odm https://youtube.com/watch?v=VIDEO_ID ./videos/
# Download audio only
./odm https://youtube.com/watch?v=VIDEO_ID ./music/ --audio-only
# Download entire playlist (creates folder automatically)
./odm https://youtube.com/playlist?list=PLAYLIST_ID ./playlists/
# Custom quality setting
./odm https://youtube.com/watch?v=VIDEO_ID ./videos/ --quality 720p# Resume interrupted download
./odm https://example.com/largefile.zip ./downloads/ --resume
# Enable verbose logging
./odm https://example.com/file.zip ./downloads/ -v
# Set maximum retry attempts
./odm https://example.com/file.zip ./downloads/ --max-retries 5| Option | Description |
|---|---|
-o, --output |
Output directory (default: downloads/) |
-t, --threads |
Number of download threads (default: 4) |
--resume |
Resume interrupted downloads |
--quality |
YouTube video quality (default: best) |
--audio-only |
Download audio only for YouTube videos |
--playlist |
Download entire YouTube playlist |
--verbose, -v |
Enable verbose logging |
--max-retries |
Maximum download retries (default: 3) |
# Basic file download
./odm https://example.com/document.pdf ~/Downloads/
# High-speed download with 8 threads
./odm https://example.com/largefile.zip ./downloads/ -t 8
# YouTube playlist download (auto-creates folder)
./odm https://youtube.com/playlist?list=PLAYLIST_ID ./music/
# Audio-only download with verbose output
./odm https://youtube.com/watch?v=VIDEO_ID ./music/ --audio-only -v- Green - Success messages and progress completion
- Yellow - Processing and warning messages
- Red - Error messages
- Cyan - Information and statistics
- Multi-threading: Splits large files into chunks for parallel downloading
- Resume Support: Uses HTTP range requests to continue partial downloads
- Error Handling: Automatic retries with exponential backoff
- Progress Tracking: Real-time speed, ETA, and completion statistics
- YouTube Integration: Built on yt-dlp for reliable video extraction