Skip to content

vaaski/dlpgui

Repository files navigation

dlpgui

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.

dlpgui screenshot

Features

  • Dead-Simple UI
  • Not AI-slopped together
  • Automatic yt-dlp and ffmpeg installation
  • Pick from 3 formats:
    • MP3
    • MP4 (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)

Install

Download the latest release from the releases page.

Direct download links:

Thoughts

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.

Development

Install dependencies:

bun install

Generate Nuxt output (needed for Electrobun first start)

bun run nuxt:generate

Run dev

bun run dev

# watch the console.
# electrobun might be faster than the 5s wait time allocated for nuxt to start up.

Build

Create the generated Nuxt frontend and bundle the desktop app:

bun run build

Future

Again, 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.


Brainmade.org Logo

About

Minimal desktop yt-dlp GUI built with Electrobun, Nuxt 4, and Nuxt UI.

Resources

Stars

Watchers

Forks

Contributors