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
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.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.
MeTube
…ok - what’s wrong with MeTube?
Dunno, you’re referring to your one downvote? I use Metube as well, works pretty well for me so far.
The score was zero when I asked. I thought maybe there was something problematic with it…
deleted by creator
Does tubearchivist fit this bill?
There’s https://github.com/kieraneglin/pinchflat
mainly for YouTube downloads though.
Don’t forget to check out Youtarr. I think it hits all the targets. You can do channels, playlists or individual videos. It has an option for a proxy URL to use to download which I believe can be set up with a self-hosted VPN. And it formats and sends things directly to Jellyfin.
Tangential to your question… but I’m curious if any of these suggestions work with Jellyfin in a way that lets each user subscribe to YouTube channels?
My understanding is that almost all of these solutions will just drop YouTube videos in a directory and then they’ll be available to all users, rather than just the user who might be interested in that content?
I can say that TubeArchivist is essentially single-user. Multiple accounts on a single TA instance will share the same underlying library with a
./library_dir/channel_id/video_id.extdirectory structure. You could run an instance per user for individual TA libraries but, last I looked, the Jellyfin plugin doesn’t support multiple TA instances so it still wouldn’t be able to get the metadata from any instance(s) other than the one it’s configured to. It was a requested feature, on the plugin’s GitHub, but I’m not sure if it’s actively being implemented. The only workaround I can think of for now would be using a shared TA library and then manually tagging the videos in JF and using parental controls to hide them. Billy won’t see vids tagged #SusieYT, Susie has #BillyYT added to her blacklist, etc.
Not what you are asking for, but maybe what you want: https://invidious.io/ is a youtube front end with some features that might or might not make it what you want.
If you want VPN support in docker containers, I was surprised his well gluetun works with any container.
Though ironically metube is the one thing I intentionally took out of the VPN, because too baby sites I cares about blocked it and I didn’t care about VPNs too in that use case.
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 :-(
If you’re using Firefox, then there are a plethora of cookie copiers. I used one, don’t know which now, a while back. Seemed to function for my purposes.
Being unaware of pinchflat, I kinda ended up making my own.
Started off with a little app, the entirety of which was a button that, when pressed, took the link om my clipboard and downloaded the video into my Jellyfin folder. Then I got tired of having to keep it all updated across several different computers I use, so I turned it into something that runs in a docker container on my home server, that I can access through anything in my tailnet. Works beautifully.
If you don’t mind the slop, https://github.com/screwys/Igloo works really good for me :') I will set up automatic container releases later, building yt-dlp/gallery-dl from HEAD
I’ve been using YouTube-DL
I’m enjoying Pinchflat. I looked at TubeArchivist, but it’s a little heavyweight for me. Pinchflat is just one container.
It is a little broken - the refresh button and the page buttons don’t do anything - but I’m accessing the video through Jellyfin so it’s not a problem.