mirror of
https://github.com/mrworf/plexupdate.git
synced 2025-08-21 13:53:21 -07:00
Added version checking to help non-git users
CHECKUPDATE=yes (the default) will now alert you if there is a new version available of this tool. Solves #135
This commit is contained in:
parent
9708bd9f3e
commit
7bc0039328
2 changed files with 43 additions and 11 deletions
|
@ -7,9 +7,14 @@
|
|||
# as well as the PlexPass versions.
|
||||
#
|
||||
# PlexPass users:
|
||||
# Either modify this file to add email and password OR create
|
||||
# a separate .plexupdate file in your home directory with these
|
||||
# values.
|
||||
# Create a separate .plexupdate file in your home directory with these
|
||||
# values:
|
||||
#
|
||||
# EMAIL='<whatever your plexpass email was>'
|
||||
# PASS='<whatever password you used>'
|
||||
# DOWNLOADDIR='<where you would like to save the downloaded package>'
|
||||
#
|
||||
# See https://github.com/mrworf/plexupdate for more details.
|
||||
#
|
||||
# Returns 0 on success
|
||||
# 1 on error
|
||||
|
@ -118,9 +123,9 @@ ALLARGS="$@"
|
|||
infoLog "Args: ${ALLARGS}" >/dev/null
|
||||
unset ALLARGS
|
||||
|
||||
####################################################################
|
||||
# Set these three settings to what you need, or create a .plexupdate file
|
||||
# in your home directory with this section (avoids changing this).
|
||||
#################################################################
|
||||
# Don't change anything below this point, use a .plexupdate file
|
||||
# in your home directory to override this section.
|
||||
# DOWNLOADDIR is the full directory path you would like the download to go.
|
||||
#
|
||||
EMAIL=
|
||||
|
@ -129,10 +134,6 @@ DOWNLOADDIR="."
|
|||
PLEXSERVER=
|
||||
PLEXPORT=32400
|
||||
|
||||
#################################################################
|
||||
# Don't change anything below this point
|
||||
#
|
||||
|
||||
# Defaults
|
||||
# (aka "Advanced" settings, can be overriden with config file)
|
||||
FORCE=no
|
||||
|
@ -148,6 +149,7 @@ ARCH=$(uname -m)
|
|||
IGNOREAUTOUPDATE=no
|
||||
SHOWPROGRESS=no
|
||||
WGETOPTIONS="" # extra options for wget. Used for progress bar.
|
||||
CHECKUPDATE=yes
|
||||
|
||||
# Default options for package managers, override if needed
|
||||
REDHAT_INSTALL="yum -y install"
|
||||
|
@ -162,6 +164,8 @@ FILE_SHA=$(mktemp /tmp/plexupdate.sha.XXXX)
|
|||
FILE_WGETLOG=$(mktemp /tmp/plexupdate.wget.XXXX)
|
||||
FILE_CMDLOG=$(mktemp /tmp/plexupdate.cmds.XXXX)
|
||||
FILE_CMDERR=$(mktemp /tmp/plexupdate.errs.XXXX)
|
||||
FILE_LOCAL=$(mktemp /tmp/plexupdate.local.XXXX)
|
||||
FILE_REMOTE=$(mktemp /tmp/plexupdate.remote.XXXX)
|
||||
|
||||
# Current pages we need - Do not change unless Plex.tv changes again
|
||||
URL_LOGIN=https://plex.tv/users/sign_in.json
|
||||
|
@ -380,7 +384,7 @@ done
|
|||
if [ "${SAVECONFIG}" = "yes" ]; then
|
||||
echo "# Config file for plexupdate" >${CONFIGFILE:="${HOME}/.plexupdate"}
|
||||
|
||||
for VAR in AUTOINSTALL CRON AUTODELETE DOWNLOADDIR EMAIL PASS FORCE FORCEALL PUBLIC QUIET AUTOSTART AUTOUPDATE PLEXSERVER PLEXPORT
|
||||
for VAR in AUTOINSTALL CRON AUTODELETE DOWNLOADDIR EMAIL PASS FORCE FORCEALL PUBLIC QUIET AUTOSTART AUTOUPDATE PLEXSERVER PLEXPORT CHECKUPDATE
|
||||
do
|
||||
if [ ! -z ${!VAR} ]; then
|
||||
|
||||
|
@ -572,9 +576,35 @@ function cleanup {
|
|||
rm "${FILE_WGETLOG}" 2>/dev/null >/dev/null
|
||||
rm "${FILE_CMDLOG}" 2>/dev/null >/dev/null
|
||||
rm "${FILE_CMDERR}" 2>/dev/null >/dev/null
|
||||
rm "${FILE_LOCAL}" 2>/dev/null >/dev/null
|
||||
rm "${FILE_REMOTE}" 2>/dev/null >/dev/null
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
if [ "${CHECKUPDATE}" = "yes" ]; then
|
||||
ERR1=0
|
||||
(wget -q https://raw.githubusercontent.com/mrworf/plexupdate/master/plexupdate.sh -O - 2>/dev/null || echo ERROR) | shasum >"${FILE_REMOTE}" 2>/dev/null
|
||||
ERR2=0
|
||||
(cat "$0" 2>/dev/null || echo ERROR) | shasum >"${FILE_LOCAL}" 2>/dev/null
|
||||
if [ $ERR1 -ne 0 -o $ERR2 -ne 0 ]; then
|
||||
errorLog "CheckUpdate: Unable to confirm version of script"
|
||||
else
|
||||
# "709c7506b17090bce0d1e2464f39f4a434cf25f1" is the hash for "ERROR" :)
|
||||
if grep -sq "709c7506b17090bce0d1e2464f39f4a434cf25f1" "${FILE_LOCAL}" ; then
|
||||
errorLog "CheckUpdate: Unable to validate local copy"
|
||||
elif grep -sq "709c7506b17090bce0d1e2464f39f4a434cf25f1" "${FILE_REMOTE}" ; then
|
||||
errorLog "CheckUpdate: Unable to validate remote copy"
|
||||
elif ! diff "${FILE_LOCAL}" "${FILE_REMOTE}" >/dev/null 2>/dev/null ; then
|
||||
infoLog "Newer version of this script is available at https://github.com/mrworf/plexupdate"
|
||||
infoLog "(or you've made changes to this script yourself)"
|
||||
fi
|
||||
fi
|
||||
rm "${FILE_LOCAL}" 2>/dev/null >/dev/null
|
||||
rm "${FILE_REMOTE}" 2>/dev/null >/dev/null
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Fields we need to submit for login to work
|
||||
#
|
||||
# Field Value
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue