Sign inSign up

rlabinc/ngrok-plex

By rlabinc

•Updated over 1 year ago

Run Plex Through Ngrok to Bypass CGNAT or Double-NAT Scenario

Image
0

10K+

rlabinc/ngrok-plex repository overview

⁠ngrok-plex

Docker Pulls Docker Image Size (tag) Latest Build & Push GitHub Repo stars We Support

ngrok-plex⁠ is a command line utility to run Plex through ngrok to bypass CGNAT or Double-NAT scenario.

Note

ngrok free accounts are [bandwidth-limited](https://github.com/origamiofficial/docker-ngrok-plex/issues/33) to 1GB per month. You need to have a Pay-as-you-go plan for this project, see pricing [here](https://ngrok.com/pricing).

⁠Supported Architectures

We utilise the docker buildx for multi-platform awareness. More information is available from docker here⁠.

Simply pulling rlabinc/ngrok-plex:latest should retrieve the correct image for your arch, but you can also pull specific arch images via tags.

The architectures supported by this image are:

ArchitectureAvailablePlatform
x86-64✅linux/amd64
arm64✅linux/arm64
armhf✅linux/arm/v7
i386✅linux/386

⁠Usage

You will have to extract the Plex token sets for you and provide it to the CLI. But don't worry, I'll guide you through the entire process.

The Enable Relay must needs to be DISABLED from Settings > Server > Network > Show Advanced > Enable Relay

⁠Extracting the Plex token

  • Go to any media in your Plex library.
  • Go to the Kebab Menu (⋮)
  • Click on Get Info
  • Click on View XML — a new tab should open up.
  • Go to the very end of the URL. You should see a 20 character string after X-Plex-Token=. Copy this string.

Here are the commands you'll need:

docker run -d --network host \
  --name=ngrok-plex \
  -e TZ=Europe/London `#optional` \
  -e PLEX_BaseURL='http://172.17.0.1:32400' `#better to use single quotes` \
  -e PLEX_Token='XXXXXXXXXX' `#better to use single quotes` \
  -e NGROK_Token='XXXXXXXXXX' `#better to use single quotes` \
  rlabinc/ngrok-plex:latest

A cronjob will update new ngrok URL every 2 hours.

⁠Parameters

Container images are configured using parameters passed at runtime (such as those above).

ParameterFunction
-e TZ=Europe/LondonSpecify a timezone to use EG Europe/London.
-e PLEX_BaseURL='http://172.17.0.1:32400'Specify Plex URL to use.
-e PLEX_Token='XXXXXXXXXX'Specify Plex token to use.
-e NGROK_Token='XXXXXXXXXX'Specify ngrok token to use.

⁠Cons

  • Client IP will always show as localhost.
  • No bandwidth guarantees.

⁠Contribution

There is no need to update the script version if you have made changes – it will be updated automatically.

⁠Github Repository

https://github.com/origamiofficial/ngrok-plex⁠

⁠Docker Hub

https://hub.docker.com/r/rlabinc/ngrok-plex⁠

⁠Acknowledgements

Script credit goes to @nagleaidan⁠. Special thanks to @Rihcus⁠ for fixing many issues.

⁠Warning

Use of this software may constitute a breach in the ngrok Terms of Service⁠. Use at your own risk.

Hits

Tag summary

Content type

Image

Digest

sha256:2f19daee9…

Size

76.9 MB

Last updated

over 1 year ago

docker pull rlabinc/ngrok-plex