Windows Remote Access
Windows Remote Access
Section titled “Windows Remote Access”Stream your media from anywhere by configuring remote access.
Prerequisites
Section titled “Prerequisites”- Plex Media Server running on Windows
- Router with port forwarding capability
- Plex Pass (recommended for hardware transcoding remotely)
Enable Remote Access
Section titled “Enable Remote Access”- Open Plex Web:
http://localhost:32400/web - Go to Settings → Remote Access
- Enable “Manually specify public port”
- Set port to 32400 (default)
- Click Retry to test connection
A green checkmark indicates successful configuration.
Port Forwarding
Section titled “Port Forwarding”Router Configuration
Section titled “Router Configuration”- Access your router (usually
192.168.1.1) - Find Port Forwarding or NAT settings
- Create new rule:
- External Port: 32400
- Internal Port: 32400
- Internal IP: Your PC’s local IP
- Protocol: TCP
- Save and apply changes
Find Your Local IP
Section titled “Find Your Local IP”# Get local IP address(Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.InterfaceAlias -notlike "*Loopback*" }).IPAddressWindows Firewall
Section titled “Windows Firewall”Ensure Plex is allowed through firewall:
# Add firewall rulesNew-NetFirewallRule -DisplayName "Plex TCP" -Direction Inbound -Protocol TCP -LocalPort 32400 -Action AllowNew-NetFirewallRule -DisplayName "Plex UDP" -Direction Inbound -Protocol UDP -LocalPort 32410-32414 -Action AllowVerify Rules
Section titled “Verify Rules”Get-NetFirewallRule | Where-Object { $_.DisplayName -like "*Plex*" }Dynamic DNS
Section titled “Dynamic DNS”If your ISP assigns dynamic IP addresses:
No-IP Setup
Section titled “No-IP Setup”- Create account at noip.com
- Download and install No-IP DUC client
- Configure with your hostname
- Use hostname instead of IP for remote access
Duck DNS
Section titled “Duck DNS”# Create scheduled task for DuckDNS updates$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-Command `"Invoke-WebRequest -Uri 'https://www.duckdns.org/update?domains=YOURDOMAIN&token=YOURTOKEN'`""$trigger = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Minutes 5) -Once -At (Get-Date)Register-ScheduledTask -TaskName "DuckDNS Update" -Action $action -Trigger $triggerSecure Connections (SSL)
Section titled “Secure Connections (SSL)”- Settings → Network
- Set “Secure connections” to Required
- Plex provides SSL automatically through
plex.direct
Bandwidth Management
Section titled “Bandwidth Management”Limit Remote Bitrate
Section titled “Limit Remote Bitrate”- Settings → Remote Access
- Set based on your upload speed (80% of upload recommended)
| Upload Speed | Recommended Limit |
|---|---|
| 10 Mbps | 8 Mbps |
| 25 Mbps | 20 Mbps |
| 50 Mbps | 40 Mbps |
| 100 Mbps | 80 Mbps |
Testing
Section titled “Testing”Internal Test
Section titled “Internal Test”Test-NetConnection -ComputerName localhost -Port 32400External Test
Section titled “External Test”# Use external port checkerStart-Process "https://www.yougetsignal.com/tools/open-ports/"# Check port 32400Troubleshooting
Section titled “Troubleshooting”Port Not Open
Section titled “Port Not Open”- Verify port forwarding rule
- Check Windows Firewall
- Ensure Plex is running
- Check for double NAT (modem + router)
Double NAT
Section titled “Double NAT”If you have modem + router:
- Set modem to bridge mode, OR
- Forward port on both devices
Next Steps
Section titled “Next Steps”- Troubleshooting - Common issues
- Advanced Topics - Optimize remote streaming