Rustloader is a powerful, versatile command-line tool for downloading videos and audio from various online platforms. Built with Rust for maximum performance and reliability.
- Download videos in various quality options (480p, 720p, 1080p)
- Extract audio in MP3 format
- Download specific segments using start and end time markers
- Download entire playlists
- Automatically fetch subtitles
- Progress bar tracking
- Desktop notifications when downloads complete
- Automatic dependency checking and updates
Rustloader depends on these external tools:
- yt-dlp - For video extraction
- ffmpeg - For media processing
The automatic installation script will install these for you. If you're installing manually, see the Manual Dependencies Installation section below.
For Linux and macOS users, we provide an automatic installation script that handles everything for you:
curl -sSL https://raw.githubusercontent.com/ibra2000sd/rustloader/main/install.sh | bash
This script will:
- Install Rust if not already installed
- Install all dependencies (yt-dlp and ffmpeg)
- Build and install rustloader
- Add rustloader to your system PATH
- Verify the installation works correctly
For security-conscious users, you can download the script first, review it, and then run it:
curl -O https://raw.githubusercontent.com/ibra2000sd/rustloader/main/install.sh
chmod +x install.sh
./install.sh
-
Install Rust and Cargo (if not already installed):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Clone the repository:
git clone https://github.com/ibra2000sd/rustloader.git cd rustloader
-
Build and install:
cargo install --path .
Rustloader will check for and notify you about missing dependencies, but you can install them ahead of time:
brew install yt-dlp ffmpeg
sudo apt update
sudo apt install python3 python3-pip ffmpeg
pip3 install --user --upgrade yt-dlp
- Install yt-dlp: https://github.com/yt-dlp/yt-dlp#installation
- Install ffmpeg: https://ffmpeg.org/download.html#build-windows
If you've installed using cargo install
, the binary is automatically added to your PATH at ~/.cargo/bin/rustloader
.
To manually add to PATH:
-
Find the binary location:
which rustloader
-
Add to your shell profile (
.bashrc
,.zshrc
, etc.):echo 'export PATH=$PATH:/path/to/rustloader/binary' >> ~/.bashrc source ~/.bashrc
-
Find the binary location (typically in
%USERPROFILE%\.cargo\bin
) -
Add to PATH:
- Right-click on 'This PC' or 'My Computer' and select 'Properties'
- Click on 'Advanced system settings'
- Click the 'Environment Variables' button
- Under 'System variables', find and select 'Path', then click 'Edit'
- Click 'New' and add the path to the directory containing rustloader.exe
- Click 'OK' on all dialogs to save changes
rustloader [URL] [OPTIONS]
To see all available options and commands:
rustloader --help
# or
rustloader -h
This displays a comprehensive help message with all available options, arguments, and their descriptions.
-
Download a video in default quality:
rustloader https://www.youtube.com/watch?v=dQw4w9WgXcQ
-
Download in specific quality:
rustloader https://www.youtube.com/watch?v=dQw4w9WgXcQ --quality 720
-
Download audio only:
rustloader https://www.youtube.com/watch?v=dQw4w9WgXcQ --format mp3
-
Download a specific section:
rustloader https://www.youtube.com/watch?v=dQw4w9WgXcQ --start-time 00:01:30 --end-time 00:02:45
-
Download with subtitles:
rustloader https://www.youtube.com/watch?v=dQw4w9WgXcQ --subs
-
Download a playlist:
rustloader https://www.youtube.com/playlist?list=PLxxxxxxx --playlist
-
Specify output directory:
rustloader https://www.youtube.com/watch?v=dQw4w9WgXcQ --output-dir ~/Videos/music
Option | Short | Description |
---|---|---|
--help |
-h |
Display help information |
--version |
-V |
Display version information |
--quality |
-q |
Video quality (480, 720, 1080) |
--format |
-f |
Output format (mp4, mp3) |
--start-time |
-s |
Start time (HH:MM:SS) |
--end-time |
-e |
End time (HH:MM:SS) |
--playlist |
-p |
Download entire playlist |
--subs |
Download subtitles if available | |
--output-dir |
-o |
Specify custom output directory |
--bitrate |
Set video bitrate (e.g., 1000K) |
If you encounter a 403 Forbidden error, it might be because YouTube is detecting automated downloads.
Solutions:
- Update yt-dlp to the latest version (Rustloader attempts this automatically)
- Create a cookies.txt file in your home directory (~/.cookies.txt) by exporting cookies from your browser
- Make sure both yt-dlp and ffmpeg are installed and in your PATH
- Check that you have write permissions for the download directory
- Verify that your internet connection is stable
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.