FastTube Downloader is a powerful, IDM-style universal download manager for Linux. It works with any website and any file type - not just YouTube! It combines the robustness of yt-dlp and aria2 with a modern, dark-themed GTK interface.
- Universal Download Support: Download from any website, not just YouTube
- All File Types: Videos, music, documents, archives, programs, images - everything!
- IDM-Style Categories: Auto-organize files into Videos/, Music/, Documents/, Archives/, etc.
- Playlist Folder Organization: Playlists download to
Videos/[PlaylistName]/ - Background Downloads: Runs in background without blocking your workflow
- Context Menu Integration: Right-click any link to "Download with FastTube"
- System Tray Support: Minimize to tray for background operation
- Browser Extension v2.1.2: Works on ALL websites with download interception
- Rust-Powered Engine: Optional high-performance download engine (3-5x faster)
- Improved Performance: Faster downloads with optimized connection handling
- IDM-Style Interface: Modern dark UI with blue gradients, card-style list items, and animated progress bars
- Universal Browser Integration: Chrome/Chromium/Firefox extension intercepts downloads from any site
- High Performance: Uses
aria2for multi-connection downloads andyt-dlpfor video extraction - Smart Categorization: Automatically sorts downloads into category folders
- Playlist Support: Automatically organizes playlist downloads into subfolders
- Detailed Stats: Real-time display of download speed, ETA, and file size
- Queue Management: Pause, resume, and prioritize downloads
- Drag & Drop: Drop URLs directly into the window
- Python 3.8+
yt-dlparia2- GTK3 and Python GObject bindings
-
Clone the repository:
git clone https://github.com/Dawaman43/FastTubeDownloader.git cd FastTubeDownloader -
Run the setup script:
sudo ./setup.sh
This will install the app to
/opt/FastTubeDownloader, create a desktop entry, and set up the native messaging host for browser integration. -
Install the Browser Extension:
Chrome/Chromium:
- Open Chrome/Chromium and go to
chrome://extensions - Enable Developer mode
- Click Load unpacked
- Select the
FastTubeDownloaderfolder (wheremanifest.jsonis located) - Note the Extension ID. If it differs from the one in
EXTENSION_ID_GUIDE.md, updatenative_host/com.fasttube.downloader.jsonand re-runsetup.sh
Firefox:
- Open Firefox and go to
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on
- Select
manifest.firefox.jsonfrom the FastTubeDownloader folder
- Open Chrome/Chromium and go to
- Launch the App: Open "FastTube Downloader" from your applications menu
- Download:
- From Browser: Navigate to any website. The extension will intercept downloads and send them to the app
- Context Menu: Right-click any link β "Download with FastTube"
- Manual: Paste a URL into the "Add URL" box in the app and click "+"
- Manage: Use the toolbar buttons to pause, resume, or remove downloads
Thanks to yt-dlp, FastTube supports 1000+ video sites including:
- YouTube (videos, playlists, channels)
- Vimeo, Dailymotion, Twitch
- Facebook, Instagram, Twitter, TikTok
- And many more!
Plus direct downloads from any website for:
- Videos (.mp4, .mkv, .webm, etc.)
- Music (.mp3, .flac, .m4a, etc.)
- Documents (.pdf, .docx, .xlsx, etc.)
- Archives (.zip, .rar, .7z, etc.)
- Programs (.deb, .rpm, .AppImage, etc.)
- Images (.jpg, .png, .gif, etc.)
FastTube automatically organizes your downloads:
~/Downloads/
βββ Videos/
β βββ MyPlaylist/ # Playlists get their own folder
β β βββ Video1.mp4
β β βββ Video2.mp4
β βββ SingleVideo.mp4
βββ Music/
β βββ Song.mp3
βββ Documents/
β βββ Report.pdf
βββ Archives/
β βββ Files.zip
βββ Programs/
βββ app.AppImage
For maximum download speed, build the optional Rust engine:
# Install Rust (one-time setup)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
# Build with Rust engine
sudo ./setup.sh --with-rustBenefits:
- 3-5x faster downloads for large files
- Lower CPU and memory usage
- Better connection management
If Rust isn't available, the app automatically falls back to aria2c (still fast!).
See BUILD_RUST.md for details.
Settings are stored in ~/.config/FastTubeDownloader/config.json:
- Download Folder: Base directory for downloads
- Category Mode:
idm(categorized) orflat(single folder) - Max Connections: Number of parallel connections per download
- Max Concurrent: Number of simultaneous downloads
- Speed Limit: Download speed limit in KB/s
To create packages for your distribution:
./release.shThis will generate:
- RPM:
dist/rpm/(requiresrpmbuild) - DEB:
dist/deb/(requiresdpkg-deb) - Arch:
dist/arch/(PKGBUILD, requiresmakepkg) - AppImage:
dist/appimage/(requiresappimagetool)
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
# Clone
git clone https://github.com/Dawaman43/FastTubeDownloader.git
cd FastTubeDownloader
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install yt-dlp
# Run the app
python3 gui/main_window.pyMIT License - see LICENSE for details.
- yt-dlp - YouTube and video site downloader
- aria2 - Multi-protocol download utility
- All our contributors!
Made with β€οΈ for the open source community
