From 6a47522d8b2b1078cd522daf8fac31581c64c0e5 Mon Sep 17 00:00:00 2001 From: Slava Nossar Date: Mon, 5 Jul 2021 08:00:11 +1000 Subject: [PATCH 1/2] add dsm7 script --- plexupdate-dsm7.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 plexupdate-dsm7.sh diff --git a/plexupdate-dsm7.sh b/plexupdate-dsm7.sh new file mode 100644 index 0000000..38a2d64 --- /dev/null +++ b/plexupdate-dsm7.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# Script to automagically update Plex Media Server on Synology NAS +# +# Must be run as root. +# +# @author @martinorob https://github.com/martinorob +# https://github.com/martinorob/plexupdate/ + +#!/bin/bash +mkdir -p /tmp/plex/ > /dev/null 2>&1 +token=$(cat /volume1/Plex/Library/Application\ Support/Plex\ Media\ Server/Preferences.xml | grep -oP 'PlexOnlineToken="\K[^"]+') +url=$(echo "https://plex.tv/api/downloads/5.json?channel=plexpass&X-Plex-Token=$token") +jq=$(curl -s ${url}) +newversion=$(echo $jq | jq -r '.nas."Synology (DSM 7)".version') +echo New Ver: $newversion +curversion=$(synopkg version "PlexMediaServer") +echo Cur Ver: $curversion +dpkg --compare-versions "$newversion" "gt" "$curversion" +if [ $? -eq "0" ] +then +echo New Vers Available +/usr/syno/bin/synonotify PKGHasUpgrade '{"[%HOSTNAME%]": $(hostname), "[%OSNAME%]": "Synology", "[%PKG_HAS_UPDATE%]": "Plex", "[%COMPANY_NAME%]": "Synology"}' +CPU=$(uname -m) +url=$(echo "${jq}" | jq -r '.nas."Synology (DSM 7)".releases[] | select(.build=="linux-'"${CPU}"'") | .url') +/bin/wget $url -P /tmp/plex/ +/usr/syno/bin/synopkg install /tmp/plex/*.spk +sleep 30 +/usr/syno/bin/synopkg start "Plex Media Server" +rm -rf /tmp/plex/* +else +echo No New Ver +fi +exit From e715fe3358b69d2df70709505498d6137471b739 Mon Sep 17 00:00:00 2001 From: Slava Nossar Date: Mon, 5 Jul 2021 13:24:01 +1000 Subject: [PATCH 2/2] update preferences path --- plexupdate-dsm7.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plexupdate-dsm7.sh b/plexupdate-dsm7.sh index 38a2d64..21aa206 100644 --- a/plexupdate-dsm7.sh +++ b/plexupdate-dsm7.sh @@ -9,7 +9,7 @@ #!/bin/bash mkdir -p /tmp/plex/ > /dev/null 2>&1 -token=$(cat /volume1/Plex/Library/Application\ Support/Plex\ Media\ Server/Preferences.xml | grep -oP 'PlexOnlineToken="\K[^"]+') +token=$(cat /var/packages/PlexMediaServer/home/Plex\ Media\ Server/Preferences.xml | grep -oP 'PlexOnlineToken="\K[^"]+') url=$(echo "https://plex.tv/api/downloads/5.json?channel=plexpass&X-Plex-Token=$token") jq=$(curl -s ${url}) newversion=$(echo $jq | jq -r '.nas."Synology (DSM 7)".version')