mirror of
https://github.com/mtan93/Installomator.git
synced 2026-03-08 21:02:46 +00:00
10.0beta3, 2022-09-30
This commit is contained in:
373
Installomator.sh
373
Installomator.sh
@@ -322,8 +322,8 @@ if [[ $(/usr/bin/arch) == "arm64" ]]; then
|
|||||||
rosetta2=no
|
rosetta2=no
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
VERSION="10.0beta2"
|
VERSION="10.0beta3"
|
||||||
VERSIONDATE="2022-09-02"
|
VERSIONDATE="2022-09-30"
|
||||||
|
|
||||||
# MARK: Functions
|
# MARK: Functions
|
||||||
|
|
||||||
@@ -489,11 +489,19 @@ downloadURLFromGit() { # $1 git user name, $2 git repo name
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$archiveName" ]; then
|
if [ -n "$archiveName" ]; then
|
||||||
#downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$archiveName\"/ { print \$4; exit }")
|
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$archiveName\"/ { print \$4; exit }")
|
||||||
downloadURL=https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*$archiveName" | head -1)
|
if [[ "$(echo $downloadURL | grep -ioE "https.*$archiveName")" == "" ]]; then
|
||||||
|
printlog "GitHub API not returning URL, trying https://github.com/$gitusername/$gitreponame/releases/latest."
|
||||||
|
#downloadURL=https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*$archiveName" | head -1)
|
||||||
|
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*$archiveName" | head -1)"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
#downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
||||||
downloadURL=https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)
|
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
|
||||||
|
printlog "GitHub API not returning URL, trying https://github.com/$gitusername/$gitreponame/releases/latest."
|
||||||
|
#downloadURL=https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)
|
||||||
|
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [ -z "$downloadURL" ]; then
|
if [ -z "$downloadURL" ]; then
|
||||||
cleanupAndExit 14 "could not retrieve download URL for $gitusername/$gitreponame" ERROR
|
cleanupAndExit 14 "could not retrieve download URL for $gitusername/$gitreponame" ERROR
|
||||||
@@ -612,6 +620,10 @@ getAppVersion() {
|
|||||||
printlog "Replacing App Store apps, no matter the version" WARN
|
printlog "Replacing App Store apps, no matter the version" WARN
|
||||||
appversion=0
|
appversion=0
|
||||||
else
|
else
|
||||||
|
if [[ $DIALOG_CMD_FILE != "" ]]; then
|
||||||
|
updateDialog "wait" "Already installed from App Store. Not replaced."
|
||||||
|
sleep 4
|
||||||
|
fi
|
||||||
cleanupAndExit 23 "App previously installed from App Store, and we respect that" ERROR
|
cleanupAndExit 23 "App previously installed from App Store, and we respect that" ERROR
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -789,6 +801,10 @@ installAppWithPath() { # $1: path to app to install in $targetDir
|
|||||||
printlog "notifying"
|
printlog "notifying"
|
||||||
displaynotification "$message" "No update for $name!"
|
displaynotification "$message" "No update for $name!"
|
||||||
fi
|
fi
|
||||||
|
if [[ $DIALOG_CMD_FILE != "" ]]; then
|
||||||
|
updateDialog "wait" "Latest version already installed..."
|
||||||
|
sleep 2
|
||||||
|
fi
|
||||||
cleanupAndExit 0 "No new version to install" REG
|
cleanupAndExit 0 "No new version to install" REG
|
||||||
else
|
else
|
||||||
printlog "Using force to install anyway."
|
printlog "Using force to install anyway."
|
||||||
@@ -955,6 +971,10 @@ installFromPKG() {
|
|||||||
printlog "notifying"
|
printlog "notifying"
|
||||||
displaynotification "$message" "No update for $name!"
|
displaynotification "$message" "No update for $name!"
|
||||||
fi
|
fi
|
||||||
|
if [[ $DIALOG_CMD_FILE != "" ]]; then
|
||||||
|
updateDialog "wait" "Latest version already installed..."
|
||||||
|
sleep 2
|
||||||
|
fi
|
||||||
cleanupAndExit 0 "No new version to install" REQ
|
cleanupAndExit 0 "No new version to install" REQ
|
||||||
else
|
else
|
||||||
printlog "Using force to install anyway."
|
printlog "Using force to install anyway."
|
||||||
@@ -1557,6 +1577,15 @@ remotixagent)
|
|||||||
versionKey="CFBundleVersion"
|
versionKey="CFBundleVersion"
|
||||||
appNewVersion=$(curl -fsIL "${downloadURL}" | grep -i "^location" | sed -E 's/.*\/[a-zA-Z]*-[0-9.]*-([0-9.]*)\.pkg/\1/g')
|
appNewVersion=$(curl -fsIL "${downloadURL}" | grep -i "^location" | sed -E 's/.*\/[a-zA-Z]*-[0-9.]*-([0-9.]*)\.pkg/\1/g')
|
||||||
expectedTeamID="H629V387SY"
|
expectedTeamID="H629V387SY"
|
||||||
|
blockingProcesses=( NONE )
|
||||||
|
;;
|
||||||
|
adobeacrobatprodc)
|
||||||
|
name="Adobe Acrobat Pro DC"
|
||||||
|
type="pkgInDmg"
|
||||||
|
downloadURL="https://trials.adobe.com/AdobeProducts/APRO/Acrobat_HelpX/osx10/Acrobat_DC_Web_WWMUI.dmg"
|
||||||
|
expectedTeamID="JQ525L2MZD"
|
||||||
|
blockingProcesses=( "Acrobat Pro DC" )
|
||||||
|
Company="Adobe"
|
||||||
;;
|
;;
|
||||||
adobebrackets)
|
adobebrackets)
|
||||||
name="Brackets"
|
name="Brackets"
|
||||||
@@ -1577,30 +1606,98 @@ adobeconnect)
|
|||||||
;;
|
;;
|
||||||
adobecreativeclouddesktop)
|
adobecreativeclouddesktop)
|
||||||
name="Adobe Creative Cloud"
|
name="Adobe Creative Cloud"
|
||||||
#appName="Install.app"
|
appName="Install.app"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
adobeurl="https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html"
|
if pgrep -q "Adobe Installer"; then
|
||||||
if [[ $(arch) == "arm64" ]]; then
|
printlog "Adobe Installer is running, not a good time to update." WARN
|
||||||
downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'osx10')][contains(text(),'Download')]/@href)" - 2> /dev/null)
|
printlog "################## End $APPLICATION \n\n" INFO
|
||||||
elif [[ $(arch) == "i386" ]]; then
|
exit 75
|
||||||
downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'macarm64')][contains(text(),'Download')]/@href)" - 2> /dev/null)
|
|
||||||
fi
|
fi
|
||||||
#downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*dmg" | head -1)
|
if [[ "$(arch)" == "arm64" ]]; then
|
||||||
appNewVersion=$(curl -fs "https://helpx.adobe.com/creative-cloud/release-note/cc-release-notes.html" | grep "mandatory" | head -1 | grep -o "Version *.* released" | cut -d " " -f2)
|
downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o 'https.*macarm64.*dmg' | head -1 | cut -d '"' -f1)
|
||||||
|
else
|
||||||
|
downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o 'https.*osx10.*dmg' | head -1 | cut -d '"' -f1)
|
||||||
|
fi
|
||||||
|
#appNewVersion=$(curl -fs "https://helpx.adobe.com/creative-cloud/release-note/cc-release-notes.html" | grep "mandatory" | head -1 | grep -o "Version *.* released" | cut -d " " -f2)
|
||||||
|
appNewVersion=$(echo $downloadURL | grep -o '[^x]*$' | cut -d '.' -f 1 | sed 's/_/\./g')
|
||||||
|
targetDir="/Applications/Utilities/Adobe Creative Cloud/ACC/"
|
||||||
installerTool="Install.app"
|
installerTool="Install.app"
|
||||||
CLIInstaller="Install.app/Contents/MacOS/Install"
|
CLIInstaller="Install.app/Contents/MacOS/Install"
|
||||||
CLIArguments=(--mode=silent)
|
CLIArguments=(--mode=silent)
|
||||||
expectedTeamID="JQ525L2MZD"
|
expectedTeamID="JQ525L2MZD"
|
||||||
|
blockingProcesses=( "Creative Cloud" )
|
||||||
Company="Adobe"
|
Company="Adobe"
|
||||||
;;
|
;;
|
||||||
|
adobereaderdc-install)
|
||||||
|
name="Adobe Acrobat Reader DC"
|
||||||
|
type="pkgInDmg"
|
||||||
|
printlog "Changing IFS for Adobe Reader" INFO
|
||||||
|
SAVEIFS=$IFS
|
||||||
|
IFS=$'\n'
|
||||||
|
versions=( $( curl -s https://www.adobe.com/devnet-docs/acrobatetk/tools/ReleaseNotesDC/index.html | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+"| head -n 30) )
|
||||||
|
local version
|
||||||
|
for version in $versions; do
|
||||||
|
version="${version//.}"
|
||||||
|
printlog "trying version: $version" INFO
|
||||||
|
local httpstatus=$(curl -X HEAD -s "https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg" --write-out "%{http_code}")
|
||||||
|
printlog "HTTP status for Adobe Reader full installer URL https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg is $httpstatus" DEBUG
|
||||||
|
if [[ "${httpstatus}" == "200" ]]; then
|
||||||
|
downloadURL="https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg"
|
||||||
|
unset httpstatus
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
unset version
|
||||||
|
IFS=$SAVEIFS
|
||||||
|
appNewVersion=$i
|
||||||
|
expectedTeamID="JQ525L2MZD"
|
||||||
|
blockingProcesses=( "AdobeReader" )
|
||||||
|
Company="Adobe"
|
||||||
|
PatchName="AcrobatReader"
|
||||||
|
;;
|
||||||
adobereaderdc-update)
|
adobereaderdc-update)
|
||||||
name="Adobe Acrobat Reader DC"
|
name="Adobe Acrobat Reader DC"
|
||||||
type="pkgInDmg"
|
type="pkgInDmg"
|
||||||
downloadURL=$(adobecurrent=`curl --fail --silent https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt | tr -d '.'` && echo https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/"$adobecurrent"/AcroRdrDC_"$adobecurrent"_MUI.dmg)
|
if [[ -d "/Applications/Adobe Acrobat Reader DC.app" ]]; then
|
||||||
|
printlog "Found /Applications/Adobe Acrobat Reader DC.app"
|
||||||
|
mkdir -p "/Library/Application Support/Adobe/Acrobat/11.0"
|
||||||
|
defaults write "/Library/Application Support/Adobe/Acrobat/11.0/com.adobe.Acrobat.InstallerOverrides.plist" ReaderAppPath "/Applications/Adobe Acrobat Reader DC.app"
|
||||||
|
if ! defaults read "/Applications/Adobe Acrobat Reader DC.app/Contents/Resources/AcroLocale.plist" ; then
|
||||||
|
printlog "Missing locale data, this will cause the updater to fail. Deleting Adobe Acrobat Reader DC.app and installing fresh." WARN
|
||||||
|
rm -Rf "/Applications/Adobe Acrobat Reader DC.app"
|
||||||
|
if [[ $1 == "/" ]]; then
|
||||||
|
printlog "Running through Jamf: $0." INFO
|
||||||
|
$0 $1 $2 $3 adobereaderdc-install ${5} ${6} ${7} ${8} ${9} ${10} ${11}
|
||||||
|
else
|
||||||
|
printlog "Installomator running locally: $0." INFO
|
||||||
|
$0 adobereaderdc-install ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
adobecurrent=$(curl -sL https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt | tr -d '.')
|
||||||
|
if [[ "${adobecurrent}" != <-> ]]; then
|
||||||
|
printlog "Got an invalid response for the Adobe Reader Current Version: ${adobecurrent}" ERROR
|
||||||
|
printlog "################## End $APPLICATION \n\n" INFO
|
||||||
|
exit 50
|
||||||
|
fi
|
||||||
|
downloadURL=$(echo https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/"$adobecurrent"/AcroRdrDCUpd"$adobecurrent"_MUI.dmg)
|
||||||
|
reader_preinstall() {
|
||||||
|
if pgrep -a "AdobeReader" >/dev/null 2>&1; then
|
||||||
|
printlog "AdobeReader is still running, forcefully killing." WARN
|
||||||
|
killall AdobeReader
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
preinstall="reader_preinstall"
|
||||||
|
updateTool="/usr/local/bin/RemoteUpdateManager"
|
||||||
|
updateToolArguments=( --productVersions=RDR )
|
||||||
appNewVersion=$(curl -s https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt)
|
appNewVersion=$(curl -s https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt)
|
||||||
#appNewVersion=$(curl -s -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15)" https://get.adobe.com/reader/ | grep ">Version" | sed -E 's/.*Version 20([0-9.]*)<.*/\1/g') # credit: Søren Theilgaard (@theilgaard)
|
updateToolLog="/Users/$currentUser/Library/Logs/RemoteUpdateManager.log"
|
||||||
|
updateToolLogDateFormat="%m/%d/%y %H:%M:%S"
|
||||||
expectedTeamID="JQ525L2MZD"
|
expectedTeamID="JQ525L2MZD"
|
||||||
blockingProcesses=( "AdobeReader" )
|
blockingProcesses=( "AdobeReader" )
|
||||||
|
Company=Adobe
|
||||||
|
PatchName=AcrobatReader
|
||||||
|
PatchSkip="YES"
|
||||||
;;
|
;;
|
||||||
adobereaderdc|\
|
adobereaderdc|\
|
||||||
adobereaderdc-install)
|
adobereaderdc-install)
|
||||||
@@ -1785,6 +1882,26 @@ aquaskk)
|
|||||||
appNewVersion=$(versionFromGit codefirst aquaskk)
|
appNewVersion=$(versionFromGit codefirst aquaskk)
|
||||||
expectedTeamID="FPZK4WRGW7"
|
expectedTeamID="FPZK4WRGW7"
|
||||||
;;
|
;;
|
||||||
|
archiwareb2go)
|
||||||
|
name="P5 Workstation"
|
||||||
|
type="pkgInDmg"
|
||||||
|
packageID="com.archiware.presstore"
|
||||||
|
appNewVersion=$(curl -sf https://www.archiware.com/download-p5 | grep -m 1 "ARCHIWARE P5 Version" | sed "s|.*Version \(.*\) -.*|\\1|")
|
||||||
|
downloadURL=$(appNrVersion=`sed 's/[^0-9]//g' <<< $appNewVersion` && echo https://p5-downloads.s3.amazonaws.com/awpst"$appNrVersion"-darwin.dmg)
|
||||||
|
pkgName=$(appNrVersion=`sed 's/[^0-9]//g' <<< $appNewVersion` && echo P5-Workstation-"$appNrVersion"-Install.pkg)
|
||||||
|
expectedTeamID="5H5EU6F965"
|
||||||
|
# blockingProcesses=( nsd )
|
||||||
|
;;
|
||||||
|
archiwarepst)
|
||||||
|
name="P5"
|
||||||
|
type="pkgInDmg"
|
||||||
|
packageID="com.archiware.presstore"
|
||||||
|
appNewVersion=$(curl -sf https://www.archiware.com/download-p5 | grep -m 1 "ARCHIWARE P5 Version" | sed "s|.*Version \(.*\) -.*|\\1|")
|
||||||
|
downloadURL=$(appNrVersion=`sed 's/[^0-9]//g' <<< $appNewVersion` && echo https://p5-downloads.s3.amazonaws.com/awpst"$appNrVersion"-darwin.dmg)
|
||||||
|
pkgName=$(appNrVersion=`sed 's/[^0-9]//g' <<< $appNewVersion` && echo P5-"$appNrVersion"-Install.pkg)
|
||||||
|
expectedTeamID="5H5EU6F965"
|
||||||
|
# blockingProcesses=( nsd )
|
||||||
|
;;
|
||||||
arq7)
|
arq7)
|
||||||
name="Arq7"
|
name="Arq7"
|
||||||
type="pkg"
|
type="pkg"
|
||||||
@@ -1825,7 +1942,13 @@ atom)
|
|||||||
audacity)
|
audacity)
|
||||||
name="Audacity"
|
name="Audacity"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL=$(downloadURLFromGit audacity audacity)
|
if [[ $(arch) == "arm64" ]]; then
|
||||||
|
archiveName="audacity-macOS-[0-9.]*-arm64.dmg"
|
||||||
|
downloadURL=$(downloadURLFromGit audacity audacity)
|
||||||
|
elif [[ $(arch) == "i386" ]]; then
|
||||||
|
archiveName="audacity-macOS-[0-9.]*-x86_64.dmg"
|
||||||
|
downloadURL=$(downloadURLFromGit audacity audacity)
|
||||||
|
fi
|
||||||
appNewVersion=$(versionFromGit audacity audacity)
|
appNewVersion=$(versionFromGit audacity audacity)
|
||||||
expectedTeamID="AWEYX923UX"
|
expectedTeamID="AWEYX923UX"
|
||||||
;;
|
;;
|
||||||
@@ -1942,7 +2065,14 @@ bettertouchtool)
|
|||||||
appNewVersion=$(curl -fs https://updates.folivora.ai/bettertouchtool_release_notes.html | grep BetterTouchTool | head -n 2 | tail -n 1 | sed -E 's/.* ([0-9\.]*) .*/\1/g')
|
appNewVersion=$(curl -fs https://updates.folivora.ai/bettertouchtool_release_notes.html | grep BetterTouchTool | head -n 2 | tail -n 1 | sed -E 's/.* ([0-9\.]*) .*/\1/g')
|
||||||
expectedTeamID="DAFVSXZ82P"
|
expectedTeamID="DAFVSXZ82P"
|
||||||
;;
|
;;
|
||||||
bitwarden)
|
bitrix24)
|
||||||
|
name="Bitrix24"
|
||||||
|
type="dmg"
|
||||||
|
archiveName="bitrix24_desktop.dmg"
|
||||||
|
downloadURL="https://dl.bitrix24.com/b24/bitrix24_desktop.dmg"
|
||||||
|
expectedTeamID="5B3T3A994N"
|
||||||
|
blockingProcesses=( "Bitrix24" )
|
||||||
|
;;bitwarden)
|
||||||
name="Bitwarden"
|
name="Bitwarden"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL=$(downloadURLFromGit bitwarden desktop )
|
downloadURL=$(downloadURLFromGit bitwarden desktop )
|
||||||
@@ -2111,12 +2241,37 @@ carboncopycloner)
|
|||||||
appNewVersion=$(sed -E 's/.*-([0-9.]*)\.zip/\1/g' <<< $downloadURL | sed 's/\.[^.]*$//')
|
appNewVersion=$(sed -E 's/.*-([0-9.]*)\.zip/\1/g' <<< $downloadURL | sed 's/\.[^.]*$//')
|
||||||
expectedTeamID="L4F2DED5Q7"
|
expectedTeamID="L4F2DED5Q7"
|
||||||
;;
|
;;
|
||||||
chatwork)
|
charles)
|
||||||
|
name="Charles"
|
||||||
|
type="dmg"
|
||||||
|
appNewVersion=$(curl -fs https://www.charlesproxy.com/download/latest-release/ | sed -nE 's/.*version.*value="([^"]*).*/\1/p')
|
||||||
|
downloadURL="https://www.charlesproxy.com/assets/release/$appNewVersion/charles-proxy-$appNewVersion.dmg"
|
||||||
|
expectedTeamID="9A5PCU4FSD"
|
||||||
|
;;chatwork)
|
||||||
name="Chatwork"
|
name="Chatwork"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL="https://desktop-app.chatwork.com/installer/Chatwork.dmg"
|
downloadURL="https://desktop-app.chatwork.com/installer/Chatwork.dmg"
|
||||||
expectedTeamID="H34A3H2Y54"
|
expectedTeamID="H34A3H2Y54"
|
||||||
;;
|
;;
|
||||||
|
chronoagent)
|
||||||
|
name="ChronoAgent"
|
||||||
|
type="pkgInDmg"
|
||||||
|
# packageID="com.econtechnologies.preference.chronoagent"
|
||||||
|
# versionKey="CFBundleVersion"
|
||||||
|
# None of the above can read out the installed version
|
||||||
|
releaseURL="https://www.econtechnologies.com/UC/updatecheck.php?prod=ChronoAgent&lang=en&plat=mac&os=10.14.1&hw=i64&req=1&vers=#"
|
||||||
|
appNewVersion=$(curl -sf $releaseURL | sed -r 's/.*VERSION=([^<]+).*/\1/')
|
||||||
|
downloadURL="https://downloads.econtechnologies.com/CA_Mac_Download.dmg"
|
||||||
|
expectedTeamID="9U697UM7YX"
|
||||||
|
;;
|
||||||
|
chronosync)
|
||||||
|
name="ChronoSync"
|
||||||
|
type="pkgInDmg"
|
||||||
|
releaseURL="https://www.econtechnologies.com/UC/updatecheck.php?prod=ChronoSync&lang=en&plat=mac&os=10.14.1&hw=i64&req=1&vers=#"
|
||||||
|
appNewVersion=$(curl -sf $releaseURL | sed -r 's/.*VERSION=([^<]+).*/\1/')
|
||||||
|
downloadURL="https://downloads.econtechnologies.com/CS4_Download.dmg"
|
||||||
|
expectedTeamID="9U697UM7YX"
|
||||||
|
;;
|
||||||
cisdem-documentreader)
|
cisdem-documentreader)
|
||||||
name="cisdem-documentreader"
|
name="cisdem-documentreader"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -2276,6 +2431,17 @@ cyberduck)
|
|||||||
appNewVersion=$(curl -fs https://version.cyberduck.io/changelog.rss | xpath '//rss/channel/item/enclosure/@sparkle:shortVersionString' 2>/dev/null | cut -d '"' -f 2 )
|
appNewVersion=$(curl -fs https://version.cyberduck.io/changelog.rss | xpath '//rss/channel/item/enclosure/@sparkle:shortVersionString' 2>/dev/null | cut -d '"' -f 2 )
|
||||||
expectedTeamID="G69SCX94XU"
|
expectedTeamID="G69SCX94XU"
|
||||||
;;
|
;;
|
||||||
|
cytoscape)
|
||||||
|
name="Cytoscape"
|
||||||
|
#appName="Cytoscape Installer.app"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="$(downloadURLFromGit cytoscape cytoscape)"
|
||||||
|
appNewVersion="$(versionFromGit cytoscape cytoscape)"
|
||||||
|
installerTool="Cytoscape Installer.app"
|
||||||
|
CLIInstaller="Cytoscape Installer.app/Contents/MacOS/JavaApplicationStub"
|
||||||
|
CLIArguments=(-q)
|
||||||
|
expectedTeamID="35LDCJ33QT"
|
||||||
|
;;
|
||||||
daisydisk)
|
daisydisk)
|
||||||
name="DaisyDisk"
|
name="DaisyDisk"
|
||||||
type="zip"
|
type="zip"
|
||||||
@@ -2444,10 +2610,10 @@ duckduckgo)
|
|||||||
name="DuckDuckGo"
|
name="DuckDuckGo"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
#downloadURL="https://staticcdn.duckduckgo.com/macos-desktop-browser/duckduckgo.dmg"
|
#downloadURL="https://staticcdn.duckduckgo.com/macos-desktop-browser/duckduckgo.dmg"
|
||||||
#downloadURL=$(curl -fs https://staticcdn.duckduckgo.com/macos-desktop-browser/appcast.xml | xpath '(//rss/channel/item/enclosure/@url)[last()]' 2>/dev/null | cut -d '"' -f2)
|
downloadURL=$(curl -fs https://staticcdn.duckduckgo.com/macos-desktop-browser/appcast.xml | xpath '(//rss/channel/item/enclosure/@url)[last()]' 2>/dev/null | cut -d '"' -f2)
|
||||||
downloadURL=$(curl -fs https://staticcdn.duckduckgo.com/macos-desktop-browser/appcast.xml | xpath '(//rss/channel/item/enclosure/@url)[1]' 2>/dev/null | cut -d '"' -f2)
|
#downloadURL=$(curl -fs https://staticcdn.duckduckgo.com/macos-desktop-browser/appcast.xml | xpath '(//rss/channel/item/enclosure/@url)[1]' 2>/dev/null | cut -d '"' -f2)
|
||||||
#appNewVersion=$(curl -fs https://staticcdn.duckduckgo.com/macos-desktop-browser/appcast.xml | xpath '(//rss/channel/item/enclosure/@sparkle:version)[last()]' 2>/dev/null | cut -d '"' -f2)
|
appNewVersion=$(curl -fs https://staticcdn.duckduckgo.com/macos-desktop-browser/appcast.xml | xpath '(//rss/channel/item/enclosure/@sparkle:version)[last()]' 2>/dev/null | cut -d '"' -f2)
|
||||||
appNewVersion=$(curl -fs https://staticcdn.duckduckgo.com/macos-desktop-browser/appcast.xml | xpath '(//rss/channel/item/sparkle:shortVersionString)[1]' 2>/dev/null | cut -d ">" -f2 | cut -d "<" -f1)
|
#appNewVersion=$(curl -fs https://staticcdn.duckduckgo.com/macos-desktop-browser/appcast.xml | xpath '(//rss/channel/item/sparkle:shortVersionString)[1]' 2>/dev/null | cut -d ">" -f2 | cut -d "<" -f1)
|
||||||
expectedTeamID="HKE973VLUW"
|
expectedTeamID="HKE973VLUW"
|
||||||
;;
|
;;
|
||||||
duodevicehealth)
|
duodevicehealth)
|
||||||
@@ -2603,6 +2769,14 @@ figma)
|
|||||||
appNewVersion="$(curl -fsL https://desktop.figma.com/mac/RELEASE.json | awk -F '"' '{ print $8 }')"
|
appNewVersion="$(curl -fsL https://desktop.figma.com/mac/RELEASE.json | awk -F '"' '{ print $8 }')"
|
||||||
expectedTeamID="T8RA8NE3B7"
|
expectedTeamID="T8RA8NE3B7"
|
||||||
;;
|
;;
|
||||||
|
filemakerpro)
|
||||||
|
name="FileMaker Pro"
|
||||||
|
type="dmg"
|
||||||
|
versionKey="BuildVersion"
|
||||||
|
downloadURL=$(curl -fs https://www.filemaker.com/redirects/ss.txt | grep '\"PRO..MAC\"' | tail -1 | sed "s|.*url\":\"\(.*\)\".*|\\1|")
|
||||||
|
appNewVersion=$(curl -fs https://www.filemaker.com/redirects/ss.txt | grep '\"PRO..MAC\"' | tail -1 | sed "s|.*fmp_\(.*\).dmg.*|\\1|")
|
||||||
|
expectedTeamID="J6K4T76U7W"
|
||||||
|
;;
|
||||||
filezilla)
|
filezilla)
|
||||||
name="FileZilla"
|
name="FileZilla"
|
||||||
type="tbz"
|
type="tbz"
|
||||||
@@ -2796,6 +2970,20 @@ fsmonitor)
|
|||||||
downloadURL=$(curl --location --fail --silent "https://fsmonitor.com/FSMonitor/Archives/appcast2.xml" | xpath '//rss/channel/item[last()]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2)
|
downloadURL=$(curl --location --fail --silent "https://fsmonitor.com/FSMonitor/Archives/appcast2.xml" | xpath '//rss/channel/item[last()]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2)
|
||||||
expectedTeamID="V85GBYB7B9"
|
expectedTeamID="V85GBYB7B9"
|
||||||
;;
|
;;
|
||||||
|
fujifilmwebcam)
|
||||||
|
name="FUJIFILM X Webcam 2"
|
||||||
|
type="pkg"
|
||||||
|
downloadURL=$(curl -fs "https://fujifilm-x.com/en-us/support/download/software/x-webcam/" | grep "https.*pkg" | sed -E 's/.*(https:\/\/dl.fujifilm-x\.com\/support\/software\/.*\.pkg[^\<]).*/\1/g' | sed -e 's/^"//' -e 's/"$//')
|
||||||
|
appNewVersion=$( echo “${downloadURL}” | sed -E 's/.*XWebcamIns([0-9]*).*/\1/g' | sed -E 's/([0-9])([0-9]).*/\1\.\2/g')
|
||||||
|
expectedTeamID="34LRP8AV2M"
|
||||||
|
;;
|
||||||
|
gfxcardstatus)
|
||||||
|
name="gfxCardStatus"
|
||||||
|
type="zip"
|
||||||
|
downloadURL="$(downloadURLFromGit codykrieger gfxCardStatus)"
|
||||||
|
appNewVersion="$(versionFromGit codykrieger gfxCardStatus)"
|
||||||
|
expectedTeamID="LF22FTQC25"
|
||||||
|
;;
|
||||||
gimp)
|
gimp)
|
||||||
name="GIMP-2.10"
|
name="GIMP-2.10"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -2999,6 +3187,20 @@ hazel)
|
|||||||
appNewVersion=$(curl -fsI https://www.noodlesoft.com/Products/Hazel/download | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
appNewVersion=$(curl -fsI https://www.noodlesoft.com/Products/Hazel/download | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
||||||
expectedTeamID="86Z3GCJ4MF"
|
expectedTeamID="86Z3GCJ4MF"
|
||||||
;;
|
;;
|
||||||
|
horos)
|
||||||
|
name="Horos"
|
||||||
|
type="dmg"
|
||||||
|
versionKey="CFBundleGetInfoString"
|
||||||
|
appNewVersion=$(curl -fs https://github.com/horosproject/horos/blob/horos/Horos/Info.plist | grep -A 4 "CFBundleGetInfoString" | tail -1 | sed -r 's/.*Horos v([^<]+).*/\1/' | sed 's/ //g')
|
||||||
|
if [[ $(arch) == "arm64" ]]; then
|
||||||
|
downloadURL="https://horosproject.org/horos-content/Horos"$appNewVersion"_Apple.dmg"
|
||||||
|
TeamID="8NDFEW7285"
|
||||||
|
elif [[ $(arch) == "i386" ]]; then
|
||||||
|
downloadURL="https://horosproject.org/horos-content/Horos"$appNewVersion".dmg"
|
||||||
|
TeamID="TPT6TVH8UY"
|
||||||
|
fi
|
||||||
|
expectedTeamID=$TeamID
|
||||||
|
;;
|
||||||
houdahspot)
|
houdahspot)
|
||||||
name="HoudahSpot"
|
name="HoudahSpot"
|
||||||
type="zip"
|
type="zip"
|
||||||
@@ -3430,6 +3632,13 @@ lastpass)
|
|||||||
expectedTeamID="N24REP3BMN"
|
expectedTeamID="N24REP3BMN"
|
||||||
Company="Marvasol, Inc DBA LastPass"
|
Company="Marvasol, Inc DBA LastPass"
|
||||||
;;
|
;;
|
||||||
|
latexit)
|
||||||
|
name="LaTeXiT"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="$(curl -fs "https://pierre.chachatelier.fr/latexit/downloads/latexit-sparkle-en.rss" | xpath '(//rss/channel/item/enclosure/@url)[last()]' 2>/dev/null | cut -d '"' -f 2)"
|
||||||
|
appNewVersion="$(curl -fs "https://pierre.chachatelier.fr/latexit/downloads/latexit-sparkle-en.rss" | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[last()]' 2>/dev/null | cut -d '"' -f 2)"
|
||||||
|
expectedTeamID="7SFX84GNR7"
|
||||||
|
;;
|
||||||
launchbar)
|
launchbar)
|
||||||
name="LaunchBar"
|
name="LaunchBar"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -3454,11 +3663,14 @@ libreoffice)
|
|||||||
name="LibreOffice"
|
name="LibreOffice"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
if [[ $(arch) == "arm64" ]]; then
|
if [[ $(arch) == "arm64" ]]; then
|
||||||
arch_type="aarch64"
|
releaseURL="https://downloadarchive.documentfoundation.org/libreoffice/old/latest/mac/aarch64/"
|
||||||
|
appNewVersion=$(curl -sf $releaseURL | grep -m 1 "_MacOS_aarch64.dmg" | sed "s|.*LibreOffice_\(.*\)_MacOS.*|\\1|")
|
||||||
|
downloadURL="https://downloadarchive.documentfoundation.org/libreoffice/old/latest/mac/aarch64/LibreOffice_"$appNewVersion"_MacOS_aarch64.dmg"
|
||||||
|
elif [[ $(arch) == "i386" ]]; then
|
||||||
|
releaseURL="https://downloadarchive.documentfoundation.org/libreoffice/old/latest/mac/x86_64/"
|
||||||
|
appNewVersion=$(curl -sf $releaseURL | grep -m 1 "_MacOS_x86-64.dmg" | sed "s|.*LibreOffice_\(.*\)_MacOS.*|\\1|")
|
||||||
|
downloadURL="https://downloadarchive.documentfoundation.org/libreoffice/old/latest/mac/x86_64/LibreOffice_"$appNewVersion"_MacOS_x86-64.dmg"
|
||||||
fi
|
fi
|
||||||
libreoffice_latest_version="$(curl -Ls https://www.libreoffice.org/download/download-libreoffice/ | grep dl_version_number | head -n 1 | cut -d'>' -f3 | cut -d'<' -f1)"
|
|
||||||
downloadURL="https://download.documentfoundation.org/libreoffice/stable/${libreoffice_latest_version}/mac/${arch_type:-x86_64}/LibreOffice_${libreoffice_latest_version}_MacOS_${arch_type:-x86-64}.dmg"
|
|
||||||
appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*_([0-9.]*)_.*/\1/g')
|
|
||||||
expectedTeamID="7P5S3ZLCN7"
|
expectedTeamID="7P5S3ZLCN7"
|
||||||
blockingProcesses=( soffice )
|
blockingProcesses=( soffice )
|
||||||
;;
|
;;
|
||||||
@@ -4115,7 +4327,6 @@ nomad)
|
|||||||
downloadURL="https://files.nomad.menu/NoMAD.pkg"
|
downloadURL="https://files.nomad.menu/NoMAD.pkg"
|
||||||
appNewVersion=$(curl -fs https://nomad.menu/support/ | grep "NoMAD Downloads" | sed -E 's/.*Current Version ([0-9\.]*)<.*/\1/g')
|
appNewVersion=$(curl -fs https://nomad.menu/support/ | grep "NoMAD Downloads" | sed -E 's/.*Current Version ([0-9\.]*)<.*/\1/g')
|
||||||
expectedTeamID="VRPY9KHGX6"
|
expectedTeamID="VRPY9KHGX6"
|
||||||
blockingProcesses=( NONE )
|
|
||||||
;;
|
;;
|
||||||
nomadlogin)
|
nomadlogin)
|
||||||
# credit: Søren Theilgaard (@theilgaard)
|
# credit: Søren Theilgaard (@theilgaard)
|
||||||
@@ -4148,10 +4359,21 @@ notion)
|
|||||||
nudge)
|
nudge)
|
||||||
name="Nudge"
|
name="Nudge"
|
||||||
type="pkg"
|
type="pkg"
|
||||||
|
archiveName="Nudge-[0-9.]*.pkg"
|
||||||
downloadURL=$(downloadURLFromGit macadmins Nudge )
|
downloadURL=$(downloadURLFromGit macadmins Nudge )
|
||||||
appNewVersion=$(versionFromGit macadmins Nudge )
|
appNewVersion=$(versionFromGit macadmins Nudge )
|
||||||
expectedTeamID="9GQZ7KUFR6"
|
expectedTeamID="9GQZ7KUFR6"
|
||||||
archiveName="Nudge-[0-9.]*.pkg"
|
|
||||||
|
;;
|
||||||
|
nudgesuite)
|
||||||
|
name="Nudge Suite"
|
||||||
|
appName="Nudge.app"
|
||||||
|
type="pkg"
|
||||||
|
archiveName="Nudge_Suite-[0-9.]*.pkg"
|
||||||
|
downloadURL=$(downloadURLFromGit macadmins Nudge )
|
||||||
|
appNewVersion=$(versionFromGit macadmins Nudge )
|
||||||
|
expectedTeamID="9GQZ7KUFR6"
|
||||||
|
blockingProcesses=( "Nudge" )
|
||||||
;;
|
;;
|
||||||
nvivo)
|
nvivo)
|
||||||
name="NVivo"
|
name="NVivo"
|
||||||
@@ -4162,10 +4384,15 @@ nvivo)
|
|||||||
blockingProcesses=( NVivo NVivoHelper )
|
blockingProcesses=( NVivo NVivoHelper )
|
||||||
;;
|
;;
|
||||||
obs)
|
obs)
|
||||||
# credit: Gabe Marchan (gabemarchan.com - @darklink87)
|
|
||||||
name="OBS"
|
name="OBS"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL=$(curl -fs "https://obsproject.com/download" | awk -F '"' "/dmg/ {print \$10}")
|
if [[ $(arch) == "arm64" ]]; then
|
||||||
|
archiveName="obs-studio-[0-9.]*-macos-arm64.dmg"
|
||||||
|
elif [[ $(arch) == "i386" ]]; then
|
||||||
|
archiveName="obs-studio-[0-9.]*-macos-x86_64.dmg"
|
||||||
|
fi
|
||||||
|
downloadURL=$(downloadURLFromGit obsproject obs-studio )
|
||||||
|
appNewVersion=$(versionFromGit obsproject obs-studio )
|
||||||
expectedTeamID="2MMRE5MTB8"
|
expectedTeamID="2MMRE5MTB8"
|
||||||
;;
|
;;
|
||||||
obsidian)
|
obsidian)
|
||||||
@@ -4283,7 +4510,13 @@ opera)
|
|||||||
versionKey="CFBundleVersion"
|
versionKey="CFBundleVersion"
|
||||||
expectedTeamID="A2P9LX4JPN"
|
expectedTeamID="A2P9LX4JPN"
|
||||||
;;
|
;;
|
||||||
ottomatic)
|
origin)
|
||||||
|
name="Origin"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://www.dm.origin.com/mac/download/Origin.dmg"
|
||||||
|
expectedTeamID="TSTV75T6Q5"
|
||||||
|
blockingProcesses=( "Origin" )
|
||||||
|
;;ottomatic)
|
||||||
name="Otto Matic"
|
name="Otto Matic"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL=$(downloadURLFromGit jorio OttoMatic)
|
downloadURL=$(downloadURLFromGit jorio OttoMatic)
|
||||||
@@ -4384,6 +4617,13 @@ plisteditpro)
|
|||||||
downloadURL="https://www.fatcatsoftware.com/plisteditpro/PlistEditPro.zip"
|
downloadURL="https://www.fatcatsoftware.com/plisteditpro/PlistEditPro.zip"
|
||||||
expectedTeamID="8NQ43ND65V"
|
expectedTeamID="8NQ43ND65V"
|
||||||
;;
|
;;
|
||||||
|
polylens)
|
||||||
|
name="Poly Lens"
|
||||||
|
type="dmg"
|
||||||
|
appNewVersion=$(curl -fs "https://info.lens.poly.com/lens-dt-rn/atom.xml" | grep "Version" | head -1 | cut -d "[" -f3 | sed 's/Version //g' | sed 's/]]\>\<\/title\>//g')
|
||||||
|
downloadURL="https://swupdate.lens.poly.com/lens-desktop-mac/$appNewVersion/$appNewVersion/PolyLens-$appNewVersion.dmg"
|
||||||
|
expectedTeamID="SKWK2Q7JJV"
|
||||||
|
;;
|
||||||
postman)
|
postman)
|
||||||
name="Postman"
|
name="Postman"
|
||||||
type="zip"
|
type="zip"
|
||||||
@@ -4485,8 +4725,13 @@ qgis-pr)
|
|||||||
r)
|
r)
|
||||||
name="R"
|
name="R"
|
||||||
type="pkg"
|
type="pkg"
|
||||||
downloadURL="https://cloud.r-project.org/bin/macosx/$( curl -fsL https://cloud.r-project.org/bin/macosx/ | grep -m 1 -o '<a href=".*pkg">' | sed -E 's/.+"(.+)".+/\1/g' )"
|
if [[ $(arch) == "arm64" ]]; then
|
||||||
appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
downloadURL="https://cloud.r-project.org/bin/macosx/$( curl -fsL https://cloud.r-project.org/bin/macosx/ | grep -m 1 -o '<a href=".*arm64\.pkg">' | sed -E 's/.+"(.+)".+/\1/g' )"
|
||||||
|
appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)-.*\..*/\1/g')
|
||||||
|
elif [[ $(arch) == "i386" ]]; then
|
||||||
|
downloadURL="https://cloud.r-project.org/bin/macosx/$( curl -fsL https://cloud.r-project.org/bin/macosx/ | grep -o '<a href=".*pkg">' | grep -m 1 -v "arm64" | sed -E 's/.+"(.+)".+/\1/g' )"
|
||||||
|
appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
||||||
|
fi
|
||||||
expectedTeamID="VZLD955F6P"
|
expectedTeamID="VZLD955F6P"
|
||||||
;;
|
;;
|
||||||
ramboxce)
|
ramboxce)
|
||||||
@@ -4636,7 +4881,7 @@ rstudio)
|
|||||||
name="RStudio"
|
name="RStudio"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL=$(curl -s -L "https://rstudio.com/products/rstudio/download/" | grep -m 1 -Eio 'href="https://download1.rstudio.org/desktop/macos/RStudio-(.*).dmg"' | cut -c7- | sed -e 's/"$//')
|
downloadURL=$(curl -s -L "https://rstudio.com/products/rstudio/download/" | grep -m 1 -Eio 'href="https://download1.rstudio.org/desktop/macos/RStudio-(.*).dmg"' | cut -c7- | sed -e 's/"$//')
|
||||||
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
|
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.-]*)\..*/\1/g' | sed 's/-/+/' )
|
||||||
expectedTeamID="FYF2F5GFX4"
|
expectedTeamID="FYF2F5GFX4"
|
||||||
;;
|
;;
|
||||||
santa)
|
santa)
|
||||||
@@ -4647,7 +4892,6 @@ santa)
|
|||||||
downloadURL=$(downloadURLFromGit google santa)
|
downloadURL=$(downloadURLFromGit google santa)
|
||||||
appNewVersion=$(versionFromGit google santa)
|
appNewVersion=$(versionFromGit google santa)
|
||||||
expectedTeamID="EQHXZ8M8AV"
|
expectedTeamID="EQHXZ8M8AV"
|
||||||
blockingProcesses=( NONE )
|
|
||||||
;;
|
;;
|
||||||
scaleft)
|
scaleft)
|
||||||
name="ScaleFT"
|
name="ScaleFT"
|
||||||
@@ -4660,7 +4904,12 @@ scaleft)
|
|||||||
screamingfrogseospider)
|
screamingfrogseospider)
|
||||||
name="Screaming Frog SEO Spider"
|
name="Screaming Frog SEO Spider"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL=$(curl -fs "https://www.screamingfrog.co.uk/wp-content/themes/screamingfrog/inc/download-modal.php" | grep -i -o "https.*\.dmg" | head -1)
|
if [[ $(arch) == i386 ]]; then
|
||||||
|
platform="Mac - (intel)"
|
||||||
|
elif [[ $(arch) == arm64 ]]; then
|
||||||
|
platform="Mac - (apple silicon)"
|
||||||
|
fi
|
||||||
|
downloadURL=$(curl -fs "https://www.screamingfrog.co.uk/wp-content/themes/screamingfrog/inc/download-modal.php" | grep "${platform}" | grep -i -o "https.*\.dmg" | head -1)
|
||||||
appNewVersion=$(print "$downloadURL" | sed -E 's/https.*\/[a-zA-Z]*-([0-9.]*)\.dmg/\1/g')".0"
|
appNewVersion=$(print "$downloadURL" | sed -E 's/https.*\/[a-zA-Z]*-([0-9.]*)\.dmg/\1/g')".0"
|
||||||
expectedTeamID="CAHEVC3HZC"
|
expectedTeamID="CAHEVC3HZC"
|
||||||
;;
|
;;
|
||||||
@@ -4877,6 +5126,14 @@ sourcetree)
|
|||||||
appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/Sourcetree_([0-9.]*)_[0-9]*\.zip/\1/g')
|
appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/Sourcetree_([0-9.]*)_[0-9]*\.zip/\1/g')
|
||||||
expectedTeamID="UPXU4CQZ5P"
|
expectedTeamID="UPXU4CQZ5P"
|
||||||
;;
|
;;
|
||||||
|
splashtopbusiness)
|
||||||
|
name="Splashtop Business"
|
||||||
|
type="pkgInDmg"
|
||||||
|
splashtopbusinessVersions=$(curl -fsL "https://www.splashtop.com/wp-content/themes/responsive/downloadx.php?product=stb&platform=mac-client")
|
||||||
|
downloadURL=$(getJSONValue "$splashtopbusinessVersions" "url")
|
||||||
|
appNewVersion="${${downloadURL#*INSTALLER_v}%*.dmg}"
|
||||||
|
expectedTeamID="CPQQ3AW49Y"
|
||||||
|
;;
|
||||||
splashtopsos)
|
splashtopsos)
|
||||||
name="Splashtop SOS"
|
name="Splashtop SOS"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -5028,6 +5285,14 @@ tageditor)
|
|||||||
appNewVersion=$(curl -sf "https://amvidia.com/tag-editor" | grep -o -E '"softwareVersion":.'"{8}" | sed -E 's/.*"([0-9.]*).*/\1/g')
|
appNewVersion=$(curl -sf "https://amvidia.com/tag-editor" | grep -o -E '"softwareVersion":.'"{8}" | sed -E 's/.*"([0-9.]*).*/\1/g')
|
||||||
expectedTeamID="F2TH9XX9CJ"
|
expectedTeamID="F2TH9XX9CJ"
|
||||||
;;
|
;;
|
||||||
|
tailscale)
|
||||||
|
name="Tailscale"
|
||||||
|
type="zip"
|
||||||
|
appNewVersion="$(curl -s https://pkgs.tailscale.com/stable/ | awk -F- '/Tailscale.*macos.zip/ {print $2}')"
|
||||||
|
downloadURL="https://pkgs.tailscale.com/stable/Tailscale-${appNewVersion}-macos.zip"
|
||||||
|
expectedTeamID="W5364U7YZB"
|
||||||
|
versionKey="CFBundleShortVersionString"
|
||||||
|
;;
|
||||||
talkdeskcallbar)
|
talkdeskcallbar)
|
||||||
name="Callbar"
|
name="Callbar"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -5343,11 +5608,12 @@ vlc)
|
|||||||
type="dmg"
|
type="dmg"
|
||||||
if [[ $(arch) == "arm64" ]]; then
|
if [[ $(arch) == "arm64" ]]; then
|
||||||
downloadURL=$(curl -fs http://update.videolan.org/vlc/sparkle/vlc-arm64.xml | xpath '//rss/channel/item[last()]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2 )
|
downloadURL=$(curl -fs http://update.videolan.org/vlc/sparkle/vlc-arm64.xml | xpath '//rss/channel/item[last()]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2 )
|
||||||
appNewVersion=$(curl -fs http://update.videolan.org/vlc/sparkle/vlc-arm64.xml | xpath '//rss/channel/item[last()]/enclosure/@sparkle:version' 2>/dev/null | cut -d '"' -f 2 )
|
#appNewVersion=$(curl -fs http://update.videolan.org/vlc/sparkle/vlc-arm64.xml | xpath '//rss/channel/item[last()]/enclosure/@sparkle:version' 2>/dev/null | cut -d '"' -f 2 )
|
||||||
elif [[ $(arch) == "i386" ]]; then
|
elif [[ $(arch) == "i386" ]]; then
|
||||||
downloadURL=$(curl -fs http://update.videolan.org/vlc/sparkle/vlc-intel64.xml | xpath '//rss/channel/item[last()]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2 )
|
downloadURL=$(curl -fs http://update.videolan.org/vlc/sparkle/vlc-intel64.xml | xpath '//rss/channel/item[last()]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2 )
|
||||||
appNewVersion=$(curl -fs http://update.videolan.org/vlc/sparkle/vlc-intel64.xml | xpath '//rss/channel/item[last()]/enclosure/@sparkle:version' 2>/dev/null | cut -d '"' -f 2 )
|
#appNewVersion=$(curl -fs http://update.videolan.org/vlc/sparkle/vlc-intel64.xml | xpath '//rss/channel/item[last()]/enclosure/@sparkle:version' 2>/dev/null | cut -d '"' -f 2 )
|
||||||
fi
|
fi
|
||||||
|
appNewVersion=$(echo ${downloadURL} | sed -E 's/.*\/vlc-([0-9.]*).*\.dmg/\1/' )
|
||||||
expectedTeamID="75GAHG3SZQ"
|
expectedTeamID="75GAHG3SZQ"
|
||||||
;;
|
;;
|
||||||
vmwarehorizonclient)
|
vmwarehorizonclient)
|
||||||
@@ -5453,13 +5719,16 @@ wwdc)
|
|||||||
;;
|
;;
|
||||||
xcreds)
|
xcreds)
|
||||||
name="XCreds"
|
name="XCreds"
|
||||||
#type="pkgInZip"
|
# Downloading from twocanoes homepage
|
||||||
|
#type="pkgInDmg"
|
||||||
#packageID="com.twocanoes.pkg.secureremoteaccess"
|
#packageID="com.twocanoes.pkg.secureremoteaccess"
|
||||||
#downloadURL=$(curl -fs "https://twocanoes.com/products/mac/xcreds/" | grep -ioE "https://.*\.zip" | head -1)
|
#downloadURL=$(curl -fs "https://twocanoes.com/products/mac/xcreds/" | grep -ioE "https://.*\.zip" | head -1)
|
||||||
#appNewVersion=$(curl -fs "https://twocanoes.com/products/mac/xcreds/" | grep -io "Current Version:.*" | sed -E 's/.*XCreds *([0-9.]*)<.*/\1/g')
|
#appNewVersion=$(curl -fs "https://twocanoes.com/products/mac/xcreds/" | grep -io "Current Version:.*" | sed -E 's/.*XCreds *([0-9.]*)<.*/\1/g')
|
||||||
|
# GitHub download
|
||||||
type="pkg"
|
type="pkg"
|
||||||
downloadURL="$(downloadURLFromGit twocanoes xcreds)"
|
downloadURL="$(downloadURLFromGit twocanoes xcreds)"
|
||||||
appNewVersion="$(versionFromGit twocanoes xcreds)"
|
#appNewVersion="$(versionFromGit twocanoes xcreds)" # GitHub tag contain “_” and not “.” so our function fails to get the right version
|
||||||
|
appNewVersion=$(echo "$downloadURL" | sed -E 's/.*XCreds_.*-([0-9.]*)\.pkg/\1/')
|
||||||
expectedTeamID="UXP6YEHSPW"
|
expectedTeamID="UXP6YEHSPW"
|
||||||
;;
|
;;
|
||||||
xeroxphaser7800)
|
xeroxphaser7800)
|
||||||
@@ -5590,6 +5859,16 @@ zoomgov)
|
|||||||
expectedTeamID="BJ4HAAB9B3"
|
expectedTeamID="BJ4HAAB9B3"
|
||||||
versionKey="CFBundleVersion"
|
versionKey="CFBundleVersion"
|
||||||
;;
|
;;
|
||||||
|
zoomoutlookplugin)
|
||||||
|
name="Zoom Outlook Plugin"
|
||||||
|
appName="PluginLauncher.app"
|
||||||
|
targetDir="/Applications/ZoomOutlookPlugin"
|
||||||
|
type="pkg"
|
||||||
|
downloadURL="https://zoom.us/client/latest/ZoomMacOutlookPlugin.pkg"
|
||||||
|
appNewVersion="$(curl -fsIL ${downloadURL} | grep -i ^location | cut -d "/" -f5 | cut -d "." -f1-3)"
|
||||||
|
expectedTeamID="BJ4HAAB9B3"
|
||||||
|
blockingProcesses=( "PluginLauncher" )
|
||||||
|
;;
|
||||||
zoomrooms)
|
zoomrooms)
|
||||||
name="ZoomRooms"
|
name="ZoomRooms"
|
||||||
type="pkg"
|
type="pkg"
|
||||||
@@ -5599,6 +5878,14 @@ zoomrooms)
|
|||||||
expectedTeamID="BJ4HAAB9B3"
|
expectedTeamID="BJ4HAAB9B3"
|
||||||
blockingProcesses=( "ZoomPresence" )
|
blockingProcesses=( "ZoomPresence" )
|
||||||
;;
|
;;
|
||||||
|
zotero)
|
||||||
|
name="Zotero"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://www.zotero.org/download/client/dl?channel=release&platform=mac&version=$(curl -fs "https://www.zotero.org/download/" | grep -Eio '"mac":"(.*)' | cut -d '"' -f 4)"
|
||||||
|
expectedTeamID="8LAYR367YV"
|
||||||
|
appNewVersion=$(curl -fs "https://www.zotero.org/download/" | grep -Eio '"mac":"(.*)' | cut -d '"' -f 4)
|
||||||
|
#Company="Corporation for Digital Scholarship"
|
||||||
|
;;
|
||||||
zulujdk11)
|
zulujdk11)
|
||||||
name="Zulu JDK 11"
|
name="Zulu JDK 11"
|
||||||
type="pkgInDmg"
|
type="pkgInDmg"
|
||||||
@@ -5849,6 +6136,10 @@ if [[ -n $appNewVersion ]]; then
|
|||||||
printlog "notifying"
|
printlog "notifying"
|
||||||
displaynotification "$message" "No update for $name!"
|
displaynotification "$message" "No update for $name!"
|
||||||
fi
|
fi
|
||||||
|
if [[ $DIALOG_CMD_FILE != "" ]]; then
|
||||||
|
updateDialog "complete" "Latest version already installed..."
|
||||||
|
sleep 2
|
||||||
|
fi
|
||||||
cleanupAndExit 0 "No newer version." REQ
|
cleanupAndExit 0 "No newer version." REQ
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
|||||||
24
Labels.txt
24
Labels.txt
@@ -7,11 +7,13 @@ abetterfinderrename11
|
|||||||
abstract
|
abstract
|
||||||
acroniscyberprotectconnect
|
acroniscyberprotectconnect
|
||||||
acroniscyberprotectconnectagent
|
acroniscyberprotectconnectagent
|
||||||
|
adobeacrobatprodc
|
||||||
adobebrackets
|
adobebrackets
|
||||||
adobeconnect
|
adobeconnect
|
||||||
adobecreativeclouddesktop
|
adobecreativeclouddesktop
|
||||||
adobereaderdc
|
adobereaderdc
|
||||||
adobereaderdc-install
|
adobereaderdc-install
|
||||||
|
adobereaderdc-install
|
||||||
adobereaderdc-update
|
adobereaderdc-update
|
||||||
aircall
|
aircall
|
||||||
airserver
|
airserver
|
||||||
@@ -35,6 +37,8 @@ applesfmono
|
|||||||
applesfpro
|
applesfpro
|
||||||
applesfsymbols
|
applesfsymbols
|
||||||
aquaskk
|
aquaskk
|
||||||
|
archiwareb2go
|
||||||
|
archiwarepst
|
||||||
arq7
|
arq7
|
||||||
asana
|
asana
|
||||||
atext
|
atext
|
||||||
@@ -56,7 +60,7 @@ bartender
|
|||||||
basecamp3
|
basecamp3
|
||||||
bbedit
|
bbedit
|
||||||
bettertouchtool
|
bettertouchtool
|
||||||
bitwarden
|
bitrix24
|
||||||
blender
|
blender
|
||||||
bluejeans
|
bluejeans
|
||||||
bluejeanswithaudiodriver
|
bluejeanswithaudiodriver
|
||||||
@@ -76,7 +80,9 @@ camtasia2020
|
|||||||
camtasia2021
|
camtasia2021
|
||||||
canva
|
canva
|
||||||
carboncopycloner
|
carboncopycloner
|
||||||
chatwork
|
charles
|
||||||
|
chronoagent
|
||||||
|
chronosync
|
||||||
cisdem-documentreader
|
cisdem-documentreader
|
||||||
citrixworkspace
|
citrixworkspace
|
||||||
clevershare2
|
clevershare2
|
||||||
@@ -97,6 +103,7 @@ craftmanagerforsketch
|
|||||||
cricutdesignspace
|
cricutdesignspace
|
||||||
cryptomator
|
cryptomator
|
||||||
cyberduck
|
cyberduck
|
||||||
|
cytoscape
|
||||||
daisydisk
|
daisydisk
|
||||||
dangerzone
|
dangerzone
|
||||||
darktable
|
darktable
|
||||||
@@ -137,6 +144,7 @@ favro
|
|||||||
fellow
|
fellow
|
||||||
ferdi
|
ferdi
|
||||||
figma
|
figma
|
||||||
|
filemakerpro
|
||||||
filezilla
|
filezilla
|
||||||
findanyfile
|
findanyfile
|
||||||
firefox
|
firefox
|
||||||
@@ -154,6 +162,8 @@ flycut
|
|||||||
fontexplorer
|
fontexplorer
|
||||||
front
|
front
|
||||||
fsmonitor
|
fsmonitor
|
||||||
|
fujifilmwebcam
|
||||||
|
gfxcardstatus
|
||||||
gimp
|
gimp
|
||||||
githubdesktop
|
githubdesktop
|
||||||
golang
|
golang
|
||||||
@@ -178,6 +188,7 @@ gyazogif
|
|||||||
hancock
|
hancock
|
||||||
handbrake
|
handbrake
|
||||||
hazel
|
hazel
|
||||||
|
horos
|
||||||
houdahspot
|
houdahspot
|
||||||
hpeasyadmin
|
hpeasyadmin
|
||||||
hpeasystart
|
hpeasystart
|
||||||
@@ -227,6 +238,7 @@ knockknock
|
|||||||
krisp
|
krisp
|
||||||
krita
|
krita
|
||||||
lastpass
|
lastpass
|
||||||
|
latexit
|
||||||
launchbar
|
launchbar
|
||||||
lcadvancedvpnclient
|
lcadvancedvpnclient
|
||||||
lexarrecoverytool
|
lexarrecoverytool
|
||||||
@@ -299,6 +311,7 @@ nomadlogin
|
|||||||
nordlayer
|
nordlayer
|
||||||
notion
|
notion
|
||||||
nudge
|
nudge
|
||||||
|
nudgesuite
|
||||||
nvivo
|
nvivo
|
||||||
obs
|
obs
|
||||||
obsidian
|
obsidian
|
||||||
@@ -316,7 +329,7 @@ onlyofficedesktop
|
|||||||
openvpnconnect
|
openvpnconnect
|
||||||
openvpnconnectv3
|
openvpnconnectv3
|
||||||
opera
|
opera
|
||||||
ottomatic
|
origin
|
||||||
overflow
|
overflow
|
||||||
pacifist
|
pacifist
|
||||||
packages
|
packages
|
||||||
@@ -330,6 +343,7 @@ pitch
|
|||||||
plantronicshub
|
plantronicshub
|
||||||
platypus
|
platypus
|
||||||
plisteditpro
|
plisteditpro
|
||||||
|
polylens
|
||||||
postman
|
postman
|
||||||
prism9
|
prism9
|
||||||
pritunl
|
pritunl
|
||||||
@@ -400,6 +414,7 @@ sonos
|
|||||||
sonoss1
|
sonoss1
|
||||||
sonoss2
|
sonoss2
|
||||||
sourcetree
|
sourcetree
|
||||||
|
splashtopbusiness
|
||||||
splashtopsos
|
splashtopsos
|
||||||
spotify
|
spotify
|
||||||
sqlpropostgres
|
sqlpropostgres
|
||||||
@@ -420,6 +435,7 @@ tableaudesktop
|
|||||||
tableaupublic
|
tableaupublic
|
||||||
tableaureader
|
tableaureader
|
||||||
tageditor
|
tageditor
|
||||||
|
tailscale
|
||||||
talkdeskcallbar
|
talkdeskcallbar
|
||||||
talkdeskcxcloud
|
talkdeskcxcloud
|
||||||
taskpaper
|
taskpaper
|
||||||
@@ -489,7 +505,9 @@ zohoworkdrivetruesync
|
|||||||
zoom
|
zoom
|
||||||
zoomclient
|
zoomclient
|
||||||
zoomgov
|
zoomgov
|
||||||
|
zoomoutlookplugin
|
||||||
zoomrooms
|
zoomrooms
|
||||||
|
zotero
|
||||||
zulujdk11
|
zulujdk11
|
||||||
zulujdk13
|
zulujdk13
|
||||||
zulujdk15
|
zulujdk15
|
||||||
|
|||||||
Reference in New Issue
Block a user