A simple web UI for downloading media from Plex without the Plex Pass.
Uses Python-PlexAPI and NiceGUI.
- Should work on any Linux (tested on Debian 11), may work on Windows
- Python 3.9+
- Login with Plex account (owner or user)
- Search across an entire Plex server
- Download movies and episodes
- Browse collections, shows, and seasons
- Choose between multiple versions of a media item
- Provide a torrent download in addition to the direct download (planned)
- This will probably use an embedded torrent client, and generate a unique torrent file valid for 12 or 24 hours. Useful if your connection is too unstable to download the file through HTTP.
- Auto-update through Git, like Tautulli (planned)
You will need your server address (e.g. http://plex.johndoe.com:32400
or http://127.0.0.1:32400
) and ID. You can get the ID by opening https://plex.johndoe.com/identity
(replace with your URL). You'll get something like this:
<MediaContainer size="0" claimed="1" machineIdentifier="abcdef123456abcdef123456abcdef123456abcd" version="1.32.5.7516-8f4248874"> </MediaContainer>
The ID is the abcdef123456abcdef123456abcdef123456abcd
.
git clone https://github.com/zdimension/plexdlweb
cd plexdlweb
pip3 install -r requirements.txt
python3 __main__.py # will generate a config.json file, edit it and start again
mkdir /opt/plexdlweb && cd /opt/plexdlweb # you can change the path here
useradd -d $(pwd) plexdlweb
git clone https://github.com/zdimension/plexdlweb .
chown -R plexdlweb .
sudo -u plexdlweb sh -c "pip3 install -r requirements.txt && python3 __main__.py"
nano config.json # edit config here
sudo -u plexdlweb python3 __main__.py # make sure it works before setting up the service
sed -i "s%{PATH}%$(pwd)%g" plexdlweb.service
chown root plexdlweb.service
ln -s "$(realpath plexdlweb.service)" /etc/systemd/system/plexdlweb.service
service plexdlweb start
systemctl enable plexdlweb
As mentioned, an update system is planned. In the meantime, just git pull
and restart the service.
Plex is an amazing piece of software. Time isn't free, and Plex Inc. needs money. I paid €120 for the Plex Pass so my friends and family can use my server at its full potential (hardware transcoding, credits skipping, etc).
However, since August 1st, 2022, the server owner having a Plex Pass isn't sufficient for users to be able to download. Each user must have the Pass. We're not talking about a complex feature, again, like transcoding or credits detection. Downloading files. I could do that with Apache 20 years ago with a 10-line httpd.conf file.
My users travel. My users take the train, the plane, and go in a number of different places where they don't have a stable connection, and they need to be able to download files for offline viewing. This is not negociable. And giving an SFTP access is not acceptable, most of my users are not computer-literate.
This project is licensed under the GPLv3 license.