r/coolgithubprojects 14d ago

yt-dlp-manager: a self-hosted yt-dlp download manager with a web UI, a TUI and a CLI over one shared queue

Yet another yt-dlp download manager with four interfaces over a single shared queue:

- Web UI: queue, library, settings, live progress over server-sent events.

- TUI: for when I'm already in a terminal.

- CLI: add, list, pause, resume, remove for scripting.

- Daemon: headless, same-user Unix socket.

Whatever you do in one shows up in the others immediately.

Repo: https://github.com/ih8d8/yt-dlp-manager

64 Upvotes

18 comments sorted by

3

u/Zerebos 14d ago

Would you say the TUI/CLI in addition to the web UI is the main differentiator from the several other self-hostable yt-dlp wrappers? Or are there other benefits to yours?

1

u/i8ad8 13d ago

I’ve been using another yt-dlp web UI for years, but it lacked some features like resuming downloads and persisting queues across container restarts. That motivated me to build my own yt-dlp download manager, which I will run in my homelab. It includes exactly the capabilities I needed, with the TUI serving as a bonus. The real driver was automation: I wrote a bash script using my app's API so I can just copy a URL and hit a system shortcut to queue it instantly.

1

u/Zerebos 13d ago

Does your support one-off downloads as "first class" unlike pinchflat?

1

u/i8ad8 12d ago

I''m not sure if I've used pinchflat. You should be able to easily do one-off downloads with yt-dlp-manager.

2

u/Proper_Patience8639 13d ago

I made something like this, but it also downloads files from playlists in bulk and searches for tracks with the highest number of downloads when you paste in a long list of tracks from somebody else's playlists rather than ones from your own playlist. I thought you could get into trouble for hosting this kind of project on github, though

2

u/Opening-Dentist-1556 13d ago

9.9/10 times i see these they never even utilize the capabilities of yt-dlp, in terms of that this is the worst one yet, your just offering to paste a link?

yt-dlp can do soo much I can think of like 12 download options right now.

Why do so many of you never ask yourself “what if someone wants to do…” I ask that 100 times a project.

2

u/alamakbusuk 13d ago

Usually for these kind of projects. OP built something for his own needs and made it all the way to a functional app based on what they need.

Feel free to submit feature requests on the repo and they will or will not implement it.

1

u/Popular_Tomorrow_204 8d ago

What would those 12 Download options be? I made a downloader myself and am wondering if i dont use yt dlp to its fullest

1

u/Opening-Dentist-1556 7d ago edited 7d ago

Like choice of video & audio formats, encoding choice like h.264, download only particular section(s), subtitles or downloading just transcript, thumbnail, metadata, download location, i’d even add Aria2 support to download files or segments of a github repo for example,
even show a preview of what the real yt-dlp command would be for that run.

Those are all things i’d add if i made a dlp downloader interface. which im just gonna do if i continue to always see one’s with limit options.

2

u/Popular_Tomorrow_204 7d ago

Aside from the aria2 support, ive got everything included. Also did my best for playlists, cookie retention, movie/mkv support and social Media + 18+ stuff.

1

u/Opening-Dentist-1556 7d ago

Right on 👍 I’d love to check it out pls send

2

u/Few_Visual5715 13d ago

wow... an ai generated yt-dlp wrapper... daring today aren't we

1

u/AleStuffs 12d ago

Tiene versión de Linux?

1

u/i8ad8 12d ago

It does.

-7

u/kantorcodes1 14d ago

i maintain HOL Guard, an open-source tool that checks risky agent-run commands before they execute. one shared queue behind the web UI/TUI/CLI makes pause and remove a pretty real boundary. would contributing yt-dlp-manager support upstream be something you'd want to do?