Plex Nine RemoteAccess

Plex Nine RemoteAccess

From Plex

Jump to: navigation, search

Contents

Accessing Plex/Nine as a Remote Library

Currently, there are two methods you can use to access your Plex/Nine library remotely from another computer outside your home or local network. Note that when such remote access occurs, Plex will serve a requested file at full bitrate; there is currently no transcoding that occurs. This means that you will need a significant amount of sustained network bandwidth both uploading from your server as well as downloading to your client - the higher the bitrate of content you're accessing (e.g. 720p or 1080p video), the higher bandwidth required.

Directly

By adding the URL

http://x.x.x.x:32400/library/sections

as a source inside the Video Plug-ins section inside Plex, where x.x.x.x is your external IP address (or hostname). To do this:

  • Open the Plex Client
  • Choose Video Plug-ins
  • Press the C key to open the context menu
  • Choose Add Source

For this to work you need to:

Network map of direct remote library access in Plex/Nine

Pros

  • Doesn't require any additional software

Cons

  • Security options of the Plex Media Server have to be disabled for this to work
  • Other people can access your Plex Media Server if they know your IP address (there is no login)
  • Needs a (extra) port open on your router specifically for PMS
  • Data flows unencrypted over the internet

More Information

Connect via SSH

For this to work you need to:

  • Know the external IP address of your home connection (What's My IP Address?) or use a dynamic DNS service (for example DynDNS or No-IP)
  • Enable Remote Login (SSH) on one of your machines inside your home network (this can be the same box as where PMS is running)
  • Create a port forward for SSH (default port is 22) if you are behind a router (portforward.com).

Network map of remote library access via SSH in Plex/Nine

The PMS service is now reachable as if you were sitting at the machine in your local network:

http://localhost:32400

You can add this url (+ /library/sections) as a source as described above under "Directly" (don't forget to quit the PMS instance running on the same machine as the Plex client), but there is a better/nicer way to access your remote library:

To have access to the remote Media Server instance as if it is running in your local network, you can have it advertised as a service over Bonjour. Together with opening the SSH connection and creating the tunnel, your Terminal input is:

Terminal dns sd ssh.png
dns-sd -R PMS _plexmediasvr._tcp . 32400 &
ssh -N -L 32400:localhost:32400 x.x.x.x -l username -p 22

Pros

  • Your Plex Media Server is not directly accessible from the internet, it's now behind a login and only accessible through a tunnel
  • If you tunnel all your services over SSH, you need only one port open on your router which is then used for everything
  • Data flow over the internet is encrypted
  • Even better protection possible when using public/private key authentication

Cons

  • You need some basic knowledge of SSH

More Information


dns-sd command line explained

dns-sd -R PMS _plexmediasvr._tcp . 32400 &
dns-sd the program name of the DNS Based Service Discovery utility
-R register a DNS entry
PMS the name of the instance of the service we're registering
_plexmediasvr._tcp the type of service
. the domain, . means the local machine
32400 the port number
& The & is not part of the dns-sd command. It sends the process to the background so we can do other things in the Terminal

ssh command line explained

ssh -N -L 32400:localhost:32400 x.x.x.x -l username -p 22
ssh the ssh utility
-N do not execute shell or command
-L 32400:localhost:32400 forward local port to remote address

the first 32400 is the local port

localhost is the hostname of the machine we want to reach on the other end of the connection (so this localhost is NOT the machine you're sitting behind)

the second 32400 the remote port (the port on the other end)

x.x.x.x the external ip address or hostname of your connection at home
-l username login with this username
-p 22 connect to this port (the ssh connection)