this post was submitted on 25 Apr 2025
29 points (100.0% liked)

Selfhosted

46290 readers
389 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Hi folks. So, I know due to a myriad of reasons I should not allow Jellyfin access to the open internet. However, in trying to switch family over from Plex, I'll need something that "just works".

How are people solving this problem? I've thought about a few solutions, like whitelisting ips (which can change of course), or setting up VPN or tail scale (but then that is more work than they will be willing to do on their side). I can even add some level of auth into my reverse proxy, but that would break Jellyfin clients.

Wondering what others have thought about for this problem

top 37 comments
sorted by: hot top controversial new old
[–] Appoxo@lemmy.dbzer0.com 1 points 7 minutes ago

I share Jellyfin.

Behind a Reverse Proxy with 2FA that breaks client support.
So only web browser :)

[–] Shimitar@downonthestreet.eu 14 points 5 hours ago (1 children)

You can share jellyfin on the net. I do.

The issues shared wide and large are mostly moot points, where the attacker needs to already have access to the jellyfin itself to have any surface.

Its FUD and I am convinced spread by Plex people in an effort to cover up their fuckup and enshittyfication.

[–] MaggiWuerze@feddit.org 1 points 6 minutes ago

Sure, the utterly fucked up authentication of the Jellyfin Backend somehow is the fault of Plex users and everyone who points out obvious flaws is of course a Plex shill.

Maybe you should take a look at what you are defending here. The fact that the devs openly refuse to fix this to maintain backwards compatibility, thus endangering their users speaks a lot about the quality of the project

[–] daniskarma@lemmy.dbzer0.com 17 points 6 hours ago* (last edited 5 hours ago) (2 children)

You can share jellyfin over the net.

The security issues that tend to be quoted are less important than some people claim them to be.

For instance the unauthorized streaming bug, often quoted as one of the worst jellyfin security issues, in order to work the attacker need to know the exact id of the item they want to stream, which is virtually impossible unless they are or have been an authorized client at some point.

Just set it up with the typical bruteforce protections and you'll be fine.

[–] MaggiWuerze@feddit.org 2 points 12 minutes ago

It's not impossible, Far from it. The ids are not random uuids but hashes derived from the path. Since most people have a similar setup to organize their media, this gets trivial very fast

[–] BlackEco@lemmy.blackeco.com 7 points 5 hours ago* (last edited 5 hours ago)

This. Just setup fail2ban or similar in front of Jellyfin and you'll be fine.

[–] fishynoob@infosec.pub 4 points 4 hours ago (1 children)

I don't do this, but I would set up oAuth like Authelia or something behind a reverse-proxy and authenticate Jellyfin clients through that.

[–] scrubbles@poptalk.scrubbles.tech 4 points 4 hours ago (1 children)

that's what I'd like personally, but I don't think the clients would play nice with that

[–] fishynoob@infosec.pub 1 points 2 hours ago

They are out of luck if using the Android TV client but web browser should be fine

I do. I run it behind a caddy service so it's secured with an SSL. The port is running on a high non standard one. I do keep checking access logs but haven't had a peep apart from the 1 person I shared it with

[–] Chocrates@lemmy.world 6 points 6 hours ago (1 children)

When I did this I set up a VPN on my network and forced anyone that wanted to use it to get on my network.

[–] Blue_Morpho@lemmy.world 3 points 5 hours ago (1 children)

How does that work with Roku/smart TVs?

[–] Chocrates@lemmy.world 5 points 5 hours ago

Probably doesn't. Might need to use the router to get the whole network on th vpn

[–] RonnyZittledong@lemmy.world 3 points 5 hours ago (1 children)

You could probably set up a cloudflare tunnel. I forget what they call it. I think technically sending video through it is against their TOS but if just a few friends and family are using it I doubt you will hit their naughty list.

[–] Censed@lemmy.zip 1 points 4 hours ago (1 children)

I've heard mixed responses about how sensitive they are about routing video through their service. I've heard some people are just fine running jellyfin/Plex while others get shut down from routing a security system through it.

[–] Clusterfck@lemmy.sdf.org 1 points 4 hours ago

I've used it about 2 years now. I have both Jellyfin and even had Invidious for a while. I don't even know it was against any terms until right now.

[–] TheButtonJustSpins@infosec.pub 1 points 4 hours ago

I've been making people use VPN, but that's been a huge barrier to entry. I'm in the process of switching to IP allow list in traefik.

[–] ch8zer@lemmy.ca 5 points 6 hours ago (1 children)

AppleTV + Tailscale in and it’s been a flawless experience.

[–] scrubbles@poptalk.scrubbles.tech 2 points 6 hours ago (1 children)

How do you do a tailscale with apple tv?

[–] ch8zer@lemmy.ca 5 points 6 hours ago (1 children)

You can install it right on the TV, they have a first party app.

[–] scrubbles@poptalk.scrubbles.tech 0 points 5 hours ago (2 children)

Right the jellyfin side, but how do you get it to go through tailscale? I'm not as familiar with tailscale, I only use openvpn

[–] ch8zer@lemmy.ca 6 points 4 hours ago (1 children)

Tailscale has an AppleTV app, just download it and add it to your talent.

Ohhh okay! Interesting, and thank you!

[–] Drusenija@aussie.zone 4 points 4 hours ago (1 children)

tvOS supports VPN connections directly on the Apple TV. Haven't tried it myself but I assume you just download the Tailscale app, set it up, and then it should just work.

Thanks! Interesting they support them now!

[–] Xanza@lemm.ee 2 points 5 hours ago

There are two routes. VPN and VPS.

VPN; setup wireguard and offer services to your wireguard network.

VPS; setup a VPS to act as a reverse proxy for your jellyfin instance.

Each have their own perks. Each have their own caveats.

[–] lowspeedchase@lemmy.dbzer0.com 3 points 6 hours ago (1 children)

Making a note so I can find this again - also I have been loving JellyFin over Plex.

[–] Blue_Morpho@lemmy.world 2 points 5 hours ago (1 children)
[–] lowspeedchase@lemmy.dbzer0.com 3 points 5 hours ago (1 children)

Yup, I like jelly more - not that I have one running over the other lol

[–] Blue_Morpho@lemmy.world 3 points 5 hours ago

I thought there was some way to use Jelly on the backend with a Plex client!

[–] Codilingus@sh.itjust.works 2 points 5 hours ago (1 children)

Reverse proxy with CrowdSec, which has setups specifically for Jellyfin. Docker for everything.

Now that's interesting, what is the purpose of the reverse proxy, don't you still need something exposed then?

[–] skankhunt42@lemmy.ca 2 points 6 hours ago (1 children)

Hang on, why not open the port to jellyfin to the internet?

I have a lifetime Plex pass so its not urgent but I have a containers running emby and jellyfin to check them out. When I decide which one I planned to open it up and give people logins.

[–] Selfhoster1728@infosec.pub 4 points 6 hours ago* (last edited 6 hours ago) (1 children)

See this issue on their github repo: here

Basically from what I understand there's loads of unauthenticated api calls, so someone can very easily exploit that.

If they just supported mTLS in their clients it wouldn't be an issue but oh well :(

[–] exu@feditown.com 2 points 46 minutes ago (1 children)

The main unauthenticated action is video streaming, but an attacker would need to guess the correct id by chance.

https://github.com/jellyfin/jellyfin/issues/5415#issuecomment-2825240290

[–] MaggiWuerze@feddit.org 1 points 9 minutes ago

It's not chance if the I'd is based on the path to your media. There's but that much variation in the path to a certain movie and its trivial to build a rainbow table to try them out. This way unauthenticated users can not only stream from your server but effectively map your library

[–] themachine@lemmy.world -1 points 5 hours ago

I just expose it to the internet.