Your friend wants to watch your Plex library from across the country. Plex says “Not available outside your network.” You Google it and every guide says to open port 32400 on your router. Here’s why you shouldn’t — and what to do instead.
Why Port Forwarding Is a Bad Idea
Opening port 32400 on your router punches a hole directly through your firewall to your Plex server. This means:
- Your Plex server is now exposed to the entire internet
- Automated bots will find and probe it within hours
- Any vulnerability in Plex Media Server becomes a direct attack vector into your home network
- Your ISP can see you’re running a media server and may throttle or flag the traffic
For a home media server shared with family and friends, this is unnecessary risk. There are better ways.
Option 1: Plex Relay (Built-in, But Limited)
Plex has a built-in relay that works without any port forwarding. When direct connections fail, Plex routes the stream through their relay servers. The catch: relay connections are capped at 2 Mbps (for Plex Pass subscribers) or 1 Mbps (free). That’s enough for 720p at best, and unusable for 4K.
Relay is a fallback, not a solution. It exists so remote playback doesn’t completely fail, but the quality is terrible for anything above SD.
Option 2: Tailscale / ZeroTier (VPN Mesh)
The best option for most people. Tailscale and ZeroTier create a peer-to-peer VPN mesh between your devices — no port forwarding, no exposed services, encrypted end-to-end. Here’s how it works:
- Install Tailscale on your Plex server and on each client device
- Both devices join your Tailscale network and get a private IP (100.x.x.x)
- Point the Plex client at the Tailscale IP of your server
- Traffic flows directly between devices, encrypted, through NAT traversal — no open ports
Tailscale is free for up to 100 devices. The only downside: every user needs to install Tailscale on their device, which limits it to tech-savvy friends and family.
Option 3: Cloudflare Tunnel
Cloudflare Tunnel (formerly Argo Tunnel) creates an outbound-only connection from your server to Cloudflare’s edge. Remote users access your Plex through a Cloudflare domain. No ports open, no VPN required on the client side.
The problems: Cloudflare’s ToS technically prohibit using tunnels for streaming video (section 2.8 of the Self-Serve Subscription Agreement). People do it anyway, but your tunnel could be terminated without warning. Also, all your video traffic routes through Cloudflare’s network, adding latency.
Option 4: Remote GPU Offloading (PlexBeam)
If your remote users need 4K and your server can’t handle the transcoding, a remote GPU service like PlexBeam solves both problems: the transcode bottleneck and the network routing. Your server sends the file to a GPU worker, the worker transcodes it, and the stream goes directly to the remote client at the right bitrate.
This works with any of the above networking solutions. Even with port forwarding disabled and Tailscale handling the connection, the GPU offloading means your NAS or mini PC doesn’t need to do any heavy lifting.
Which Option Should You Choose?
| Method | Setup Difficulty | Client Setup | 4K Capable | Free |
|---|---|---|---|---|
| Plex Relay | None | None | No (2 Mbps cap) | Plex Pass |
| Tailscale | Easy | App required | Yes | Yes (100 devices) |
| ZeroTier | Medium | App required | Yes | Yes (25 devices) |
| CF Tunnel | Medium | None | Yes* | Yes* |
| Port Forward | Easy | None | Yes | Yes |
For most people, Tailscale is the answer. It’s free, takes 5 minutes to set up, and gives you full-speed direct connections without exposing your network. Combine it with PlexBeam’s GPU offloading if your server hardware isn’t up to 4K transcoding.