Minimal GUI for the great yt-dlp built with Electrobun, Nuxt 4, and Nuxt UI.
This was mainly a 2-day exercise to get my hands dirty with Electrobun, the Oxc toolchain and Nuxt/Vue i18n.
Also uses ytdlp-nodejs with some of the binary downloading logic adapted to my needs.
- Dead-Simple UI
- Not AI-slopped together
- Automatic
yt-dlpandffmpeginstallation - Pick from 3 formats:
MP3MP4(fastest combined audio+video, youtube limits this to around 720p)MP4 (best quality)(uses ffmpeg to combine best video and audio)
- Pick custom or from a list of common download locations
- Paste from clipboard button
- Progress reporting
- Button to show downloaded file in folder
- Light and dark modes
- Auto-updates
- German and English translations (both bad)
- Custom yt-dlp channel (stable or nightly)
- Windows and Mac versions (can't be bothered to test on linux)
Download the latest release from the releases page.
Direct download links:
Electrobun is great. Documentation could use some work, but I really haven't missed any features. I also love that I can pick CEF or the system webview without a single line of Rust. Auto-updates out of the box are fantastic.
I think I'll give Oxc a bit more time, I already invested a lot into my ESLint (+stylistic) config and I don't mind it enough right now to make the switch. Seems inevitable though.
Nuxt/Vue i18n is cool, but I need to put some more time into making it type-safe and stuff.
Install dependencies:
bun installGenerate Nuxt output (needed for Electrobun first start)
bun run nuxt:generateRun dev
bun run dev
# watch the console.
# electrobun might be faster than the 5s wait time allocated for nuxt to start up.Create the generated Nuxt frontend and bundle the desktop app:
bun run buildAgain, this was just an exercise to touch some new tech. This might not ever be updated, or updated very frequently if I feel like it.
I am open to contributions though.