diff --git a/_home/private_dot_local/bin/executable_launch-teamviewer-quicksupport.sh b/_home/private_dot_local/bin/executable_launch-teamviewer-quicksupport.sh index 74cacfb..16ff380 100644 --- a/_home/private_dot_local/bin/executable_launch-teamviewer-quicksupport.sh +++ b/_home/private_dot_local/bin/executable_launch-teamviewer-quicksupport.sh @@ -1,5 +1,7 @@ #! /usr/bin/env bash +set -e + ### based on the code shared at https://community.teamviewer.com/English/discussion/comment/116988/#Comment_116988 clear @@ -17,13 +19,21 @@ TVQS=${TVQS:-$1} #RemoteFile=https://download.teamviewer.com/download/version_11x/teamviewer_qs.tar.gz # Prefer dl.teamviewer.com as it provides the `content-length` header RemoteFile=https://dl.teamviewer.com/download/version_11x/teamviewer_qs.tar.gz +RemoteSize="$(curl -sI "$RemoteFile" | grep -i '^Content-Length:.*$' | awk '{sub("\r",""); print $2} ')" + LocalFile=~/Downloads/TeamViewerQS.tgz if [ "${TVQS}" == "gal" ]; then - RemoteFile='https://customdesignservice.teamviewer.com/download/linux/v15/6fnv7gb/TeamViewerQS.tar.gz' # ?sv=2020-04-08&se=2022-08-11T19%3A34%3A09Z&sr=b&sp=r&sig=b2cQfGcmepA5re6sfBZTg3UODGCFVP3Duvdg9IBw9Wg%3D' - LocalFile=~/Downloads/TeamViewerQS-gal.tgz + RemoteFileCustom='https://customdesignservice.teamviewer.com/download/linux/v15/6fnv7gb/TeamViewerQS.tar.gz' + RemoteSizeCustom="$(curl -sI "$RemoteFileCustom" | grep -i '^Content-Length:.*$' | awk '{sub("\r",""); print $2} ')" + + if [[ "$RemoteSize" -gt "0" ]]; then + LocalFile=~/Downloads/TeamViewerQS-gal.tgz + RemoteFile=$RemoteFileCustom + RemoteSize=$RemoteSizeCustom + fi fi -LocalSize=$(wc -c "$LocalFile" 2>/dev/null | awk '{ print $1 }') -RemoteSize=$(curl -sI "$RemoteFile" | awk -v IGNORECASE=1 '/^Content-Length/ {sub("\r",""); print $2}') +LocalSize="$(wc -c "$LocalFile" 2>/dev/null | awk '{ print $1 }')" + if [[ ! -r "${LocalFile}" ]] || [ "$LocalSize" != "$RemoteSize" ]; then echo "Downloading file into $LocalFile..." curl -Lo "$LocalFile" "$RemoteFile"