Moving from Cloudflare tunnels for media streaming, first plan didn't work out due to double NAT
from chriscrutch@lemm.ee to selfhosted@lemmy.world on 03 Apr 02:22
https://lemm.ee/post/60230831

I have several services on my home server, most of which I access using Tailscale, and it works great. I had a couple services on Cloudflare tunnels in order to access them from devices that I can’t put Tailscale on.

Plex is going to start charging for remote access. So I figured now would be the time to migrate to Jellyfin. But using Jellyfin on Cloudflare tunnels is against their TOS. I have a Roku TV at a remote location that I use to watch Plex. I won’t be able to do that anymore. And I can’t put Tailscale on it to serve Jellyfin that way.

I was going to set up Nginx Proxy Manager to use my domain name for Jellyfin so I didn’t have to use Cloudflare tunnels. But in setting that up I found out that my ISP is double NATting me, and I haven’t been able to find a way around it.

So I’m left with two options: 1) buy Plex Pass so I can continue to stream remotely; or 2) get a VPS, run Tailscale and NPM on it and switch to Jellyfin.

I’m looking for a sanity check to make sure the VPS thing would work the way I think it would. If it’s running Tailscale then the double NAT would be a non-issue, correct? Is there another option that I haven’t thought of yet? Which of the two options would you choose?

#selfhosted

threaded - newest

SirMaple__@lemmy.ca on 03 Apr 02:33 next collapse

Do not. I repeat do not expose Jellyfin to the internet. It has too many security issues to be directly accessible from the internet.

I use Jellyfin and only access it over WireGuard. I have a mesh setup between the routers at a few family members houses.

If you have absolutely no other way then to expose it to the internet you need to make sure that you whitelist only the approved IPs in your VPS firewall and block everything else.

chriscrutch@lemm.ee on 03 Apr 02:40 next collapse

Thanks for mentioning that. I’ll have to look into it. If I could install Tailscale on a RokuTV I’d absolutely run it that way.

ladfrombrad@lemdro.id on 03 Apr 19:31 collapse

I haven’t seen no one mention it yet but you could simply buy a Rasp Pi and use it as a subnet router for your Tailnet.

It’s how I set up a family members Jellyfin/NAS/etc which I can access all their devices by local IP address, and you could do for your Roku too?

kylian0087@lemmy.dbzer0.com on 03 Apr 05:22 next collapse

I don’t really agree with you here. If you take the time to set things up properly. And prepare for IF something would happen. Your fine. Been running a exposed jellyfin server for years now. Never hat a security issue. And even if I would, not much harm could be done anyway due to how it is setup.

[deleted] on 03 Apr 06:13 next collapse
.
SirMaple__@lemmy.ca on 03 Apr 09:50 collapse

github.com/jellyfin/jellyfin/issues/5415

Auli@lemmy.ca on 03 Apr 11:53 collapse

Have you even looked at what you are posting? Most of those are fixed. And most are who cares.

Max_P@lemmy.max-p.me on 03 Apr 06:16 next collapse

I keep hearing claims that it’s not secure enough to be exposed on the Internet, but I can’t seem to find anything about unauthenticated vulnerabilities. It’s got a fair amount of CVEs but they all seem to affect when you’re an already authenticated user, mainly to XSS an admin as a regular user or the likes.

It’s written in C#, and publicly all you can do is pretty much attempt to log in, this feels like it should be pretty sane compared to some other PHP crap I run.

Do you have any examples of previous exploits or anything else to be concerned about?

SirMaple__@lemmy.ca on 03 Apr 09:51 collapse

github.com/jellyfin/jellyfin/issues/5415

Strit@lemmy.linuxuserspace.show on 03 Apr 10:15 collapse

Most of the relevant issues they link to has been closed and/or dealt with.

L_Acacia@lemmy.ml on 03 Apr 09:37 collapse

you can add authentic/authelia with keys for login and it should be fine

oxideseven@lemmy.ca on 03 Apr 03:24 next collapse

Wasn’t it brought up last week ina thread about Plex charging that it is NOT against cloudflare TOS anymore?

Darkassassin07@lemmy.ca on 03 Apr 14:49 collapse

blog.cloudflare.com/updated-tos/

Finally, we made it clear that customers can serve video and other large files using the CDN so long as that content is hosted by a Cloudflare service like Stream, Images, or R2.

Midnight1938@reddthat.com on 03 Apr 07:50 next collapse

Tailscale funnel is a vqlid option too

dan@upvote.au on 03 Apr 08:11 next collapse

There’s no reason your media server needs to be directly exposed to the public internet. Use Tailscale. Get everyone that uses it to sign up for a Tailscale account, and add them all to your Tailnet.

Tailscale will perform better than a Cloudflare tunnel because it’s a direct connection between the two peers, whereas Cloudflare tunnels route through Cloudflare.

Tailscale does have relay servers, but they’re only used in very rare cases, if both peers have very strict firewalls. Almost always, the connection between two peers over Tailscale is a direct connection, so there’s no extra latency (other than some small overhead for the encryption)

You could use Wireguard and manually configure it to be in a mesh config, but Tailscale makes it so much easier. I’m a big fan of their product.

Auli@lemmy.ca on 03 Apr 11:49 next collapse

Really no reason. Hmm how do I get a Roku to watch? Or get other people to watch stuff on it.

chriscrutch@lemm.ee on 03 Apr 18:52 next collapse

I love Tailscale as well and it works flawlessly for everything I’ve ever used it for. However, I can’t install Tailscale on the Roku TV that sits remotely from my server. That’s the whole reason I’m looking for a different way.

oxideseven@lemmy.ca on 03 Apr 19:20 collapse

Can tail scale be setup on tvs and game consoles and such? Or maybe on routers?

AnActOfCreation@programming.dev on 03 Apr 08:27 next collapse

get a VPS, run Tailscale and NPM on it and switch to Jellyfin

Keep in mind that VPSs will charge for bandwidth, which adds up quickly when you’re streaming.

One suggestion I haven’t seen mentioned is contacting your ISP. Sometimes you can get a dedicated IP, although you might have to pay for it.

Alternatively you might just break down and pay for Plex Pass. I know that goes against the Lemmy philosophy to the very core, but for all its issues, Plex is still way ahead of Jellyfin in terms of features, UI/UX, etc. Jellyfin will get there, and I’m ready to switch the day that Plex becomes unusable, but that hasn’t happened yet.

jia_tan@lemmy.blahaj.zone on 03 Apr 08:52 collapse

Most VPSes I use offer a slower (200mbps) connection without a data cap for free.

coffeetastesbadlikecoffee@sh.itjust.works on 03 Apr 16:55 collapse

I was just in your exact Situation with my Jellyfin home server. I was using Tailscale for a while, but ran into a problem: my new server is really bad at encoding, so I can only use direct play, which uses more bandwidth than the tail scale relay servers can give.

The problem with tail scale is, I basically only ever use the relay servers because my home is cgnat and most of the time when I want to stream outside of home I am on mobile data with cgnat or at college (restrictive firewall).

My solution which I implemented last weekend was to buy the cheapest VPS I could get from my trusted provider and harden it and install nginx proxy manager and tailscale. With that, I can make a direct (no relay server) connection to my home server and proxy Jellyfin to a public domain.

I am still figuring out how to secure Jellyfin, but I have also seen some comments that Jellyfin is secure by default and therefore ok to have exposed.

Actually no, it is insecure, do not expose it to the internet. I will be adding separate authentication to access it via proxy.