Files
PTS-Team/menu/pgscan/scripts/plex_token.sh
MrDoobPG 26a27e470b ini
2019-11-29 19:14:15 +01:00

37 lines
1.7 KiB
Bash

#!/bin/sh -e
#########################################################################
# Title: Retrieve Plex Token #
# Author(s): Werner Beroux (https://github.com/wernight) #
# URL: https://github.com/wernight/docker-plex-media-server #
# Description: Prompts for Plex login and prints Plex access token. #
#########################################################################
# MIT License #
#########################################################################
templatebackup=/opt/plexguide/menu/roles/plex_autoscan/templates/config.backup
template=/opt/plexguide/menu/roles/plex_autoscan/templates/config.json.j2
PLEX_LOGIN=$(cat /var/plexguide/pgscan/plex.user)
PLEX_PASSWORD=$(cat /var/plexguide/pgscan/plex.pw)
curl -qu "${PLEX_LOGIN}":"${PLEX_PASSWORD}" 'https://plex.tv/users/sign_in.xml' \
-X POST -H 'X-Plex-Device-Name: PlexMediaServer' \
-H 'X-Plex-Provides: server' \
-H 'X-Plex-Version: 0.9' \
-H 'X-Plex-Platform-Version: 0.9' \
-H 'X-Plex-Platform: xcid' \
-H 'X-Plex-Product: Plex Media Server'\
-H 'X-Plex-Device: Linux'\
-H 'X-Plex-Client-Identifier: XXXX' --compressed >/tmp/plex_sign_in
X_PLEX_TOKEN=$(sed -n 's/.*<authentication-token>\(.*\)<\/authentication-token>.*/\1/p' /tmp/plex_sign_in)
if [ -z "$X_PLEX_TOKEN" ]; then
cat /tmp/plex_sign_in
rm -f /tmp/plex_sign_in
>&2 echo 'Failed to retrieve the X-Plex-Token.'
exit 1
fi
cp -r $template $templatebackup
echo $X_PLEX_TOKEN >/var/plexguide/pgscan/plex.token
RAN=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
echo $RAN >/var/plexguide/pgscan/pgscan.serverpass