RustTube is a simple Windows desktop GUI for yt-dlp, written in Rust.
It is designed to make downloading videos and audio easier for users who do not want to work with command-line tools directly. You can paste a supported URL, preview the media, choose a format and quality, and download it with a few clicks.
- Simple Windows GUI built with Rust
- Supports URLs handled by
yt-dlp - Video download mode
- MP3 audio download mode
- Manual format selection mode
- Media preview with thumbnail, title, creator, and duration
- Live output log
- Download progress display
- Cancel running downloads
- Select custom target folder
- Tool management inside the app
- Optional installer build with Inno Setup
RustTube uses yt-dlp for extraction and downloading.
Depending on what you want to download, it can also use:
ffmpegffprobedeno
The app can download these tools into its own tools folder when needed.
RustTube/
assets/
icon.ico
scripts/
build.bat
build.ps1
setup.iss
src/
app_model.rs
icon.rs
main.rs
preview.rs
process_utils.rs
progress.rs
runtime_tools.rs
settings.rs
build.rs
Cargo.toml
- Windows
- Rust toolchain
- Cargo
Optional:
- Inno Setup 6, if you want to build the installer
- GitHub CLI (
gh), if you want to create GitHub releases from the build script
Start the app locally with:
cargo runThe project includes a PowerShell-based build script:
.\scripts\build.ps1or:
scripts\build.bat0= Check GitHub CLI1= Build app package2= Build app package + installer3= Build installer only4= Build app package + installer + upload both release files5= Build app package + installer + zip + upload all release files
When using build mode 1, 2, 4, or 5, the script automatically increases the patch version in Cargo.toml.
The installer is built with Inno Setup and installs RustTube into:
AppData\Roaming\jonasgrimm.de\RustTube
The uninstaller is configured to remove the RustTube folder again on uninstall.
RustTube stores its downloaded helper tools in:
AppData\Roaming\jonasgrimm.de\RustTube\tools
The app can also open the tool folder, settings folder, and program folder directly from the UI.
If GitHub CLI is installed and authenticated, the build script can optionally:
- create a GitHub release
- upload
RustTube-Setup.exe - upload
RustTube.exe - upload
RustTube.zip
This is available after an installer build.
- RustTube is a GUI frontend for
yt-dlp; it does not replaceyt-dlp - Download support depends on what
yt-dlpcurrently supports - Some websites may require additional external runtimes or may change over time
This project is licensed under the MIT License.