A simple desktop app for grabbing videos and audio from YouTube and Instagram. Built with Go and Wails (web tech frontend), using yt-dlp under the hood to do the heavy lifting.
- Features
- Getting Started
- How to Use
- Keyboard Shortcuts
- Technical Details
- Requirements
- Troubleshooting
- Contributing
- License
- Multiple resolutions - From 144p up to 4K (2160p)
- Best quality option - Automatically picks the highest available
- Smart codec handling - Uses H.264 video + AAC audio for maximum compatibility
- WebM support - Available with VP9/AV1 + Opus for better quality
- Multiple formats - MP3, M4A, Opus, or WAV
- High quality output - Uses best available source and converts to your chosen format
- MP3: V0 quality (~245kbps)
- M4A: AAC 192kbps
- WAV: 16-bit PCM 44.1kHz stereo
- YouTube - Videos, shorts, live streams
- Instagram - Reels, posts, stories, TV videos
- Playlist support - Download entire playlists or select specific videos
- File size preview - See file sizes before downloading
- Live progress - Real-time speed, ETA, and percentage tracking
- Cancel anytime - Clean cancellation with automatic temp file cleanup
- Auto-retry - Failed downloads retry up to 3 times automatically
- Duplicate detection - Warns if content was already downloaded
- Custom download folder - Set once, remembers forever
- Download history - View past downloads, filter by type, open file location
You'll need Go 1.24 or newer installed.
# Clone the repository
git clone https://github.com/Aswanidev-vs/Predator.git
cd Predator
# Install dependencies
go mod downloadDevelopment mode:
wails devBuild for production:
wails buildFirst time setup: The app will ask to download yt-dlp and ffmpeg automatically. Just say yes - it handles everything and caches them locally. No need to install anything else manually.
- Open the app - It'll show the main download tab
- Set your download folder - Click "Change Download Location" (or it'll use the current folder)
- Paste a URL - YouTube or Instagram links both work
- Pick your format:
- For video: Choose resolution (144p to 4K, or "best")
- For audio: Pick format (MP3, M4A, Opus, WAV)
- Hit download - Watch the progress bar do its thing
Pro tips:
- Playlists show a modal where you can select specific videos to download
- Click the folder icon in history to open where a file is saved
- The app auto-updates yt-dlp to the latest version on each download
- Container: MP4 (with WebM option)
- Video codec: H.264 (avc1) for maximum device compatibility
- Audio codec: AAC (m4a) for best audio quality
- Fallback handling: If preferred codec isn't available, automatically falls back to next best option
- Uses best available source (webm/opus or m4a/aac) and converts to your chosen format using ffmpeg
- Downloads: User-selected folder or
PREDATOR_OUTPUT_DIRenvironment variable - History:
~/.predator/history.json(keeps last 100 items) - Settings:
~/.predator/settings.json - Dependencies:
~/.cache/yt-dlp/(yt-dlp, ffmpeg, ffprobe)
- Concurrent downloads: Max 3 at a time to not overwhelm your connection
- Progress updates: Every 200ms for smooth progress bars
- Speed smoothing: Uses exponential moving average for stable speed display
- Cancelled downloads automatically clean up
.partand temp files - Failed downloads after max retries also trigger cleanup
- Go 1.24+
- Internet connection
- yt-dlp and ffmpeg (auto-installed on first run)
The app will prompt you to download ffmpeg on first run. If you skip it, you can:
- Install ffmpeg manually from ffmpeg.org
- Or delete
~/.cache/yt-dlp/and restart the app - it'll ask again
- Check your internet connection
- YouTube might be throttling (try a different resolution)
- Max 3 concurrent downloads - close other apps using bandwidth
- Try a lower resolution
- The video might be region-locked or unavailable
- Try using "best" option for auto-selection of best available
- Check if your download folder is writable
- Try a different download location
Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines.
This tool is for educational and personal use only.
- Respect copyright laws and YouTube's Terms of Service
- Only download content you own or have permission to download
- Don't use this to redistribute copyrighted material
- The authors aren't responsible for how you use this tool
Basically: be cool, don't pirate stuff you shouldn't.
MIT License - see LICENSE file.
Built with Wails + Go + vanilla JS. No React, no bloat.
