mirror of
https://gitgud.io/yuv420p10le/plexmediaserver_crack
synced 2025-07-04 16:34:47 +00:00
Simplified Linux installation for both Docker and native.
This commit is contained in:
parent
19a26aa2ff
commit
7433b581d2
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
* text=auto
|
||||||
|
*.sh text eol=lf
|
62
README.md
62
README.md
@ -2,36 +2,66 @@
|
|||||||
|
|
||||||
Enables Godmode, unlocking *all features* on (hardware transcoding, intro/credit detection, HEVC transcoding, etc..) on Plex Media Server. Including Plex Pass features without a required subscription, and including early-access/development/Plex Ninja features.
|
Enables Godmode, unlocking *all features* on (hardware transcoding, intro/credit detection, HEVC transcoding, etc..) on Plex Media Server. Including Plex Pass features without a required subscription, and including early-access/development/Plex Ninja features.
|
||||||
|
|
||||||
## Installation
|
# Installation
|
||||||
|
|
||||||
### Windows
|
## Windows
|
||||||
|
|
||||||
1. Download `IPHLPAPI.dll` from [the latest release](https://github.com/yuv420p10le/plexmediaserver_crack/releases/latest/download/IPHLPAPI.dll) and put it in your Plex Media Server's installation folder. (e.g. `C:\Program Files\Plex\Plex Media Server`)
|
1. Download `IPHLPAPI.dll` from [the latest release](https://github.com/yuv420p10le/plexmediaserver_crack/releases/latest/download/IPHLPAPI.dll) and put it in your Plex Media Server's installation folder. (e.g. `C:\Program Files\Plex\Plex Media Server`)
|
||||||
2. Restart Plex Media Server. All features will be unlocked.
|
2. Restart Plex Media Server. All features will be unlocked.
|
||||||
|
|
||||||
### Linux
|
## Linux
|
||||||
|
|
||||||
x86-64 only.
|
x86-64 only.
|
||||||
|
|
||||||
Written for [linuxserver/docker-plex](https://github.com/linuxserver/docker-plex).
|
First, install `patchelf` from your distribution's package manager or `pip`:
|
||||||
|
|
||||||
Get the [latest amd64 build of patchelf](https://github.com/NixOS/patchelf/releases/latest), extract the inner `./bin/patchelf` file to your `/config` folder (the same one where `"Library"` is located). Ensure it has execute permissions.
|
```bash
|
||||||
|
sudo apt update && sudo apt install patchelf # Debian/Ubuntu/etc
|
||||||
Download `plexmediaserver_crack.so` from [the latest release](https://github.com/yuv420p10le/plexmediaserver_crack/releases/latest/download/plexmediaserver_crack.so) and save it somewhere. If running under Docker, `/config` works. Otherwise, use a directory that is readable by the user running Plex Media Server.
|
sudo pacman -S patchelf # Arch
|
||||||
|
sudo yum install patchelf # Fedora/RHEL/Centos/Rocky/OpenSUSE/etc
|
||||||
Execute the following commands:
|
sudo apk update && apk add --upgrade patchelf # Alpine
|
||||||
|
sudo pip install patchelf # pip; you might need --break-system-packages if installing if you're on an externally managed environment
|
||||||
```sh
|
|
||||||
docker exec -it plex ln -s /config/plexmediaserver_crack.so /usr/lib/plexmediaserver/lib/plexmediaserver_crack.so
|
|
||||||
docker exec -it plex /config/patchelf --remove-needed plexmediaserver_crack.so "/usr/lib/plexmediaserver/lib/libsoci_core.so"
|
|
||||||
docker exec -it plex /config/patchelf --add-needed plexmediaserver_crack.so "/usr/lib/plexmediaserver/lib/libsoci_core.so"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Now restart Plex Media Server. All features will be unlocked.
|
And then:
|
||||||
|
|
||||||
|
### Native
|
||||||
|
|
||||||
|
The script assumes Plex Media Server is currently running.
|
||||||
|
|
||||||
|
Run the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo sh -c "$(curl -sSL https://github.com/yuv420p10le/plexmediaserver_crack/releases/latest/download/crack_native.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
Your Plex Media Server should now be restarted with all features unlocked.
|
||||||
|
|
||||||
|
For persistance with Plex updates, create the above as a bash script (run as root!) and run it manually (or, trigger it) after updates or run it as a daily cronjob.
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
Tested on [linuxserver/docker-plex](https://github.com/linuxserver/docker-plex), but should work for all Docker setups.
|
||||||
|
|
||||||
|
The script assumes Plex Media Server is currently running, that you have a mounted `/config` volume in the container, and that your container is named `plex`.
|
||||||
|
If your container is named differently or if your external volume is mounted elsewhere, change it at the top of the script instead of running it through this command.
|
||||||
|
|
||||||
|
Run the following command: (you can emit `sudo` if the executing user is in the `docker` group)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo sh -c "$(curl -sSL https://github.com/yuv420p10le/plexmediaserver_crack/releases/latest/download/crack_docker.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
Your Plex Media Server should now be restarted with all features unlocked.
|
||||||
|
|
||||||
This will NOT persist through Docker image updates, as rebuilding the container will copy libraries freshly from the image.
|
This will NOT persist through Docker image updates, as rebuilding the container will copy libraries freshly from the image.
|
||||||
|
Setup the above commands as a script for an easy installation, and optionally, set it as a cronjob to run daily.
|
||||||
|
|
||||||
For ARM64 or for a different installation method on Linux, [check edde746's fork](https://github.com/edde746/plexmediaserver_crack).
|
|
||||||
|
### Other configurations
|
||||||
|
|
||||||
|
- For an UNRAID (x86-64) setup guide, [check Mizz141's gist](https://gist.github.com/mizz141/608d21fbc2fe4480286c76cc421f40d3).
|
||||||
|
- For binary patching for Windows/Linux (x86-64/ARM64) instead of DLL sideloading/import hijacking, [check edde746's fork](https://github.com/edde746/plexmediaserver_crack).
|
||||||
|
|
||||||
### Building
|
### Building
|
||||||
|
|
||||||
|
29
scripts/crack_docker.sh
Normal file
29
scripts/crack_docker.sh
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# The script assumes Plex Media Server is currently running, that you have a mounted `/config` volume in the container, and that your container is named `plex`.
|
||||||
|
# If your container is named differently or if your external volume is mounted elsewhere, change it at the top of the script instead of running it piped from curl.
|
||||||
|
|
||||||
|
PLEX_CONFIG_DIR=/config
|
||||||
|
PLEX_CONTAINER_NAME=plex
|
||||||
|
PLEX_MEDIA_SERVER_DIR=$(ps aux | grep 'Plex Media Server' | grep -v grep | awk '{print $11}' | xargs dirname)
|
||||||
|
|
||||||
|
if [ `id -u` -ne 0 ] && ! groups $(whoami) | grep -q '\bdocker\b'; then
|
||||||
|
echo "Run this script as root or through 'sudo'. Alternatively, add your user account to the 'docker' group. Script aborting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$PLEX_MEDIA_SERVER_DIR" ]; then
|
||||||
|
echo "Plex Media Server is not running, unable to determine its directory. Script aborting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf /tmp/plexmediaserver_crack
|
||||||
|
mkdir /tmp/plexmediaserver_crack
|
||||||
|
cd /tmp/plexmediaserver_crack
|
||||||
|
wget https://github.com/yuv420p10le/plexmediaserver_crack/releases/latest/download/plexmediaserver_crack.so
|
||||||
|
docker cp $(which patchelf) $PLEX_CONTAINER_NAME:$PLEX_CONFIG_DIR
|
||||||
|
docker cp plexmediaserver_crack.so $PLEX_CONTAINER_NAME:$PLEX_CONFIG_DIR
|
||||||
|
docker exec -it $PLEX_CONTAINER_NAME ln -s /config/plexmediaserver_crack.so $PLEX_MEDIA_SERVER_DIR/lib/plexmediaserver_crack.so
|
||||||
|
docker exec -it $PLEX_CONTAINER_NAME /config/patchelf --remove-needed plexmediaserver_crack.so $PLEX_MEDIA_SERVER_DIR/lib/libsoci_core.so
|
||||||
|
docker exec -it $PLEX_CONTAINER_NAME /config/patchelf --add-needed plexmediaserver_crack.so $PLEX_MEDIA_SERVER_DIR/lib/libsoci_core.so
|
||||||
|
docker restart $PLEX_CONTAINER_NAME
|
25
scripts/crack_native.sh
Normal file
25
scripts/crack_native.sh
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# The script assumes Plex Media Server is currently running.
|
||||||
|
|
||||||
|
PLEX_MEDIA_SERVER_DIR=$(ps aux | grep 'Plex Media Server' | grep -v grep | awk '{print $11}' | xargs dirname)
|
||||||
|
|
||||||
|
if [ `id -u` -ne 0 ]; then
|
||||||
|
echo "Run this script as root or with sudo. Script aborting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$PLEX_MEDIA_SERVER_DIR" ]; then
|
||||||
|
echo "Plex Media Server is not running, unable to determine its directory. Script aborting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf /opt/plexmediaserver_crack
|
||||||
|
mkdir /opt/plexmediaserver_crack
|
||||||
|
cd /opt/plexmediaserver_crack
|
||||||
|
wget https://github.com/yuv420p10le/plexmediaserver_crack/releases/latest/download/plexmediaserver_crack.so
|
||||||
|
rm $PLEX_MEDIA_SERVER_DIR/lib/plexmediaserver_crack.so
|
||||||
|
ln -s /opt/plexmediaserver_crack/plexmediaserver_crack.so $PLEX_MEDIA_SERVER_DIR/lib/plexmediaserver_crack.so
|
||||||
|
patchelf --remove-needed plexmediaserver_crack.so $PLEX_MEDIA_SERVER_DIR/lib/libsoci_core.so
|
||||||
|
patchelf --add-needed plexmediaserver_crack.so $PLEX_MEDIA_SERVER_DIR/lib/libsoci_core.so
|
||||||
|
systemctl restart plexmediaserver
|
Loading…
x
Reference in New Issue
Block a user