You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GitHub Issue Template - Copy this content to create a new GitHub issue
Issue Title
Plex Remote Access Helper & CGNAT Solver
Labels
beta, feature, plus, ui, caddy
Description
Implement a "Plex Remote Access Helper" feature that assists users stuck behind CGNAT (Carrier-Grade NAT) to properly configure their Plex Media Server for remote streaming via a reverse proxy like Caddy. This feature addresses the common pain point of Plex remote access failures when users cannot open ports due to ISP limitations.
Parent Issue
Extends #44 (Tailscale Network Integration) and #43 (Remote Servers Management)
Why This Feature?
CGNAT is increasingly common - Many ISPs (especially mobile carriers like T-Mobile) use Carrier-Grade NAT, preventing users from forwarding ports
Plex is one of the most popular homelab applications - A significant portion of Charon users will have Plex
Manual configuration is error-prone - Users often struggle with the correct Caddy configuration and Plex settings
Tailscale/VPN integration makes this possible - With Tailscale Network Integration for Server Discovery #44, users can access their home network, but Plex requires specific proxy headers for proper remote client handling
User story origin - This feature was conceived from a real user experience solving CGNAT issues with Plex + Tailscale
Use Cases
T-Mobile/Starlink Home Internet users - Cannot port forward, need VPN tunnel + reverse proxy
Apartment/Dorm residents - Shared internet without port access
Privacy-conscious users - Prefer VPN tunnel over exposing ports
Multi-server Plex setups - Proxying to multiple Plex instances
Tasks
Design "Plex Mode" toggle or "Media Server Helper" option in proxy host creation
Implement automatic header injection for Plex compatibility:
X-Forwarded-For - Client's real IP address
X-Forwarded-Proto - HTTPS
X-Real-IP - Client IP
X-Plex-Client-Identifier - Passthrough
Create "External Domain" text input for Plex custom URL setting
Generate copy-paste snippet for Plex Settings → Network → Custom server access URLs
Add Plex-specific Caddy configuration template
Implement WebSocket support toggle (required for Plex Companion)
Create validation/test button to verify proxy is working
Add documentation/guide for CGNAT + Tailscale + Plex setup
Implement connection type detection (show if traffic appears Local vs Remote in proxy logs)
Add warning about bandwidth limiting implications when headers are missing
Acceptance Criteria
User can enable "Plex Mode" when creating a proxy host
Correct headers are automatically added to Caddy config
Copy-paste snippet generated for Plex custom URL setting
WebSocket connections work for Plex Companion features
Documentation explains full CGNAT + Tailscale + Plex workflow
Remote streams correctly show as "Remote" in Plex dashboard (not "Local")
Works with both HTTP and HTTPS upstream Plex servers
Plex Remote Access Helper & CGNAT Solver
Issue Title
Plex Remote Access Helper & CGNAT SolverLabels
beta,feature,plus,ui,caddyDescription
Implement a "Plex Remote Access Helper" feature that assists users stuck behind CGNAT (Carrier-Grade NAT) to properly configure their Plex Media Server for remote streaming via a reverse proxy like Caddy. This feature addresses the common pain point of Plex remote access failures when users cannot open ports due to ISP limitations.
Parent Issue
Extends #44 (Tailscale Network Integration) and #43 (Remote Servers Management)
Why This Feature?
Use Cases
Tasks
X-Forwarded-For- Client's real IP addressX-Forwarded-Proto- HTTPSX-Real-IP- Client IPX-Plex-Client-Identifier- PassthroughAcceptance Criteria
Technical Considerations
Caddy Configuration Template
Plex Settings Required
Users must configure in Plex Settings → Network:
https://plex.example.com:443Integration with Existing Features
Header Behavior Notes
X-Forwarded-For: Plex sees all traffic as coming from the proxy's IP (e.g., Tailscale 100.x.x.x)UI/UX Design Notes
Proxy Host Creation Form
Add a collapsible "Media Server Settings" section:
Quick Start Template
In Onboarding Wizard (#30), add "Plex" as a Quick Start template option:
Documentation Sections to Add
Priority
Medium - Valuable user experience improvement, builds on #44
Milestone
Beta
Related Issues
Future Extensions
How to Create This Issue
Plex Remote Access Helper & CGNAT Solverbeta,feature,plus,ui,caddyIssue specification created: 2025-11-27
Origin: Gemini-assisted Plex remote streaming solution using Tailscale
Auto-created from plex-remote-access-helper.md