I’m looking for a server I can host in my home that has a simple ui where I can put in URLs for download and have them all show up on my Jellyfin. Bonus if there is VPN support.
Update: Thanks to everyone for the suggestions! Several projects to check out: youtube-dl, pinchflat, ytptube, metube, tubearchivist, yt-dlp-webui, ytzero, igloo, youtarr
I’d like to second pinchflat. It’s great. I have it set up to monitor certain channels but also have it set up to monitor a playlist. Anything I add to the playlist gets auto downloaded. I don’t even have to log into it really it just works.
Pinchflat isn’t being maintained and has a few annoying bugs already.
Someone was working on a “community maintained” fork that had a bunch of fixes and new features and were also working on a hard fork with even more features but then last week they abruptly overwrote the history of the repo so there’s nothing but a script to migrate back to the main pinchflat. They also deleted all the packages which means
docker pullnow errors if you have their version. Thankfully someone had a fork of that one saved but the person who saved the fork doesn’t have the programming skills to continue development so we’re back to it not being maintained.Interesting. I’m still running the original but I’ll take a look at this fork. I’ve been looking for a new hobby project.
MeTube
…ok - what’s wrong with MeTube?
Does tubearchivist fit this bill?
tubearchivist is great but probably overkill for someone just looking to subscribe and watch with Plex/Jellyfin instead of the YouTube app.
TA is probably perfect, really. You get the TA Jellyfin plugin , mount TA’s library directory as read-only in Jellyfin, and add that mount as a “Shows” library with TA as the sole metadata provider. Channels become “Show” names and “Seasons” are the upload year. One-way or bi-directional watch progress between JF and TA. I don’t use the feature but I think it supports some sort of organizing by YouTube playlist these days too, maybe as “Collections.”
The only issue I’ve had is JF seems to do some built-in stuff when it comes to filling in metadata based on file names. Occasionally an “S0” or “E12”, as examples, will erroneously put a video into “Specials” (Season 0) or give an “Episode 12” where there shouldn’t be if those or similar substrings are in the Video ID (which is also the filename). My hackish solution, for a while, was a script that ran a sqlite command against the Jellyfin DB to find any videos in the YouTube library with not null episode numbers and set them to null, and also set unexpected seasons to the year of the video’s upload.
I had it automated to run right after my scheduled TA downloads completed but it felt a bit wrong doing that on live DB. So now I just periodically run the query, sans the updating, then fix the metadata from within JF’s UI if there are any query results. I could see that being a little irksome, and beyond what non-hobbyists could figure out, but it’s honestly a small price for me when it means I have all my archived YouTube content organized, with descriptions and thumbnails, with no other real work on my part.
When I tried it I got the feeling it’s more for people looking to backup/archive entire YouTube channels than those (such as myself) basically just having what is functionally an RSS feed of most recent videos released this week (for example).
But like I said, it’s absolutely great at what it does I just found it waaaay too complicated than the simple “use jellyfin as a YouTube app replacement” I was looking for.
Gotcha, that sheds more light. For your use case you’d need to script up some solution that parses the URLs from the feed(s) and sends them to TA’s API. I don’t think it’d be terribly difficult but, if I wasn’t concerned with actually saving the content, I’d turn to something like SmartTube/FreeTube/etc for simplicity and to just stream it.
For OP’s use case, throwing specific URLs at something which will download them and then have them pop up in Jellyfin, I can’t think of anything easier (at least after the initial setup) than TA. Unless any of the other suggestions here can also handle the metadata for JF, there’s gonna be a lot of manual work involved to have videos show up meaningfully and organized in JF.
Can’t get any simpler than the terminal, can you? I just paste links into the terminal after a yt-dlp command.
Sure, but OP specifically asked for a “manager.” Plus typing it out means looking up flags and switches each time
There’s https://github.com/kieraneglin/pinchflat
mainly for YouTube downloads though.
Anybody knows a way to automate cookie passing to the manager? Youtube denies access if cookies are not copied from a valid browser with a youtube account :-(
I’ve been using YouTube-DL
Could they not think of an original name? Calling it YouTube-dl is just unnecessarily lazy and confusing. This appears to be mostly a docker image of yt-dlp, which is itself a fork of youtube-dl.
I mean, I guess I’m not informed enough to know. I just know that this one has a GUI, and certain automation functions. I got it all set up and now I don’t even have to think about it, it just downloads my desired YT vids, which then get scanned by Jellyfin and show up there, which is what OP wanted. 🤷
Does YTZero fit?
https://github.com/Pelski/ytzeroIt likely is overkill but may fit the bill with the ytdlp extension.
Not exactly what I had in mind but I’ll check it out, thanks!








