https://github.com/origamiofficial/docker-ngrok-plex
Run Plex Through Ngrok to Bypass CGNAT or Double-NAT Scenario
https://github.com/origamiofficial/docker-ngrok-plex
bypass bypass-cgnat cgnat docker docker-container docker-image docker-plex double-nat nat ngrok ngrok-script plex plex-api plex-docker plex-media-server plex-server plexmediaserver port-forward port-forwarding script
Last synced: 6 months ago
JSON representation
Run Plex Through Ngrok to Bypass CGNAT or Double-NAT Scenario
- Host: GitHub
- URL: https://github.com/origamiofficial/docker-ngrok-plex
- Owner: origamiofficial
- License: mit
- Created: 2022-08-13T02:46:30.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-09T01:04:05.000Z (6 months ago)
- Last Synced: 2025-04-09T02:20:35.360Z (6 months ago)
- Topics: bypass, bypass-cgnat, cgnat, docker, docker-container, docker-image, docker-plex, double-nat, nat, ngrok, ngrok-script, plex, plex-api, plex-docker, plex-media-server, plex-server, plexmediaserver, port-forward, port-forwarding, script
- Language: Python
- Homepage: https://hub.docker.com/r/rlabinc/ngrok-plex
- Size: 92.8 KB
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ngrok-plex
  [](https://github.com/origamiofficial/docker-ngrok-plex/actions/workflows/build-and-push.yaml)  [ngrok-plex](https://gist.github.com/nagleaidan/dcc132c16d15565d88bf2d9200351c6e) 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](https://docs.docker.com/buildx/working-with-buildx/).
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:
| Architecture | Available | Platform |
| :----: | :----: | :----: |
| 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:
```bash
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).
| Parameter | Function |
| :----: | --- |
| `-e TZ=Europe/London` | Specify 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](https://github.com/nagleaidan). Special thanks to [@Rihcus](https://github.com/Rihcus) for fixing many issues.## Warning
Use of this software may constitute a breach in the [ngrok Terms of Service](https://ngrok.com/tos). Use at your own risk.[](https://github.com/origamiofficial/docker-ngrok-plex)