mirror of
https://github.com/mtan93/Installomator.git
synced 2026-03-26 21:03:57 +00:00
Merge branch 'dev' into fullscreen-check
This commit is contained in:
@@ -36,9 +36,20 @@ done
|
||||
# lowercase the label
|
||||
label=${label:l}
|
||||
|
||||
# separate check for 'version' in order to print plain version number without any other information
|
||||
if [[ $label == "version" ]]; then
|
||||
echo "$VERSION"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
printlog "################## Start Installomator v. $VERSION"
|
||||
printlog "################## $label"
|
||||
|
||||
# Check for DEBUG mode
|
||||
if [[ $DEBUG -gt 0 ]]; then
|
||||
printlog "DEBUG mode $DEBUG enabled."
|
||||
fi
|
||||
|
||||
# How we get version number from app
|
||||
# (alternative is "CFBundleVersion", that can be used in labels)
|
||||
versionKey="CFBundleShortVersionString"
|
||||
@@ -46,14 +57,14 @@ versionKey="CFBundleShortVersionString"
|
||||
# get current user
|
||||
currentUser=$(scutil <<< "show State:/Users/ConsoleUser" | awk '/Name :/ { print $3 }')
|
||||
|
||||
# MARK: check for root
|
||||
if [[ "$(whoami)" != "root" && "$DEBUG" -ne 2 ]]; then
|
||||
# not running as root
|
||||
cleanupAndExit 6 "not running as root, exiting"
|
||||
fi
|
||||
|
||||
# MARK: labels in case statement
|
||||
case $label in
|
||||
version)
|
||||
# print the script VERSION
|
||||
printlog "$VERSION"
|
||||
exit 0
|
||||
;;
|
||||
longversion)
|
||||
# print the script version
|
||||
printlog "Installomater: version $VERSION ($VERSIONDATE)"
|
||||
|
||||
7
fragments/broken/mightymike.sh
Normal file
7
fragments/broken/mightymike.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
mightymike)
|
||||
name="Nanosaur"
|
||||
type="dmg"
|
||||
downloadURL=$(downloadURLFromGit jorio MightyMike)
|
||||
appNewVersion=$(versionFromGit jorio MightyMike)
|
||||
expectedTeamID="RVNL7XC27G"
|
||||
;;
|
||||
7
fragments/broken/nanosaur.sh
Normal file
7
fragments/broken/nanosaur.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
nanosaur)
|
||||
name="Nanosaur"
|
||||
type="dmg"
|
||||
downloadURL=$(downloadURLFromGit jorio Nanosaur)
|
||||
appNewVersion=$(versionFromGit jorio Nanosaur)
|
||||
expectedTeamID="RVNL7XC27G"
|
||||
;;
|
||||
@@ -4,7 +4,7 @@ cleanupAndExit() { # $1 = exit code, $2 message
|
||||
if [[ -n $2 && $1 -ne 0 ]]; then
|
||||
printlog "ERROR: $2"
|
||||
fi
|
||||
if [ "$DEBUG" -eq 0 ]; then
|
||||
if [ "$DEBUG" -ne 1 ]; then
|
||||
# remove the temporary working directory when done
|
||||
printlog "Deleting $tmpDir"
|
||||
rm -Rf "$tmpDir"
|
||||
@@ -148,6 +148,7 @@ getAppVersion() {
|
||||
appversion="$(pkgutil --pkg-info-plist ${packageID} 2>/dev/null | grep -A 1 pkg-version | tail -1 | sed -E 's/.*>([0-9.]*)<.*/\1/g')"
|
||||
if [[ $appversion != "" ]]; then
|
||||
printlog "found packageID $packageID installed, version $appversion"
|
||||
updateDetected="YES"
|
||||
return
|
||||
else
|
||||
printlog "No version found using packageID $packageID"
|
||||
@@ -162,7 +163,11 @@ getAppVersion() {
|
||||
else
|
||||
applist=$(mdfind "kind:application $appName" -0 )
|
||||
fi
|
||||
printlog "App(s) found: ${applist}"
|
||||
if [[ -z applist ]]; then
|
||||
printlog "No previous app found"
|
||||
else
|
||||
printlog "App(s) found: ${applist}"
|
||||
fi
|
||||
|
||||
appPathArray=( ${(0)applist} )
|
||||
|
||||
@@ -173,6 +178,7 @@ getAppVersion() {
|
||||
#appversion=$(mdls -name kMDItemVersion -raw $installedAppPath )
|
||||
appversion=$(defaults read $installedAppPath/Contents/Info.plist $versionKey) #Not dependant on Spotlight indexing
|
||||
printlog "found app at $installedAppPath, version $appversion"
|
||||
updateDetected="YES"
|
||||
# Is current app from App Store
|
||||
if [[ -d "$installedAppPath"/Contents/_MASReceipt ]];then
|
||||
printlog "Installed $appName is from App Store, use “IGNORE_APP_STORE_APPS=yes” to replace."
|
||||
@@ -192,9 +198,9 @@ getAppVersion() {
|
||||
}
|
||||
|
||||
checkRunningProcesses() {
|
||||
# don't check in DEBUG mode
|
||||
if [[ $DEBUG -ne 0 ]]; then
|
||||
printlog "DEBUG mode, not checking for blocking processes"
|
||||
# don't check in DEBUG mode 1
|
||||
if [[ $DEBUG -eq 1 ]]; then
|
||||
printlog "DEBUG mode 1, not checking for blocking processes"
|
||||
return
|
||||
fi
|
||||
|
||||
@@ -299,9 +305,9 @@ reopenClosedProcess() {
|
||||
return
|
||||
fi
|
||||
|
||||
# don't reopen in DEBUG mode
|
||||
if [[ $DEBUG -ne 0 ]]; then
|
||||
printlog "DEBUG mode, not reopening anything"
|
||||
# don't reopen in DEBUG mode 1
|
||||
if [[ $DEBUG -eq 1 ]]; then
|
||||
printlog "DEBUG mode 1, not reopening anything"
|
||||
return
|
||||
fi
|
||||
|
||||
@@ -342,10 +348,10 @@ installAppWithPath() { # $1: path to app to install in $targetDir
|
||||
# versioncheck
|
||||
# credit: Søren Theilgaard (@theilgaard)
|
||||
appNewVersion=$(defaults read $appPath/Contents/Info.plist $versionKey)
|
||||
if [[ $appversion == $appNewVersion ]]; then
|
||||
if [[ -n $appNewVersion && $appversion == $appNewVersion ]]; then
|
||||
printlog "Downloaded version of $name is $appNewVersion, same as installed."
|
||||
if [[ $INSTALL != "force" ]]; then
|
||||
message="$name, version $appNewVersion, is the latest version."
|
||||
message="$name, version $appNewVersion, is the latest version."
|
||||
if [[ $currentUser != "loginwindow" && $NOTIFY == "all" ]]; then
|
||||
printlog "notifying"
|
||||
displaynotification "$message" "No update for $name!"
|
||||
@@ -358,37 +364,55 @@ installAppWithPath() { # $1: path to app to install in $targetDir
|
||||
printlog "Downloaded version of $name is $appNewVersion (replacing version $appversion)."
|
||||
fi
|
||||
|
||||
# skip install for DEBUG
|
||||
if [ "$DEBUG" -ne 0 ]; then
|
||||
printlog "DEBUG enabled, skipping remove, copy and chown steps"
|
||||
# skip install for DEBUG 1
|
||||
if [ "$DEBUG" -eq 1 ]; then
|
||||
printlog "DEBUG mode 1 enabled, skipping remove, copy and chown steps"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# check for root
|
||||
if [ "$(whoami)" != "root" ]; then
|
||||
# not running as root
|
||||
cleanupAndExit 6 "not running as root, exiting"
|
||||
# skip install for DEBUG 2
|
||||
if [ "$DEBUG" -eq 2 ]; then
|
||||
printlog "DEBUG mode 2 enabled, exiting"
|
||||
cleanupAndExit 0
|
||||
fi
|
||||
|
||||
# Test if variable CLIInstaller is set
|
||||
if [[ -z $CLIInstaller ]]; then
|
||||
|
||||
# remove existing application
|
||||
if [ -e "$targetDir/$appName" ]; then
|
||||
printlog "Removing existing $targetDir/$appName"
|
||||
rm -Rf "$targetDir/$appName"
|
||||
fi
|
||||
|
||||
# remove existing application
|
||||
if [ -e "$targetDir/$appName" ]; then
|
||||
printlog "Removing existing $targetDir/$appName"
|
||||
rm -Rf "$targetDir/$appName"
|
||||
fi
|
||||
# copy app to /Applications
|
||||
printlog "Copy $appPath to $targetDir"
|
||||
if ! ditto "$appPath" "$targetDir/$appName"; then
|
||||
cleanupAndExit 7 "Error while copying"
|
||||
fi
|
||||
|
||||
# copy app to /Applications
|
||||
printlog "Copy $appPath to $targetDir"
|
||||
if ! ditto "$appPath" "$targetDir/$appName"; then
|
||||
cleanupAndExit 7 "Error while copying"
|
||||
fi
|
||||
# set ownership to current user
|
||||
if [ "$currentUser" != "loginwindow" ]; then
|
||||
printlog "Changing owner to $currentUser"
|
||||
chown -R "$currentUser" "$targetDir/$appName"
|
||||
else
|
||||
printlog "No user logged in, not changing user"
|
||||
fi
|
||||
|
||||
elif [[ ! -z $CLIInstaller ]]; then
|
||||
mountname=$(dirname $appPath)
|
||||
printlog "CLIInstaller exists, running installer command $mountname/$CLIInstaller $CLIArguments" #INFO
|
||||
|
||||
# set ownership to current user
|
||||
if [ "$currentUser" != "loginwindow" ]; then
|
||||
printlog "Changing owner to $currentUser"
|
||||
chown -R "$currentUser" "$targetDir/$appName"
|
||||
else
|
||||
printlog "No user logged in, not changing user"
|
||||
CLIoutput=$("$mountname/$CLIInstaller" "${CLIArguments[@]}" 2>&1)
|
||||
CLIstatus=$(echo $?)
|
||||
logoutput="$CLIoutput" # dedupliatelogs "$CLIoutput"
|
||||
|
||||
if [ $CLIstatus -ne 0 ] ; then
|
||||
cleanupAndExit 3 "Error installing $mountname/$CLIInstaller $CLIArguments error:\n$logoutput" #ERROR
|
||||
else
|
||||
printlog "Succesfully ran $mountname/$CLIInstaller $CLIArguments"
|
||||
fi
|
||||
printlog "Debugging enabled, update tool output was:\n$logoutput" #DEBUG
|
||||
fi
|
||||
|
||||
}
|
||||
@@ -411,7 +435,6 @@ mountDMG() {
|
||||
|
||||
installFromDMG() {
|
||||
mountDMG
|
||||
|
||||
installAppWithPath "$dmgmount/$appName"
|
||||
}
|
||||
|
||||
@@ -450,7 +473,7 @@ installFromPKG() {
|
||||
if [[ $appversion == $appNewVersion ]]; then
|
||||
printlog "Downloaded version of $name is the same as installed."
|
||||
if [[ $INSTALL != "force" ]]; then
|
||||
message="$name, version $appNewVersion, is the latest version."
|
||||
message="$name, version $appNewVersion, is the latest version."
|
||||
if [[ $currentUser != "loginwindow" && $NOTIFY == "all" ]]; then
|
||||
printlog "notifying"
|
||||
displaynotification "$message" "No update for $name!"
|
||||
@@ -462,16 +485,16 @@ installFromPKG() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# skip install for DEBUG
|
||||
if [ "$DEBUG" -ne 0 ]; then
|
||||
# skip install for DEBUG 1
|
||||
if [ "$DEBUG" -eq 1 ]; then
|
||||
printlog "DEBUG enabled, skipping installation"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# check for root
|
||||
if [ "$(whoami)" != "root" ]; then
|
||||
# not running as root
|
||||
cleanupAndExit 6 "not running as root, exiting"
|
||||
# skip install for DEBUG 2
|
||||
if [ "$DEBUG" -eq 2 ]; then
|
||||
printlog "DEBUG mode 2 enabled, exiting"
|
||||
cleanupAndExit 0
|
||||
fi
|
||||
|
||||
# install pkg
|
||||
@@ -598,7 +621,7 @@ runUpdateTool() {
|
||||
}
|
||||
|
||||
finishing() {
|
||||
printlog "Finishing…"
|
||||
printlog "Finishing..."
|
||||
sleep 10 # wait a moment to let spotlight catch up
|
||||
getAppVersion
|
||||
|
||||
@@ -612,7 +635,11 @@ finishing() {
|
||||
|
||||
if [[ $currentUser != "loginwindow" && ( $NOTIFY == "success" || $NOTIFY == "all" ) ]]; then
|
||||
printlog "notifying"
|
||||
displaynotification "$message" "$name update/installation complete!"
|
||||
if [[ $updateDetected == "YES" ]]; then
|
||||
displaynotification "$message" "$name update complete!"
|
||||
else
|
||||
displaynotification "$message" "$name installation complete!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -20,9 +20,11 @@ export PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
||||
|
||||
# NOTE: adjust these variables:
|
||||
|
||||
# set to 0 for production, 1 for debugging
|
||||
# set to 0 for production, 1 or 2 for debugging
|
||||
# while debugging, items will be downloaded to the parent directory of this script
|
||||
# also no actual installation will be performed
|
||||
# debug mode 1 will download to the directory the script is run in, but will not check version
|
||||
# debug mode 2 will download to the temp directory, check for blocking processes, check version, but will not install anything or remove the current version
|
||||
DEBUG=1
|
||||
|
||||
# notify behavior
|
||||
@@ -176,6 +178,8 @@ IGNORE_DND_APPS=""
|
||||
# - archiveName: (optional)
|
||||
# The name of the downloaded file.
|
||||
# When not given the archiveName is derived from the $name.
|
||||
# Note: This has to be defined BEFORE calling downloadURLFromGit or
|
||||
# versionFromGit functions in the label.
|
||||
#
|
||||
# - appName: (optional)
|
||||
# File name of the app bundle in the dmg to verify and copy (include .app).
|
||||
@@ -208,8 +212,27 @@ IGNORE_DND_APPS=""
|
||||
# $updateTool $updateArguments
|
||||
# Will be run instead of of downloading and installing a complete new version.
|
||||
# Use this when the updateTool does differential and optimized downloads.
|
||||
# e.g. msupdate
|
||||
# e.g. msupdate on various Microsoft labels
|
||||
#
|
||||
# - updateToolRunAsCurrentUser:
|
||||
# When this variable is set (any value), $updateTool will be run as the current user.
|
||||
#
|
||||
# - CLIInstaller:
|
||||
# - CLIArguments:
|
||||
# If the downloaded dmg is actually an installer that we can call using CLI, we can
|
||||
# use these two variables for what to call.
|
||||
# We need to define `name` for the installed app (to be version checked), as well as
|
||||
# `installerTool` for the installer app (if named differently that `name`. Installomator
|
||||
# will add the path to the folder/disk image with the binary, and it will be called like this:
|
||||
`$CLIInstaller $CLIArguments`
|
||||
# For most installations `CLIInstaller` should contain the `installerTool` for the CLI call
|
||||
# (if it’s the same).
|
||||
# We can support a whole range of other software titles by implementing this.
|
||||
# See label adobecreativeclouddesktop
|
||||
#
|
||||
# - installerTool:
|
||||
# Introduced as part of `CLIInstaller`. If the installer in the DMG or ZIP is named
|
||||
# differently than the installed app, then this variable can be used to name the
|
||||
# installer that should be located after mounting/expanding the downloaded archive.
|
||||
# See label adobecreativeclouddesktop
|
||||
#
|
||||
|
||||
17
fragments/labels/adobecreativeclouddesktop.sh
Normal file
17
fragments/labels/adobecreativeclouddesktop.sh
Normal file
@@ -0,0 +1,17 @@
|
||||
adobecreativeclouddesktop)
|
||||
name="Adobe Creative Cloud"
|
||||
#appName="Install.app"
|
||||
type="dmg"
|
||||
if [[ $(arch) == "arm64" ]]; then
|
||||
downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*macarm64.*dmg" | cut -d '"' -f1 | head -1)
|
||||
elif [[ $(arch) == "i386" ]]; then
|
||||
downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*osx10.*dmg" | cut -d '"' -f1 | head -1)
|
||||
fi
|
||||
#downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*dmg" | head -1)
|
||||
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)
|
||||
installerTool="Install.app"
|
||||
CLIInstaller="Install.app/Contents/MacOS/Install"
|
||||
CLIArguments=(--mode=silent)
|
||||
expectedTeamID="JQ525L2MZD"
|
||||
Company="Adobe"
|
||||
;;
|
||||
@@ -3,6 +3,6 @@ airserver)
|
||||
name="AirServer"
|
||||
type="dmg"
|
||||
downloadURL="https://www.airserver.com/download/mac/latest"
|
||||
#appNewVersion=$() # Cannot find version history or release notes on home page
|
||||
appNewVersion=$(curl -fsIL "${downloadURL}" | grep -i "location" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
||||
expectedTeamID="6C755KS5W3"
|
||||
;;
|
||||
|
||||
@@ -4,4 +4,4 @@ airtame)
|
||||
downloadURL="$(curl -fs https://airtame.com/download/ | grep -i platform=mac | head -1 | grep -o -i -E "https.*" | cut -d '"' -f1)"
|
||||
appNewVersion="$(curl -fsIL "${downloadURL}" | grep -i ^location | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')"
|
||||
expectedTeamID="4TPSP88HN2"
|
||||
;;
|
||||
;;
|
||||
|
||||
7
fragments/labels/alephone.sh
Normal file
7
fragments/labels/alephone.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
alephone)
|
||||
name="Aleph One"
|
||||
type="dmg"
|
||||
downloadURL=$(downloadURLFromGit Aleph-One-Marathon alephone)
|
||||
appNewVersion=$(versionFromGit Aleph-One-Marathon alephone)
|
||||
expectedTeamID="E8K89CXZE7"
|
||||
;;
|
||||
@@ -2,5 +2,6 @@ apparency)
|
||||
name="Apparency"
|
||||
type="dmg"
|
||||
downloadURL="https://www.mothersruin.com/software/downloads/Apparency.dmg"
|
||||
appNewVersion=$(curl -fs https://mothersruin.com/software/Apparency/data/ApparencyVersionInfo.plist | grep -A1 CFBundleShortVersionString | tail -1 | sed -E 's/.*>([0-9.]*)<.*/\1/g')
|
||||
expectedTeamID="936EB786NH"
|
||||
;;
|
||||
|
||||
@@ -4,4 +4,4 @@ applenyfonts)
|
||||
downloadURL="https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
|
||||
packageID="com.apple.pkg.NYFonts"
|
||||
expectedTeamID="Development Update"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -4,4 +4,4 @@ applesfcompact)
|
||||
downloadURL="https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
|
||||
packageID="com.apple.pkg.SanFranciscoCompact"
|
||||
expectedTeamID="Development Update"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -4,4 +4,4 @@ applesfmono)
|
||||
downloadURL="https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
|
||||
packageID="com.apple.pkg.SFMonoFonts"
|
||||
expectedTeamID="Software Update"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -4,4 +4,4 @@ applesfpro)
|
||||
downloadURL="https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
|
||||
packageID="com.apple.pkg.SanFranciscoPro"
|
||||
expectedTeamID="Development Update"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -2,6 +2,7 @@ applesfsymbols|\
|
||||
sfsymbols)
|
||||
name="SF Symbols"
|
||||
type="pkgInDmg"
|
||||
downloadURL="https://developer.apple.com/design/downloads/SF-Symbols.dmg"
|
||||
downloadURL=$( curl -fs "https://developer.apple.com/sf-symbols/" | grep -oe "https.*\.dmg" | head -1 )
|
||||
appNewVersion=$( echo "$downloadURL" | head -1 | sed -E 's/.*SF-Symbols-([0-9.]*)\..*/\1/g')
|
||||
expectedTeamID="Software Update"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
audacity)
|
||||
# credit: Gabe Marchan (gabemarchan.com - @darklink87)
|
||||
name="Audacity"
|
||||
type="dmg"
|
||||
downloadURL=$(downloadURLFromGit audacity audacity)
|
||||
appNewVersion=$(versionFromGit audacity audacity)
|
||||
expectedTeamID="T3N4JQ7YY6"
|
||||
expectedTeamID="AWEYX923UX"
|
||||
;;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
blender)
|
||||
name="blender"
|
||||
type="dmg"
|
||||
downloadURL=$(redirect=$(curl -sfL https://www.blender.org/download/ | sed 's/.*href="//' | sed 's/".*//' | grep .dmg) && curl -sfL "$redirect" | sed 's/.*href="//' | sed 's/".*//' | grep .dmg)
|
||||
downloadURL=$(redirect=$(curl -sfL https://www.blender.org/download/ | sed 's/.*href="//' | sed 's/".*//' | grep .dmg) && curl -sfL "$redirect" | sed 's/.*href="//' | sed 's/".*//' | grep -m1 .dmg)
|
||||
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)-.*/\1/g' )
|
||||
expectedTeamID="68UA947AUU"
|
||||
;;
|
||||
|
||||
@@ -2,7 +2,7 @@ bluejeans)
|
||||
name="BlueJeans"
|
||||
type="pkg"
|
||||
if [[ $(arch) == "arm64" ]]; then
|
||||
downloadURL=$(curl -fs "https://www.bluejeans.com/downloads" | xmllint --html --format - 2>/dev/null | grep -o "https://.*BlueJeansInstaller.*arm.*.pkg" )
|
||||
downloadURL=$(curl -fs "https://www.bluejeans.com/downloads" | xmllint --html --format - 2>/dev/null | grep -o "https://.*BlueJeans.*Installer.*arm.*.pkg" )
|
||||
elif [[ $(arch) == "i386" ]]; then
|
||||
downloadURL=$(curl -fs "https://www.bluejeans.com/downloads" | xmllint --html --format - 2>/dev/null | grep -o "https://.*BlueJeansInstaller.*x86.*.dmg" | sed 's/dmg/pkg/g')
|
||||
fi
|
||||
|
||||
@@ -3,4 +3,4 @@ boxsync)
|
||||
type="dmg"
|
||||
downloadURL="https://e3.boxcdn.net/box-installers/sync/Sync+4+External/Box%20Sync%20Installer.dmg"
|
||||
expectedTeamID="M683GB7CPW"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -3,4 +3,4 @@ boxtools)
|
||||
type="pkg"
|
||||
downloadURL="https://box-installers.s3.amazonaws.com/boxedit/mac/currentrelease/BoxToolsInstaller.pkg"
|
||||
expectedTeamID="M683GB7CPW"
|
||||
;;
|
||||
;;
|
||||
|
||||
7
fragments/labels/bugdom.sh
Normal file
7
fragments/labels/bugdom.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
bugdom)
|
||||
name="Bugdom"
|
||||
type="dmg"
|
||||
downloadURL=$(downloadURLFromGit jorio Bugdom)
|
||||
appNewVersion=$(versionFromGit jorio Bugdom)
|
||||
expectedTeamID="RVNL7XC27G"
|
||||
;;
|
||||
@@ -1,8 +1,9 @@
|
||||
camostudio)
|
||||
# credit: Søren Theilgaard (@theilgaard)
|
||||
name="Camo Studio"
|
||||
type="zip"
|
||||
downloadURL="https://reincubate.com/res/labs/camo/camo-macos-latest.zip"
|
||||
appNewVersion=$(curl -s -L https://reincubate.com/support/camo/release-notes/ | grep -m2 "has-m-t-0" | head -1 | cut -d ">" -f2 | cut -d " " -f1)
|
||||
#appNewVersion=$(curl -s -L https://reincubate.com/support/camo/release-notes/ | grep -m2 "has-m-t-0" | head -1 | cut -d ">" -f2 | cut -d " " -f1)
|
||||
appNewVersion=$( curl -fs "https://uds.reincubate.com/release-notes/camo/" | head -1 | cut -d "," -f3 | grep -o -e "[0-9.]*" )
|
||||
# Camo Studio will ask for admin permissions to install som plug-ins. that has not been handled.
|
||||
expectedTeamID="Q248YREB53"
|
||||
;;
|
||||
|
||||
11
fragments/labels/canva.sh
Normal file
11
fragments/labels/canva.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
canva)
|
||||
name="Canva"
|
||||
type="dmg"
|
||||
if [[ $(arch) == "arm64" ]]; then
|
||||
downloadURL=$(curl -fsLI -H "accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" -H "accept-encoding: gzip, deflate, br" -H "accept-language: en-US,en;q=0.9" -H "Referrer Policy: strict-origin-when-cross-origin" -H "upgrade-insecure-requests: 1" -H "sec-fetch-dest: document" -H "sec-gpc: 1" -H "sec-fetch-user: ?1" -H "sec-fetch-mode: navigate" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" "https://www.canva.com/download/mac/arm/canva-desktop/" | grep -i "^location" | cut -d " " -f2 | tr -d '\r')
|
||||
elif [[ $(arch) == "i386" ]]; then
|
||||
downloadURL=$(curl -fsLI -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -H "accept-encoding: gzip, deflate, br" -H "Referrer Policy: strict-origin-when-cross-origin" -H "upgrade-insecure-requests: 1" -H "sec-fetch-dest: document" -H "sec-gpc: 1" -H "sec-fetch-user: ?1" -H "accept-language: en-US,en;q=0.9" -H "accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" -H "sec-fetch-mode: navigate" "https://www.canva.com/download/mac/intel/canva-desktop/" | grep -i "^location" | cut -d " " -f2 | tr -d '\r')
|
||||
fi
|
||||
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
|
||||
expectedTeamID="5HD2ARTBFS"
|
||||
;;
|
||||
6
fragments/labels/chatwork.sh
Normal file
6
fragments/labels/chatwork.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
chatwork)
|
||||
name="Chatwork"
|
||||
type="dmg"
|
||||
downloadURL="https://desktop-app.chatwork.com/installer/Chatwork.dmg"
|
||||
expectedTeamID="H34A3H2Y54"
|
||||
;;
|
||||
@@ -4,4 +4,4 @@ cisdem-documentreader)
|
||||
downloadURL="https://download.cisdem.com/cisdem-documentreader.dmg"
|
||||
expectedTeamID="5HGV8EX6BQ"
|
||||
appName="Cisdem Document Reader.app"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -4,4 +4,4 @@ clevershare2)
|
||||
downloadURL=$(curl -fs https://www.clevertouch.com/eu/clevershare2g | grep -i -o -E "https.*Mac.*\.dmg")
|
||||
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z-]*_Mac\.([0-9.]*)\.[0-9]*\.dmg$/\1/g' )
|
||||
expectedTeamID="P76M9BE8DQ"
|
||||
;;
|
||||
;;
|
||||
|
||||
7
fragments/labels/closeio.sh
Normal file
7
fragments/labels/closeio.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
closeio)
|
||||
name="Close.io"
|
||||
type="dmg"
|
||||
downloadURL=$(downloadURLFromGit closeio closeio-desktop-releases)
|
||||
appNewVersion=$(versionFromGit closeio closeio-desktop-releases)
|
||||
expectedTeamID="WTNQ6773UC"
|
||||
;;
|
||||
7
fragments/labels/cloudya.sh
Normal file
7
fragments/labels/cloudya.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
cloudya)
|
||||
name="Cloudya"
|
||||
type="appInDmgInZip"
|
||||
downloadURL="$(curl -fs https://www.nfon.com/de/service/downloads | grep -i -E -o "https://cdn.cloudya.com/Cloudya-[.0-9]+-mac.zip")"
|
||||
appNewVersion="$(curl -fs https://www.nfon.com/de/service/downloads | grep -i -E -o "Cloudya Desktop App MAC [0-9.]*" | sed 's/^.*\ \([^ ]\{0,7\}\)$/\1/g')"
|
||||
expectedTeamID="X26F74J8TH"
|
||||
;;
|
||||
@@ -5,4 +5,4 @@ colourcontrastanalyser)
|
||||
appNewVersion=$(versionFromGit ThePacielloGroup CCAe)
|
||||
expectedTeamID="34RS4UC3M6"
|
||||
blockingProcesses=( NONE )
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -5,4 +5,4 @@ craftmanager)
|
||||
downloadURL="$(curl -fs https://craft-assets.invisionapp.com/CraftManager/production/appcast.xml | xpath '(//rss/channel/item/enclosure/@url)[1]' 2>/dev/null | head -1 | cut -d '"' -f 2)"
|
||||
appNewVersion="$(curl -fs https://craft-assets.invisionapp.com/CraftManager/production/appcast.xml | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[1]' 2>/dev/null | head -1 | cut -d '"' -f 2)"
|
||||
expectedTeamID="VRXQSNCL5W"
|
||||
;;
|
||||
;;
|
||||
|
||||
8
fragments/labels/dialog.sh
Normal file
8
fragments/labels/dialog.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
dialog)
|
||||
name="Dialog"
|
||||
type="pkg"
|
||||
packageID="au.csiro.dialogcli"
|
||||
downloadURL="$(downloadURLFromGit bartreardon Dialog)"
|
||||
appNewVersion="$(versionFromGit bartreardon Dialog)"
|
||||
expectedTeamID="PWA5E9TQ59"
|
||||
;;
|
||||
9
fragments/labels/eshareosx.sh
Normal file
9
fragments/labels/eshareosx.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
eshareosx)
|
||||
name="e-Share"
|
||||
type="pkg"
|
||||
packageID="com.ncryptedcloud.e-Share.pkg"
|
||||
downloadURL=https://www.ncryptedcloud.com/static/downloads/osx/$(curl -fs https://www.ncryptedcloud.com/static/downloads/osx/ | grep -o -i "href.*\".*\"" | cut -d '"' -f2)
|
||||
versionKey="CFBundleVersion"
|
||||
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z\-]*_([0-9.]*)\.pkg/\1/g' )
|
||||
expectedTeamID="X9MBQS7DDC"
|
||||
;;
|
||||
7
fragments/labels/exifrenamer.sh
Normal file
7
fragments/labels/exifrenamer.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
exifrenamer)
|
||||
name="ExifRenamer"
|
||||
type="dmg"
|
||||
downloadURL="https://www.qdev.de/"$(curl -fs "https://www.qdev.de/download.php?file=ExifRenamer.dmg" | grep -o -e "URL=[a-zA-Z/]*.dmg" | cut -d "=" -f2)
|
||||
appNewVersion=$(curl -fs "https://www.qdev.de/?location=downloads" | grep -A1 -m1 "ExifRenamer" | tail -1 | cut -d ">" -f2 | cut -d " " -f1)
|
||||
expectedTeamID="MLF9FE35AM"
|
||||
;;
|
||||
7
fragments/labels/fastscripts.sh
Normal file
7
fragments/labels/fastscripts.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
fastscripts)
|
||||
name="FastScripts"
|
||||
type="zip"
|
||||
downloadURL=$( curl -fs "https://redsweater.com/fastscripts/appcast3.php" | xpath '(//rss/channel/item/enclosure/@url)[1]' 2>/dev/null | cut -d '"' -f2 )
|
||||
appNewVersion=$( curl -fs "https://redsweater.com/fastscripts/appcast3.php" | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[1]' 2>/dev/null | cut -d '"' -f2 )
|
||||
expectedTeamID="493CVA9A35"
|
||||
;;
|
||||
7
fragments/labels/findanyfile.sh
Normal file
7
fragments/labels/findanyfile.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
findanyfile)
|
||||
name="Find Any File"
|
||||
type="zip"
|
||||
downloadURL=$(curl -fs "https://findanyfile.app/appcast2.php" | xpath '(//rss/channel/item/enclosure/@url)[1]' 2>/dev/null | cut -d '"' -f2)
|
||||
appNewVersion=$(curl -fs "https://findanyfile.app/appcast2.php" | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[1]' 2>/dev/null | cut -d '"' -f2)
|
||||
expectedTeamID="25856V4B4X"
|
||||
;;
|
||||
@@ -2,7 +2,7 @@ firefox)
|
||||
name="Firefox"
|
||||
type="dmg"
|
||||
downloadURL="https://download.mozilla.org/?product=firefox-latest&os=osx&lang=en-US"
|
||||
appNewVersion=$(/usr/bin/curl https://www.mozilla.org/en-US/firefox/releases/ --silent | /usr/bin/grep '<html' | /usr/bin/awk -F\" '{ print $8 }') # Credit: William Smith (@meck)
|
||||
appNewVersion=$(curl -fs https://www.mozilla.org/en-US/firefox/releases/ | grep '<html' | grep -o -i -e "data-latest-firefox=\"[0-9.]*\"" | cut -d '"' -f2)
|
||||
expectedTeamID="43AQ936H96"
|
||||
blockingProcesses=( firefox )
|
||||
;;
|
||||
|
||||
@@ -2,7 +2,7 @@ firefox_da)
|
||||
name="Firefox"
|
||||
type="dmg"
|
||||
downloadURL="https://download.mozilla.org/?product=firefox-latest&os=osx&lang=da"
|
||||
appNewVersion=$(/usr/bin/curl https://www.mozilla.org/en-US/firefox/releases/ --silent | /usr/bin/grep '<html' | /usr/bin/awk -F\" '{ print $8 }') # Credit: William Smith (@meck)
|
||||
appNewVersion=$(curl -fs https://www.mozilla.org/en-US/firefox/releases/ | grep '<html' | grep -o -i -e "data-latest-firefox=\"[0-9.]*\"" | cut -d '"' -f2)
|
||||
expectedTeamID="43AQ936H96"
|
||||
blockingProcesses=( firefox )
|
||||
;;
|
||||
|
||||
@@ -17,7 +17,7 @@ firefox_intl)
|
||||
printlog "Download not found for that language. Using en-US"
|
||||
downloadURL="https://download.mozilla.org/?product=firefox-latest&os=osx&lang=en-US"
|
||||
fi
|
||||
appNewVersion=$(/usr/bin/curl -sl https://www.mozilla.org/en-US/firefox/releases/ | /usr/bin/grep '<html' | /usr/bin/awk -F\" '{ print $8 }') # Credit: William Smith (@meck)
|
||||
appNewVersion=$(curl -fs https://www.mozilla.org/en-US/firefox/releases/ | grep '<html' | grep -o -i -e "data-latest-firefox=\"[0-9.]*\"" | cut -d '"' -f2)
|
||||
expectedTeamID="43AQ936H96"
|
||||
blockingProcesses=( firefox )
|
||||
;;
|
||||
|
||||
@@ -5,4 +5,4 @@ flowjo)
|
||||
appNewVersion=$(echo "${downloadURL}" | tr "-" "\n" | grep dmg | sed -E 's/([0-9.]*)\.dmg/\1/g')
|
||||
expectedTeamID="C79HU5AD9V"
|
||||
appName="FlowJo.app"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -2,7 +2,8 @@ inkscape)
|
||||
# credit: Søren Theilgaard (@theilgaard)
|
||||
name="Inkscape"
|
||||
type="dmg"
|
||||
downloadURL="https://inkscape.org$(curl -fs https://inkscape.org$(curl -fsJL https://inkscape.org/release/ | grep "/release/" | grep en | head -n 1 | cut -d '"' -f 6)mac-os-x/1010-1015/dl/ | grep "click here" | cut -d '"' -f 2)"
|
||||
#appNewVersion=$(curl -fsJL https://inkscape.org/release/ | grep "<h2>Inkscape" | cut -d '>' -f 3 | cut -d '<' -f 1 | sed 's/[^0-9.]*//g') # Can't figure out where exact new version is found. Currently returns 1.0, but version is "1.0.0 (4035a4f)"
|
||||
downloadURL="https://inkscape.org$(curl -fs https://inkscape.org$(curl -fsJL https://inkscape.org/release/ | grep "/release/" | grep en | head -n 1 | cut -d '"' -f 6)mac-os-x/dmg/dl/ | grep "click here" | cut -d '"' -f 2)"
|
||||
appCustomVersion() { /Applications/Inkscape.app/Contents/MacOS/inkscape --version | cut -d " " -f2 }
|
||||
appNewVersion=$(curl -fsJL https://inkscape.org/release/ | grep "<title>" | grep -o -e "[0-9.]*")
|
||||
expectedTeamID="SW3D6BB6A6"
|
||||
;;
|
||||
|
||||
@@ -4,4 +4,4 @@ insomnia)
|
||||
downloadURL=$(downloadURLFromGit kong insomnia)
|
||||
appNewVersion=$(versionFromGit kong insomnia)
|
||||
expectedTeamID="FX44YY62GV"
|
||||
;;
|
||||
;;
|
||||
|
||||
10
fragments/labels/installomator.sh
Normal file
10
fragments/labels/installomator.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
installomator|\
|
||||
installomator_theile)
|
||||
name="Installomator"
|
||||
type="pkg"
|
||||
packageID="com.scriptingosx.Installomator"
|
||||
downloadURL=$(downloadURLFromGit Installomator Installomator )
|
||||
appNewVersion=$(versionFromGit Installomator Installomator )
|
||||
expectedTeamID="JME5BW3F3R"
|
||||
blockingProcesses=( NONE )
|
||||
;;
|
||||
@@ -1,11 +0,0 @@
|
||||
installomator_theile)
|
||||
# credit: Søren Theilgaard (@theilgaard)
|
||||
name="Installomator"
|
||||
type="pkg"
|
||||
packageID="dk.theilgaard.pkg.Installomator"
|
||||
downloadURL=$(downloadURLFromGit theile Installomator )
|
||||
appNewVersion=$(versionFromGit theile Installomator )
|
||||
#appCustomVersion(){/usr/local/bin/Installomator.sh version | tail -1 | awk '{print $4}'}
|
||||
expectedTeamID="FXW6QXBFW5"
|
||||
blockingProcesses=( NONE )
|
||||
;;
|
||||
@@ -1,7 +1,8 @@
|
||||
jabradirect)
|
||||
name="Jabra Direct"
|
||||
type="dmg"
|
||||
type="pkgInDmg"
|
||||
packageID="com.jabra.directonline"
|
||||
downloadURL="https://jabraxpressonlineprdstor.blob.core.windows.net/jdo/JabraDirectSetup.dmg"
|
||||
appNewVersion=$(curl -fs https://www.jabra.com/Support/release-notes/release-note-jabra-direct | grep -oe "Release version:.*[0-9.]*<" | head -1 | cut -d ">" -f2 | cut -d "<" -f1 | sed 's/ //g')
|
||||
expectedTeamID="55LV32M29R"
|
||||
appNewVersion=$(curl -fs https://www.jabra.com/Support/release-notes/release-note-jabra-direct | grep -o "Jabra Direct macOS:*.*<" | head -1 | cut -d ":" -f2 | cut -d " " -f2 | cut -d "<" -f1)
|
||||
;;
|
||||
|
||||
6
fragments/labels/jamfconnectconfiguration.sh
Normal file
6
fragments/labels/jamfconnectconfiguration.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
jamfconnectconfiguration)
|
||||
name="Jamf Connect Configuration"
|
||||
type="dmg"
|
||||
downloadURL="https://files.jamfconnect.com/JamfConnect.dmg"
|
||||
expectedTeamID="483DWKW443"
|
||||
;;
|
||||
12
fragments/labels/jetbrainsclion.sh
Normal file
12
fragments/labels/jetbrainsclion.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
jetbrainsclion)
|
||||
name="CLion"
|
||||
type="dmg"
|
||||
jetbrainscode="CL"
|
||||
jetbrainsdistribution="mac"
|
||||
if [[ $(arch) == arm64 ]]; then
|
||||
jetbrainsdistribution="macM1"
|
||||
fi
|
||||
downloadURL="https://download.jetbrains.com/product?code=${jetbrainscode}&latest&distribution=${jetbrainsdistribution}"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||
expectedTeamID="2ZEFAR8TH3"
|
||||
;;
|
||||
@@ -1,11 +1,13 @@
|
||||
jetbrainsdatagrip)
|
||||
name="DataGrip"
|
||||
type="dmg"
|
||||
appNewVersion=$(curl -fs "https://data.services.jetbrains.com/products/releases?code=DG&latest=true&type=release" | grep -o 'version*.*,' | cut -d '"' -f3)
|
||||
if [[ $(arch) == "arm64" ]]; then
|
||||
downloadURL=$(curl -fs "https://data.services.jetbrains.com/products/releases?code=DG&latest=true&type=release" | grep -o 'macM1*.*,' | cut -d '"' -f5)
|
||||
elif [[ $(arch) == "i386" ]]; then
|
||||
downloadURL=$(curl -fs "https://data.services.jetbrains.com/products/releases?code=DG&latest=true&type=release" | grep -o 'mac*.*,' | cut -d '"' -f5)
|
||||
jetbrainscode="DG"
|
||||
if [[ $(arch) == i386 ]]; then
|
||||
jetbrainsdistribution="mac"
|
||||
elif [[ $(arch) == arm64 ]]; then
|
||||
jetbrainsdistribution="macM1"
|
||||
fi
|
||||
downloadURL="https://download.jetbrains.com/product?code=${jetbrainscode}&latest&distribution=${jetbrainsdistribution}"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||
expectedTeamID="2ZEFAR8TH3"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
jetbrainsintellijidea)
|
||||
name="IntelliJ IDEA"
|
||||
type="dmg"
|
||||
downloadURL="https://download.jetbrains.com/product?code=II&latest&distribution=mac"
|
||||
jetbrainscode="II"
|
||||
if [[ $(arch) == i386 ]]; then
|
||||
jetbrainsdistribution="mac"
|
||||
elif [[ $(arch) == arm64 ]]; then
|
||||
jetbrainsdistribution="macM1"
|
||||
fi
|
||||
downloadURL="https://download.jetbrains.com/product?code=${jetbrainscode}&latest&distribution=${jetbrainsdistribution}"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||
expectedTeamID="2ZEFAR8TH3"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -2,7 +2,13 @@ jetbrainsintellijideace|\
|
||||
intellijideace)
|
||||
name="IntelliJ IDEA CE"
|
||||
type="dmg"
|
||||
downloadURL="https://download.jetbrains.com/product?code=IIC&latest&distribution=mac"
|
||||
jetbrainscode="IIC"
|
||||
if [[ $(arch) == i386 ]]; then
|
||||
jetbrainsdistribution="mac"
|
||||
elif [[ $(arch) == arm64 ]]; then
|
||||
jetbrainsdistribution="macM1"
|
||||
fi
|
||||
downloadURL="https://download.jetbrains.com/product?code=${jetbrainscode}&latest&distribution=${jetbrainsdistribution}"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||
expectedTeamID="2ZEFAR8TH3"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
jetbrainsphpstorm)
|
||||
name="PHPStorm"
|
||||
type="dmg"
|
||||
downloadURL="https://download.jetbrains.com/product?code=PS&latest&distribution=mac"
|
||||
jetbrainscode="PS"
|
||||
if [[ $(arch) == i386 ]]; then
|
||||
jetbrainsdistribution="mac"
|
||||
elif [[ $(arch) == arm64 ]]; then
|
||||
jetbrainsdistribution="macM1"
|
||||
fi
|
||||
downloadURL="https://download.jetbrains.com/product?code=${jetbrainscode}&latest&distribution=${jetbrainsdistribution}"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||
expectedTeamID="2ZEFAR8TH3"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -2,11 +2,12 @@ jetbrainspycharm)
|
||||
# This is the Pro version of PyCharm. Do not confuse with PyCharm CE.
|
||||
name="PyCharm"
|
||||
type="dmg"
|
||||
if [[ $(arch) == i386 ]]; then
|
||||
downloadURL="https://download.jetbrains.com/product?code=PCP&latest&distribution=mac"
|
||||
elif [[ $(arch) == arm64 ]]; then
|
||||
downloadURL="https://download.jetbrains.com/product?code=PCP&latest&distribution=macM1"
|
||||
jetbrainscode="PCP"
|
||||
jetbrainsdistribution="mac"
|
||||
if [[ $(arch) == arm64 ]]; then
|
||||
jetbrainsdistribution="macM1"
|
||||
fi
|
||||
downloadURL="https://download.jetbrains.com/product?code=${jetbrainscode}&latest&distribution=${jetbrainsdistribution}"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||
expectedTeamID="2ZEFAR8TH3"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -2,11 +2,12 @@ jetbrainspycharmce|\
|
||||
pycharmce)
|
||||
name="PyCharm CE"
|
||||
type="dmg"
|
||||
if [[ $(arch) == i386 ]]; then
|
||||
downloadURL="https://download.jetbrains.com/product?code=PCC&latest&distribution=mac"
|
||||
elif [[ $(arch) == arm64 ]]; then
|
||||
downloadURL="https://download.jetbrains.com/product?code=PCC&latest&distribution=macM1"
|
||||
jetbrainscode="PCC"
|
||||
jetbrainsdistribution="mac"
|
||||
if [[ $(arch) == arm64 ]]; then
|
||||
jetbrainsdistribution="macM1"
|
||||
fi
|
||||
downloadURL="https://download.jetbrains.com/product?code=${jetbrainscode}&latest&distribution=${jetbrainsdistribution}"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||
expectedTeamID="2ZEFAR8TH3"
|
||||
;;
|
||||
;;
|
||||
|
||||
13
fragments/labels/jetbrainsrubymine.sh
Normal file
13
fragments/labels/jetbrainsrubymine.sh
Normal file
@@ -0,0 +1,13 @@
|
||||
jetbrainsrubymine)
|
||||
name="RubyMine"
|
||||
type="dmg"
|
||||
jetbrainscode="RM"
|
||||
if [[ $(arch) == i386 ]]; then
|
||||
jetbrainsdistribution="mac"
|
||||
elif [[ $(arch) == arm64 ]]; then
|
||||
jetbrainsdistribution="macM1"
|
||||
fi
|
||||
downloadURL="https://download.jetbrains.com/product?code=${jetbrainscode}&latest&distribution=${jetbrainsdistribution}"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||
expectedTeamID="2ZEFAR8TH3"
|
||||
;;
|
||||
@@ -1,11 +1,12 @@
|
||||
jetbrainstoolbox)
|
||||
name="JetBrains Toolbox"
|
||||
type="dmg"
|
||||
if [[ $(arch) == i386 ]]; then
|
||||
downloadURL="https://download.jetbrains.com/product?code=TB&latest&distribution=mac"
|
||||
elif [[ $(arch) == arm64 ]]; then
|
||||
downloadURL="https://download.jetbrains.com/product?code=TB&latest&distribution=macM1"
|
||||
jetbrainscode="TBA"
|
||||
jetbrainsdistribution="mac"
|
||||
if [[ $(arch) == arm64 ]]; then
|
||||
jetbrainsdistribution="macM1"
|
||||
fi
|
||||
downloadURL="https://download.jetbrains.com/product?code=${jetbrainscode}&latest&distribution=${jetbrainsdistribution}"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||
expectedTeamID="2ZEFAR8TH3"
|
||||
;;
|
||||
;;
|
||||
|
||||
12
fragments/labels/jetbrainswebstorm.sh
Normal file
12
fragments/labels/jetbrainswebstorm.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
jetbrainswebstorm)
|
||||
name="Webstorm"
|
||||
type="dmg"
|
||||
jetbrainscode="WS"
|
||||
jetbrainsdistribution="mac"
|
||||
if [[ $(arch) == arm64 ]]; then
|
||||
jetbrainsdistribution="macM1"
|
||||
fi
|
||||
downloadURL="https://download.jetbrains.com/product?code=${jetbrainscode}&latest&distribution=${jetbrainsdistribution}"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||
expectedTeamID="2ZEFAR8TH3"
|
||||
;;
|
||||
@@ -1,8 +1,6 @@
|
||||
lexarrecoverytool)
|
||||
# credit: Søren Theilgaard (@theilgaard)
|
||||
name="Lexar Recovery Tool"
|
||||
type="appInDmgInZip"
|
||||
downloadURL="https://www.lexar.com$( curl -fs "https://www.lexar.com/support/downloads/" | grep -i "mac" | grep -i "recovery" | head -1 | tr '"' '\n' | grep -i ".zip" )"
|
||||
#appNewVersion=""
|
||||
downloadURL="https://www.lexar.com/wp-content/uploads/product_images/Lexar-Recovery-Tool-Mac.zip"
|
||||
expectedTeamID="Y8HM6WR2DV"
|
||||
;;
|
||||
|
||||
@@ -3,7 +3,7 @@ logitechoptions)
|
||||
name="Logitech Options"
|
||||
type="pkgInZip"
|
||||
downloadURL=$(curl -fs -L https://www.logitech.com/en-us/product/options | grep -m 1 -o "https.*zip" | sed 's/\"//' | awk '{print $1}')
|
||||
appNewVersion=$(curl -fs -L https://www.logitech.com/en-us/product/options | grep -m 1 -o "https.*zip" | sed 's/\"//' | awk '{print $1}' | sed -E 's/.*_([0-9\.]*)[-\.].*/\1/' )
|
||||
#appNewVersion=$(curl -fs -L https://www.logitech.com/en-us/product/options | grep -m 1 -o "https.*zip" | sed 's/\"//' | awk '{print $1}' | sed -E 's/.*_([0-9\.]*)[-\.].*/\1/' )
|
||||
pkgName="LogiMgr Installer ${appNewVersion}.app/Contents/Resources/LogiMgr.pkg"
|
||||
expectedTeamID="QED4VVPZWA"
|
||||
;;
|
||||
|
||||
13
fragments/labels/logseq.sh
Normal file
13
fragments/labels/logseq.sh
Normal file
@@ -0,0 +1,13 @@
|
||||
logseq)
|
||||
name="Logseq"
|
||||
type="dmg"
|
||||
if [[ $(arch) == "arm64" ]]; then
|
||||
archiveName="darwin-arm64-[0-9.]*.dmg"
|
||||
downloadURL=$(downloadURLFromGit logseq logseq)
|
||||
elif [[ $(arch) == "i386" ]]; then
|
||||
archiveName="darwin-x64-[0-9.]*.dmg"
|
||||
downloadURL=$(downloadURLFromGit logseq logseq)
|
||||
fi
|
||||
appNewVersion=$(versionFromGit logseq logseq)
|
||||
expectedTeamID="3K44EUN829"
|
||||
;;
|
||||
7
fragments/labels/maccyapp.sh
Normal file
7
fragments/labels/maccyapp.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
maccyapp)
|
||||
name="Maccy"
|
||||
type="zip"
|
||||
downloadURL="$(downloadURLFromGit p0deje Maccy)"
|
||||
appNewVersion="$(versionFromGit p0deje Maccy)"
|
||||
expectedTeamID="MN3X4648SC"
|
||||
;;
|
||||
23
fragments/labels/macports.sh
Normal file
23
fragments/labels/macports.sh
Normal file
@@ -0,0 +1,23 @@
|
||||
macports)
|
||||
name="MacPorts"
|
||||
type="pkg"
|
||||
#buildVersion=$(uname -r | cut -d '.' -f 1)
|
||||
case $(uname -r | cut -d '.' -f 1) in
|
||||
21)
|
||||
archiveName="Monterey.pkg"
|
||||
;;
|
||||
20)
|
||||
archiveName="BigSur.pkg"
|
||||
;;
|
||||
19)
|
||||
archiveName="Catalina.pkg"
|
||||
;;
|
||||
*)
|
||||
cleanupAndExit 1 "macOS 10.14 or earlier not supported by Installomator."
|
||||
;;
|
||||
esac
|
||||
downloadURL=$(downloadURLFromGit macports macports-base)
|
||||
appNewVersion=$(versionFromGit macports macports-base)
|
||||
appCustomVersion(){ if [ -x /opt/local/bin/port ]; then /opt/local/bin/port version | awk '{print $2}'; else "0"; fi }
|
||||
expectedTeamID="QTA3A3B7F3"
|
||||
;;
|
||||
8
fragments/labels/marathon.sh
Normal file
8
fragments/labels/marathon.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
marathon)
|
||||
name="Marathon"
|
||||
type="dmg"
|
||||
archiveName="Marathon-[0-9.]*-Mac.dmg"
|
||||
downloadURL="$(downloadURLFromGit Aleph-One-Marathon alephone)"
|
||||
appNewVersion="$(versionFromGit Aleph-One-Marathon alephone)"
|
||||
expectedTeamID="E8K89CXZE7"
|
||||
;;
|
||||
8
fragments/labels/marathon2.sh
Normal file
8
fragments/labels/marathon2.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
marathon2)
|
||||
name="Marathon 2"
|
||||
type="dmg"
|
||||
archiveName="Marathon2-[0-9.]*-Mac.dmg"
|
||||
downloadURL="$(downloadURLFromGit Aleph-One-Marathon alephone)"
|
||||
appNewVersion="$(versionFromGit Aleph-One-Marathon alephone)"
|
||||
expectedTeamID="E8K89CXZE7"
|
||||
;;
|
||||
8
fragments/labels/marathoninfinity.sh
Normal file
8
fragments/labels/marathoninfinity.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
marathoninfinity)
|
||||
name="Marathon Infinity"
|
||||
type="dmg"
|
||||
archiveName="MarathonInfinity-[0-9.]*-Mac.dmg"
|
||||
downloadURL="$(downloadURLFromGit Aleph-One-Marathon alephone)"
|
||||
appNewVersion="$(versionFromGit Aleph-One-Marathon alephone)"
|
||||
expectedTeamID="E8K89CXZE7"
|
||||
;;
|
||||
@@ -1,12 +1,9 @@
|
||||
mattermost)
|
||||
name="Mattermost"
|
||||
type="dmg"
|
||||
if [[ $(arch) == i386 ]]; then
|
||||
archiveName="mac.dmg"
|
||||
elif [[ $(arch) == arm64 ]]; then
|
||||
archiveName="mac-m1.dmg"
|
||||
fi
|
||||
archiveName="mac-universal.dmg"
|
||||
downloadURL=$(downloadURLFromGit mattermost desktop)
|
||||
appNewVersion=$(versionFromGit mattermost desktop )
|
||||
expectedTeamID="UQ8HT4Q2XM"
|
||||
Mattermost Helper (Renderer).app app.asar
|
||||
;;
|
||||
|
||||
@@ -5,6 +5,10 @@ microsoftcompanyportal)
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.intunecompanyportal.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/CompanyPortal_.*pkg" | cut -d "_" -f 2 | cut -d "-" -f 1)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps IMCP01 )
|
||||
;;
|
||||
|
||||
@@ -5,6 +5,10 @@ microsoftdefenderatp)
|
||||
appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.defender.standalone"]/version' 2>/dev/null | sed -E 's/<version>([0-9.]*) .*/\1/')
|
||||
# No version number in download url
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps WDAV00 )
|
||||
;;
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
microsoftedge|\
|
||||
microsoftedgeconsumerstable)
|
||||
microsoftedgeconsumerstable|\
|
||||
microsoftedgeenterprisestable)
|
||||
name="Microsoft Edge"
|
||||
type="pkg"
|
||||
downloadURL="https://go.microsoft.com/fwlink/?linkid=2069148"
|
||||
downloadURL="https://go.microsoft.com/fwlink/?linkid=2093504"
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.edge"]/cfbundleversion' 2>/dev/null | sed -E 's/<cfbundleversion>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/MicrosoftEdge.*pkg" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps EDGE01 )
|
||||
;;
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
microsoftedgeenterprisestable)
|
||||
name="Microsoft Edge"
|
||||
type="pkg"
|
||||
downloadURL="https://go.microsoft.com/fwlink/?linkid=2093438"
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.edge"]/version' 2>/dev/null | sed -E 's/<version>([0-9.]*) .*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/MicrosoftEdge.*pkg" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
||||
expectedTeamID="UBF8T346G9"
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps EDGE01 )
|
||||
;;
|
||||
@@ -5,6 +5,10 @@ microsoftexcel)
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.excel.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps XCEL2019 )
|
||||
;;
|
||||
|
||||
@@ -7,6 +7,10 @@ microsoftoffice365)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
# using MS PowerPoint as the 'stand-in' for the entire suite
|
||||
#appName="Microsoft PowerPoint.app"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
blockingProcesses=( "Microsoft AutoUpdate" "Microsoft Word" "Microsoft PowerPoint" "Microsoft Excel" "Microsoft OneNote" "Microsoft Outlook" "OneDrive" )
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install )
|
||||
|
||||
@@ -6,6 +6,10 @@ microsoftofficebusinesspro)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
# using MS PowerPoint as the 'stand-in' for the entire suite
|
||||
appName="Microsoft PowerPoint.app"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
blockingProcesses=( "Microsoft AutoUpdate" "Microsoft Word" "Microsoft PowerPoint" "Microsoft Excel" "Microsoft OneNote" "Microsoft Outlook" "OneDrive" "Teams")
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install )
|
||||
|
||||
@@ -5,6 +5,10 @@ microsoftonedrive)
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.onedrive.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | cut -d "/" -f 6 | cut -d "." -f 1-3)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps ONDR18 )
|
||||
;;
|
||||
|
||||
@@ -5,6 +5,10 @@ microsoftonenote)
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.onenote.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps ONMC2019 )
|
||||
;;
|
||||
|
||||
@@ -5,6 +5,10 @@ microsoftoutlook)
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.outlook.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps OPIM2019 )
|
||||
;;
|
||||
|
||||
@@ -5,6 +5,10 @@ microsoftpowerpoint)
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.powerpoint.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps PPT32019 )
|
||||
;;
|
||||
|
||||
@@ -5,6 +5,10 @@ microsoftremotedesktop)
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.remotedesktop.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_Remote_Desktop.*pkg" | cut -d "_" -f 4)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps MSRD10 )
|
||||
;;
|
||||
|
||||
@@ -5,6 +5,10 @@ microsoftskypeforbusiness)
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.skypeforbusiness.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" && $DEBUG -eq 0 ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps MSFB16 )
|
||||
;;
|
||||
|
||||
@@ -8,6 +8,6 @@ microsoftteams)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
blockingProcesses=( Teams "Microsoft Teams Helper" )
|
||||
# Commenting out msupdate as it is not really supported *yet* for teams
|
||||
# updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
# updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
# updateToolArguments=( --install --apps TEAM01 )
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -2,7 +2,6 @@ microsoftvisualstudiocode|\
|
||||
visualstudiocode)
|
||||
name="Visual Studio Code"
|
||||
type="zip"
|
||||
#downloadURL="https://go.microsoft.com/fwlink/?LinkID=620882" # Intel only
|
||||
downloadURL="https://go.microsoft.com/fwlink/?LinkID=2156837" # Universal
|
||||
appNewVersion=$(curl -fsL "https://code.visualstudio.com/Updates" | grep "/darwin" | grep -oiE ".com/([^>]+)([^<]+)/darwin" | cut -d "/" -f 2 | sed $'s/[^[:print:] ]//g' | head -1 )
|
||||
expectedTeamID="UBF8T346G9"
|
||||
|
||||
@@ -5,6 +5,10 @@ microsoftword)
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.word.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2)
|
||||
expectedTeamID="UBF8T346G9"
|
||||
if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then
|
||||
printlog "Running msupdate --list"
|
||||
"/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list
|
||||
fi
|
||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
updateToolArguments=( --install --apps MSWD2019 )
|
||||
;;
|
||||
|
||||
@@ -5,6 +5,6 @@ microsoftyammer)
|
||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/oldpackage[id="com.microsoft.yammer.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
||||
expectedTeamID="UBF8T346G9"
|
||||
#updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
#updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||
#updateToolArguments=( --install --apps ?????? )
|
||||
;;
|
||||
|
||||
8
fragments/labels/mowgliiitsycal.sh
Normal file
8
fragments/labels/mowgliiitsycal.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
mowgliiitsycal)
|
||||
name="Itsycal"
|
||||
type="zip"
|
||||
downloadURL=$(curl -fs https://s3.amazonaws.com/itsycal/itsycal.xml | xpath '(//rss/channel/item/enclosure/@url)[1]' 2>/dev/null | head -1 | cut -d '"' -f 2)
|
||||
appNewVersion=$(curl -fs https://s3.amazonaws.com/itsycal/itsycal.xml | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[1]' 2>/dev/null | head -1 | cut -d '"' -f 2)
|
||||
expectedTeamID="HFT3T55WND"
|
||||
;;
|
||||
|
||||
@@ -4,4 +4,4 @@ muzzle)
|
||||
downloadURL="https://muzzleapp.com/binaries/muzzle.zip"
|
||||
appNewVersion=$(curl -fs https://muzzleapp.com/updates/ | grep -io 'h2.*Version.* [0-9.]*.*h2' | head -1 | sed -E 's/.*ersion *([0-9.]*).*/\1/g')
|
||||
expectedTeamID="49EYHPJ4Q3"
|
||||
;;
|
||||
;;
|
||||
|
||||
8
fragments/labels/nudge.sh
Normal file
8
fragments/labels/nudge.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
nudge)
|
||||
name="Nudge"
|
||||
type="pkg"
|
||||
downloadURL=$(downloadURLFromGit macadmins Nudge )
|
||||
appNewVersion=$(versionFromGit macadmins Nudge )
|
||||
expectedTeamID="9GQZ7KUFR6"
|
||||
archiveName="Nudge-[0-9.]*.pkg"
|
||||
;;
|
||||
8
fragments/labels/ottomatic.sh
Normal file
8
fragments/labels/ottomatic.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
ottomatic)
|
||||
name="Otto Matic"
|
||||
type="dmg"
|
||||
downloadURL=$(downloadURLFromGit jorio OttoMatic)
|
||||
appNewVersion=$(versionFromGit jorio OttoMatic)
|
||||
expectedTeamID="RVNL7XC27G"
|
||||
;;
|
||||
|
||||
8
fragments/labels/overflow.sh
Normal file
8
fragments/labels/overflow.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
overflow)
|
||||
name="Overflow"
|
||||
type="dmg"
|
||||
downloadURL="$(curl -sL 'https://overflow.io/download/' | awk -F '"' '/app-updates.overflow.io\/packages\/updates\/osx_64/ { print $8; exit }')"
|
||||
appNewVersion=$(echo "$downloadURL" | awk -F '-|[.]dmg' '{ print $(NF-1) }')
|
||||
expectedTeamID="7TK7YSGJFF"
|
||||
versionKey="CFBundleShortVersionString"
|
||||
;;
|
||||
9
fragments/labels/pandoc.sh
Normal file
9
fragments/labels/pandoc.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
pandoc)
|
||||
name="Pandoc"
|
||||
type="pkg"
|
||||
packageID="net.johnmacfarlane.pandoc"
|
||||
downloadURL=$(downloadURLFromGit jgm pandoc )
|
||||
appNewVersion=$(versionFromGit jgm pandoc )
|
||||
archiveName="mac.pkg"
|
||||
expectedTeamID="5U2WKE6DES"
|
||||
;;
|
||||
@@ -3,4 +3,4 @@ parsec)
|
||||
type="pkg"
|
||||
downloadURL="https://builds.parsecgaming.com/package/parsec-macos.pkg"
|
||||
expectedTeamID="Y9MY52XZDB"
|
||||
;;
|
||||
;;
|
||||
|
||||
7
fragments/labels/perimeter81.sh
Normal file
7
fragments/labels/perimeter81.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
perimeter81)
|
||||
name="Perimeter 81"
|
||||
type="pkg"
|
||||
downloadURL="https://static.perimeter81.com/agents/mac/snapshot/latest/Perimeter81.pkg"
|
||||
appNewVersion="$(curl -fsIL "${downloadURL}" | grep -i ^x-amz-meta-version | sed -E 's/x-amz-meta-version: //' | cut -d"." -f1-3)"
|
||||
expectedTeamID="924635PD62"
|
||||
;;
|
||||
@@ -4,4 +4,4 @@ platypus)
|
||||
downloadURL=$(downloadURLFromGit sveinbjornt Platypus)
|
||||
appNewVersion=$(versionFromGit sveinbjornt Platypus)
|
||||
expectedTeamID="55GP2M789L"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -3,4 +3,4 @@ prism9)
|
||||
type="dmg"
|
||||
downloadURL="https://cdn.graphpad.com/downloads/prism/9/InstallPrism9.dmg"
|
||||
expectedTeamID="YQ2D36NS9M"
|
||||
;;
|
||||
;;
|
||||
|
||||
7
fragments/labels/protonvpn.sh
Normal file
7
fragments/labels/protonvpn.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
protonvpn)
|
||||
name="ProtonVPN"
|
||||
type="dmg"
|
||||
downloadURL=$(curl -fs "https://protonvpn.com/download" | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*\.dmg" | head -1)
|
||||
appNewVersion=$(echo $downloadURL | sed -e 's/^.*\/Proton.*_v\([0-9.]*\)\.dmg/\1/g')
|
||||
expectedTeamID="J6S6Q257EK"
|
||||
;;
|
||||
@@ -1,8 +1,7 @@
|
||||
r)
|
||||
# credit: Tadayuki Onishi (@kenchan0130)
|
||||
name="R"
|
||||
type="pkg"
|
||||
downloadURL=$( curl -fsL https://formulae.brew.sh/api/cask/r.json | sed -n 's/^.*"url":"\([^"]*\)".*$/\1/p' )
|
||||
appNewVersion=$(curl -fsL https://formulae.brew.sh/api/cask/r.json | sed -n 's/^.*"version":"\([^"]*\)".*$/\1/p')
|
||||
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' )"
|
||||
appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
||||
expectedTeamID="VZLD955F6P"
|
||||
;;
|
||||
|
||||
7
fragments/labels/remotix.sh
Normal file
7
fragments/labels/remotix.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
remotix)
|
||||
name="Remotix"
|
||||
type="dmg"
|
||||
downloadURL="https://remotix.com/downloads/latest-remotix-mac/"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)-.*\.dmg/\1/g' )
|
||||
expectedTeamID="K293Y6CVN4"
|
||||
;;
|
||||
8
fragments/labels/remotixagent.sh
Normal file
8
fragments/labels/remotixagent.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
remotixagent)
|
||||
name="RemotixAgent"
|
||||
type="pkg"
|
||||
packageID="com.nulana.rxagentmac"
|
||||
downloadURL="https://remotix.com/downloads/latest-agent-mac/"
|
||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)-.*\.pkg/\1/g' )
|
||||
expectedTeamID="K293Y6CVN4"
|
||||
;;
|
||||
@@ -5,4 +5,4 @@ ringcentralclassicapp)
|
||||
expectedTeamID="M932RC5J66"
|
||||
blockingProcesses=( "Glip" )
|
||||
#blockingProcessesMaxCPU="5"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -4,4 +4,4 @@ royaltsx)
|
||||
downloadURL=$(curl -fs https://royaltsx-v5.royalapps.com/updates_stable | xpath '//rss/channel/item[1]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2)
|
||||
appNewVersion=$(curl -fs https://royaltsx-v5.royalapps.com/updates_stable | xpath '//rss/channel/item[1]/enclosure/@sparkle:shortVersionString' 2>/dev/null | cut -d '"' -f 2)
|
||||
expectedTeamID="VXP8K9EDP6"
|
||||
;;
|
||||
;;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
screencloudplayer)
|
||||
# credit: AP Orlebeke (@apizz)
|
||||
name="ScreenCloud Player"
|
||||
type="dmg"
|
||||
downloadURL=$(curl -sL "https://screencloud.com/download" | sed -n 's/^.*"url":"\([^"]*\)".*$/\1/p')
|
||||
downloadURL=$(curl -fs "https://screencloud.com/download" | sed -n 's/^.*"url":"\(https.*\.dmg\)".*$/\1/p')
|
||||
appNewVersion=$( echo $downloadURL | sed -e 's/.*\/ScreenCloud.*\-\([0-9.]*\)\.dmg/\1/g' )
|
||||
expectedTeamID="3C4F953K6P"
|
||||
;;
|
||||
;;
|
||||
|
||||
7
fragments/labels/sequelpro.sh
Normal file
7
fragments/labels/sequelpro.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
sequelpro)
|
||||
name="Sequel Pro"
|
||||
type="dmg"
|
||||
downloadURL="$(downloadURLFromGit sequelpro sequelpro)"
|
||||
appNewVersion="$(versionFromGit sequelpro sequelpro)"
|
||||
expectedTeamID="Media"
|
||||
;;
|
||||
@@ -4,4 +4,4 @@ sketch)
|
||||
downloadURL=$(curl -sf https://www.sketch.com/downloads/mac/ | grep 'href="https://download.sketch.com' | sed -E 's/.*href=\"(.*)\".?/\1/g')
|
||||
appNewVersion=$(curl -fs https://www.sketch.com/updates/ | grep "Sketch Version" | head -1 | sed -E 's/.*Version ([0-9.]*)<.*/\1/g') # version from update page
|
||||
expectedTeamID="WUGMZZ5K46"
|
||||
;;
|
||||
;;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user