From 1acc865a7aa04b5fb3c4f1b8555b902120078bac Mon Sep 17 00:00:00 2001 From: Pro4TLZZ Date: Thu, 15 Apr 2021 09:12:50 +0100 Subject: [PATCH 001/100] Fix Plantronics Hub --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index cd96834..f9d94a0 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2005,7 +2005,7 @@ pitch) ;; plantronicshub) name="Plantronics Hub" - type="dmg" + type="pkgInDmg" downloadURL="https://www.poly.com/content/dam/www/software/PlantronicsHubInstaller.dmg" expectedTeamID="SKWK2Q7JJV" appNewVersion=$(curl -fs "https://www.poly.com/in/en/support/knowledge-base/kb-article-page?lang=en_US&urlName=Hub-Release-Notes&type=Product_Information__kav" | grep -o "(*.*)" | head -1 | cut -d "(" -f2 | sed 's/\<\/span\>//g' | cut -d "<" -f1) From 5c3ba1143f3a0419e299c25541b182e5a72810f4 Mon Sep 17 00:00:00 2001 From: Pro4TLZZ Date: Thu, 15 Apr 2021 09:33:36 +0100 Subject: [PATCH 002/100] Add iMazing Profile Editor --- Installomator.sh | 6 ++++++ Labels.txt | 1 + 2 files changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index f9d94a0..5dd5db7 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1531,6 +1531,12 @@ icons) appNewVersion=$(versionFromGit sap macOS-icon-generator ) expectedTeamID="7R5ZEU67FQ" ;; +iMazing Profile Editor: +imazingprofileeditor) + name="iMazing Profile Editor" + type="dmg" + downloadURL="https://downloads.imazing.com/mac/iMazing-Profile-Editor/iMazingProfileEditorMac.dmg" + expectedTeamID="J5PR93692Y" inkscape) # credit: Søren Theilgaard (@theilgaard) name="Inkscape" diff --git a/Labels.txt b/Labels.txt index da6bf23..87cffd3 100644 --- a/Labels.txt +++ b/Labels.txt @@ -91,6 +91,7 @@ hpeasyadmin hpeasystart hyper icons +imazingprofileeditor inkscape installomator_st installomator_theile From d16613ec8b525b60bc5df8c60dc4bb130346f001 Mon Sep 17 00:00:00 2001 From: Pro4TLZZ Date: Thu, 15 Apr 2021 10:13:17 +0100 Subject: [PATCH 003/100] Add Hancock and fix formatting for iMazing Profile Editor --- Installomator.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 5dd5db7..76b3036 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -20,7 +20,7 @@ export PATH=/usr/bin:/bin:/usr/sbin:/sbin # set to 0 for production, 1 for debugging # while debugging, items will be downloaded to the parent directory of this script # also no actual installation will be performed -DEBUG=1 +DEBUG=0 # notify behavior NOTIFY=success @@ -1485,6 +1485,14 @@ gyazogif) downloadURL="https://files.gyazo.com/setup/Gyazo-${appNewVersion}.dmg" expectedTeamID="9647Y3B7A4" ;; +hancock) + # Credit: Bilal Habib @Pro4TLZZZ + name="Hancock" + type="dmg" + downloadURL=$(downloadURLFromGit JeremyAgost Hancock ) + appNewVersion=$(versionFromGit JeremyAgost Hancock ) + expectedTeamID="SWD2B88S58" + ;; handbrake) name="HandBrake" type="dmg" @@ -1531,12 +1539,13 @@ icons) appNewVersion=$(versionFromGit sap macOS-icon-generator ) expectedTeamID="7R5ZEU67FQ" ;; -iMazing Profile Editor: imazingprofileeditor) + # Credit: Bilal Habib @Pro4TLZZZ name="iMazing Profile Editor" type="dmg" downloadURL="https://downloads.imazing.com/mac/iMazing-Profile-Editor/iMazingProfileEditorMac.dmg" expectedTeamID="J5PR93692Y" + ;; inkscape) # credit: Søren Theilgaard (@theilgaard) name="Inkscape" From 519126decde701fc02925fb2762eaf76a7b5d9b2 Mon Sep 17 00:00:00 2001 From: Pro4TLZZ Date: Thu, 15 Apr 2021 10:14:17 +0100 Subject: [PATCH 004/100] Turn Debug back on --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 76b3036..7bea9f6 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -20,7 +20,7 @@ export PATH=/usr/bin:/bin:/usr/sbin:/sbin # set to 0 for production, 1 for debugging # while debugging, items will be downloaded to the parent directory of this script # also no actual installation will be performed -DEBUG=0 +DEBUG=1 # notify behavior NOTIFY=success From a9789f54d0b7cdc141d917ca760c17cb065b4772 Mon Sep 17 00:00:00 2001 From: Pro4TLZZ Date: Thu, 15 Apr 2021 10:15:06 +0100 Subject: [PATCH 005/100] Add Hancock to Label --- Labels.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Labels.txt b/Labels.txt index 87cffd3..c81bacf 100644 --- a/Labels.txt +++ b/Labels.txt @@ -85,6 +85,7 @@ gpgsync grandperspective gyazo gyazogif +hancock handbrake hazel hpeasyadmin From ae4589dc06a7a3b01e15fcc32fdeb130e013921b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 22 Apr 2021 16:46:06 +0200 Subject: [PATCH 006/100] TeamViewer version --- Installomator.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 545a928..138b204 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2383,8 +2383,10 @@ taskpaper) teamviewer) name="TeamViewer" type="pkgInDmg" + packageID="com.teamviewer.teamviewer" pkgName="Install TeamViewer.app/Contents/Resources/Install TeamViewer.pkg" downloadURL="https://download.teamviewer.com/download/TeamViewer.dmg" + appNewVersion=$(curl -fs "https://www.teamviewer.com/en/download/mac-os/" | grep "Current version" | cut -d " " -f3 | cut -d "<" -f1) expectedTeamID="H7UGFBUGV6" ;; teamviewerhost) @@ -2392,6 +2394,7 @@ teamviewerhost) type="pkgInDmg" packageID="com.teamviewer.teamviewerhost" pkgName="Install TeamViewerHost.app/Contents/Resources/Install TeamViewerHost.pkg" downloadURL="https://download.teamviewer.com/download/TeamViewerHost.dmg" + appNewVersion=$(curl -fs "https://www.teamviewer.com/en/download/mac-os/" | grep "Current version" | cut -d " " -f3 | cut -d "<" -f1) expectedTeamID="H7UGFBUGV6" #blockingProcessesMaxCPU="5" # Future feature #Company="TeamViewer GmbH" @@ -2401,6 +2404,7 @@ teamviewerqs) name="TeamViewerQS" type="dmg" downloadURL="https://download.teamviewer.com/download/TeamViewerQS.dmg" + appNewVersion=$(curl -fs "https://www.teamviewer.com/en/download/mac-os/" | grep "Current version" | cut -d " " -f3 | cut -d "<" -f1) appName="TeamViewerQS.app" expectedTeamID="H7UGFBUGV6" ;; From 0691a8d5600dc7733ee64fe10691af1608f8ffb9 Mon Sep 17 00:00:00 2001 From: Lucas Cantor Date: Wed, 28 Apr 2021 09:41:00 -0700 Subject: [PATCH 007/100] Add TextExpander This is my first time contributing to Installomator, so my apologies in advance if I'm missing something, or doing something wrong. I believe this is the best option to find the latest appNewVersion number for TextExpander specifically, but I'm also happy to be proven otherwise. --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 545a928..4281a93 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2411,6 +2411,13 @@ telegram) appNewVersion=$( curl -fs https://macos.telegram.org | grep anchor | head -1 | sed -E 's/.*a>([0-9.]*) .*/\1/g' ) expectedTeamID="6N38VWS5BX" ;; +textexpander) + name="TextExpander" + type="zip" + downloadURL="https://textexpander.com/cgi-bin/redirect.pl?cmd=download&platform=osx" + appNewVersion=$( curl -fsIL "https://textexpander.com/cgi-bin/redirect.pl?cmd=download&platform=osx" | grep -i "^location" | awk '{print $2}' | tail -1 | cut -d "_" -f2 | sed -nre 's/^[^0-9]*(([0-9]+\.)*[0-9]+).*/\1/p' ) + expectedTeamID="7PKJ6G4DXL" + ;; textmate) name="TextMate" type="tbz" From ba6d88709849427c123c03814db8a938371a897c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+midni9ht@users.noreply.github.com> Date: Fri, 7 May 2021 12:10:14 +0200 Subject: [PATCH 008/100] Updated 'webexteams' for Apple Silicon support 'Webex Teams' changed its application name to just 'Webex'. Also there is an Apple Silicon version available now. Should solve #156 --- Installomator.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 545a928..fa4a104 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2582,9 +2582,13 @@ webexmeetings) ;; webexteams) # credit: Erik Stam (@erikstam) - name="Webex Teams" + name="Webex" type="dmg" - downloadURL="https://binaries.webex.com/WebexTeamsDesktop-MACOS-Gold/WebexTeams.dmg" + if [[ $(arch) == arm64 ]]; then + downloadURL="https://binaries.webex.com/WebexDesktop-MACOS-Apple-Silicon-Gold/Webex.dmg" + elif [[ $(arch) == i386 ]]; then + downloadURL="https://binaries.webex.com/WebexTeamsDesktop-MACOS-Gold/Webex.dmg" + fi expectedTeamID="DE8Y96K9QP" ;; whatsapp) From 34fb0d9271e4e4533a6600bf87b3bd616ee26c75 Mon Sep 17 00:00:00 2001 From: John Hutchison Date: Fri, 7 May 2021 12:18:08 -0400 Subject: [PATCH 009/100] New Labels for Apple Fonts New labels for Apple's font collections including New York, San Francisco Mono, San Francisco Pro, and San Francisco Compact --- Installomator.sh | 28 ++++++++++++++++++++++++++++ Labels.txt | 4 ++++ 2 files changed, 32 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 545a928..b65a2eb 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -949,6 +949,34 @@ appcleaner) expectedTeamID="X85ZX835W9" #Company=FreeMacSoft ;; +applenyfonts) + name="Apple New York Font Collection" + type="pkgInDmg" + downloadURL="https://devimages-cdn.apple.com/design/resources/download/NY-Font.dmg" + packageID="com.apple.pkg.NYFonts" + expectedTeamID="Development Update" + ;; +applesfpro) + name="San Francisco Pro" + type="pkgInDmg" + downloadURL="https://devimages-cdn.apple.com/design/resources/download/SF-Font-Pro.dmg" + packageID="com.apple.pkg.SanFranciscoPro" + expectedTeamID="Development Update" + ;; +applesfmono) + name="San Francisco Mono" + type="pkgInDmg" + downloadURL="https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg" + packageID="com.apple.pkg.SFMonoFonts" + expectedTeamID="Software Update" + ;; +applesfcompact) + name="San Francisco Compact" + type="pkgInDmg" + downloadURL="https://devimages-cdn.apple.com/design/resources/download/SF-Font-Compact.dmg" + packageID="com.apple.pkg.SanFranciscoCompact" + expectedTeamID="Development Update" + ;; aquaskk) # credit: Tadayuki Onishi (@kenchan0130) name="aquaskk" diff --git a/Labels.txt b/Labels.txt index da6bf23..2b822de 100644 --- a/Labels.txt +++ b/Labels.txt @@ -14,6 +14,10 @@ amazonworkspaces androidfiletransfer apparency appcleaner +applenyfonts +applesfcompact +applesfmono +applesfpro aquaskk atom autodmg From d32496e7e10aed1125dc569810c9a355e281c887 Mon Sep 17 00:00:00 2001 From: John Hutchison Date: Sun, 9 May 2021 08:23:56 -0400 Subject: [PATCH 010/100] Updated new App URL for Camo Studio --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index b65a2eb..3f8448d 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1143,7 +1143,7 @@ camostudio) name="Camo Studio" type="zip" downloadURL="https://reincubate.com/res/labs/camo/camo-macos-latest.zip" - #appNewVersion=$( ) # Can't find any versioniing on web server + appNewVersion=$(curl -s -L https://reincubate.com/support/camo/release-notes/ | grep -m2 "title is-5" | tail -n1 | grep -o -e "name=.*\"" | awk -F '=' '{print $2}' | sed 's/\"//g') expectedTeamID="Q248YREB53" ;; camtasia) From 16828a190f34f37bcffa1841b79e9a35c6a494c3 Mon Sep 17 00:00:00 2001 From: John Hutchison Date: Sun, 9 May 2021 08:24:16 -0400 Subject: [PATCH 011/100] New Label for Proxyman --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 3f8448d..5c25ca9 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2112,6 +2112,13 @@ promiseutilityr) expectedTeamID="268CCUR4WN" #Company="Promise" ;; +proxyman) + name="Proxyman" + type="dmg" + downloadURL="https://proxyman.io/release/osx/Proxyman_latest.dmg" + expectedTeamID="3X57WP8E8V" + appNewVersion=$(curl -s -L https://github.com/ProxymanApp/Proxyman | grep -o 'releases/tag/.*\>' | awk -F '/' '{print $3}') + ;; pymol) name="PyMOL" type="dmg" From bef74b6a8020109c299195f80dcba3a6b37bbb8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Tue, 11 May 2021 21:22:15 +0200 Subject: [PATCH 012/100] versionKey update Checked opera and vlc labels --- Installomator.sh | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 545a928..cbe623c 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -114,6 +114,12 @@ REOPEN="yes" # If given, it will be compared to installed version, to see if download is different. # It does not check for newer or not, only different. # +# - versionKey: (optional) +# How we get version number from app. Possible values: +# - CFBundleShortVersionString +# - CFBundleVersion +# Not all software titles uses fields the same. Opera uses the latter. +# # - expectedTeamID: (required) # 10-digit developer team ID. # Obtain the team ID by running: @@ -332,7 +338,7 @@ getAppVersion() { if [[ ${#filteredAppPaths} -eq 1 ]]; then installedAppPath=$filteredAppPaths[1] #appversion=$(mdls -name kMDItemVersion -raw $installedAppPath ) - appversion=$(defaults read $installedAppPath/Contents/Info.plist CFBundleShortVersionString) #Not dependant on Spotlight indexing + appversion=$(defaults read $installedAppPath/Contents/Info.plist $versionKey) #Not dependant on Spotlight indexing printlog "found app at $installedAppPath, version $appversion" else printlog "could not determine location of $appName" @@ -480,7 +486,7 @@ installAppWithPath() { # $1: path to app to install in $targetDir # versioncheck # credit: Søren Theilgaard (@theilgaard) - appNewVersion=$(defaults read $appPath/Contents/Info.plist CFBundleShortVersionString) + appNewVersion=$(defaults read $appPath/Contents/Info.plist $versionKey) if [[ $appversion == $appNewVersion ]]; then printlog "Downloaded version of $name is $appNewVersion, same as installed." if [[ $INSTALL != "force" ]]; then @@ -797,6 +803,10 @@ label=${label:l} printlog "################## Start Installomator v. $VERSION" printlog "################## $label" +# How we get version number from app +# (alternative is "CFBundleVersion", that can be used in labels) +versionKey="CFBundleShortVersionString" + # get current user currentUser=$(scutil <<< "show State:/Users/ConsoleUser" | awk '/Name :/ { print $3 }') @@ -2009,8 +2019,9 @@ openvpnconnectv3) opera) name="Opera" type="dmg" - downloadURL="https://get.geo.opera.com/ftp/pub/opera/desktop/"$( curl -fs "https://get.geo.opera.com/ftp/pub/opera/desktop/" | grep href | tail -1 | tr '"' '\n' | grep "/" | head -1 )"mac/Opera_"$( curl -fs "https://get.geo.opera.com/ftp/pub/opera/desktop/" | grep href | tail -1 | tr '"' '\n' | grep "/" | head -1 | sed -E 's/^([0-9.]*)\//\1/g' )"_Setup.dmg" - appNewVersion="$( curl -fs "https://get.geo.opera.com/ftp/pub/opera/desktop/" | grep href | tail -1 | tr '"' '\n' | grep "/" | head -1 | sed -E 's/^([0-9]*\.[0-9]*).*\//\1/g' )" + downloadURL=$(curl -fsIL "$(curl -fs "$(curl -fsIL "https://download.opera.com/download/get/?partner=www&opsys=MacOS" | grep -i "^location" | cut -d " " -f2 | tail -1 | tr -d '\r')" | grep download.opera.com | grep -io "https.*yes" | sed 's/\&/\&/g')" | grep -i "^location" | cut -d " " -f2 | tr -d '\r') + appNewVersion="$(curl -fs "https://get.geo.opera.com/ftp/pub/opera/desktop/" | grep "href=\"\d" | sort -V | tail -1 | tr '"' '\n' | grep "/" | head -1 | tr -d '/')" + versionKey="CFBundleVersion" expectedTeamID="A2P9LX4JPN" ;; pacifist) @@ -2383,8 +2394,10 @@ taskpaper) teamviewer) name="TeamViewer" type="pkgInDmg" + packageID="com.teamviewer.teamviewer" pkgName="Install TeamViewer.app/Contents/Resources/Install TeamViewer.pkg" downloadURL="https://download.teamviewer.com/download/TeamViewer.dmg" + appNewVersion=$(curl -fs "https://www.teamviewer.com/en/download/mac-os/" | grep "Current version" | cut -d " " -f3 | cut -d "<" -f1) expectedTeamID="H7UGFBUGV6" ;; teamviewerhost) @@ -2392,6 +2405,7 @@ teamviewerhost) type="pkgInDmg" packageID="com.teamviewer.teamviewerhost" pkgName="Install TeamViewerHost.app/Contents/Resources/Install TeamViewerHost.pkg" downloadURL="https://download.teamviewer.com/download/TeamViewerHost.dmg" + appNewVersion=$(curl -fs "https://www.teamviewer.com/en/download/mac-os/" | grep "Current version" | cut -d " " -f3 | cut -d "<" -f1) expectedTeamID="H7UGFBUGV6" #blockingProcessesMaxCPU="5" # Future feature #Company="TeamViewer GmbH" @@ -2401,6 +2415,7 @@ teamviewerqs) name="TeamViewerQS" type="dmg" downloadURL="https://download.teamviewer.com/download/TeamViewerQS.dmg" + appNewVersion=$(curl -fs "https://www.teamviewer.com/en/download/mac-os/" | grep "Current version" | cut -d " " -f3 | cut -d "<" -f1) appName="TeamViewerQS.app" expectedTeamID="H7UGFBUGV6" ;; From 932013b34bfe0d6f2857147bae4bead75da7990e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Tue, 11 May 2021 21:50:39 +0200 Subject: [PATCH 013/100] Update Installomator.sh --- Installomator.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index cbe623c..20790e5 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2394,10 +2394,8 @@ taskpaper) teamviewer) name="TeamViewer" type="pkgInDmg" - packageID="com.teamviewer.teamviewer" pkgName="Install TeamViewer.app/Contents/Resources/Install TeamViewer.pkg" downloadURL="https://download.teamviewer.com/download/TeamViewer.dmg" - appNewVersion=$(curl -fs "https://www.teamviewer.com/en/download/mac-os/" | grep "Current version" | cut -d " " -f3 | cut -d "<" -f1) expectedTeamID="H7UGFBUGV6" ;; teamviewerhost) @@ -2405,7 +2403,6 @@ teamviewerhost) type="pkgInDmg" packageID="com.teamviewer.teamviewerhost" pkgName="Install TeamViewerHost.app/Contents/Resources/Install TeamViewerHost.pkg" downloadURL="https://download.teamviewer.com/download/TeamViewerHost.dmg" - appNewVersion=$(curl -fs "https://www.teamviewer.com/en/download/mac-os/" | grep "Current version" | cut -d " " -f3 | cut -d "<" -f1) expectedTeamID="H7UGFBUGV6" #blockingProcessesMaxCPU="5" # Future feature #Company="TeamViewer GmbH" @@ -2415,7 +2412,6 @@ teamviewerqs) name="TeamViewerQS" type="dmg" downloadURL="https://download.teamviewer.com/download/TeamViewerQS.dmg" - appNewVersion=$(curl -fs "https://www.teamviewer.com/en/download/mac-os/" | grep "Current version" | cut -d " " -f3 | cut -d "<" -f1) appName="TeamViewerQS.app" expectedTeamID="H7UGFBUGV6" ;; From e64fe9fcda90013f3f2912309e158bbc5670bf40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Wed, 12 May 2021 11:17:07 +0200 Subject: [PATCH 014/100] appCustomVersion(){} This can be used in a label now. --- Installomator.sh | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 20790e5..4aabbc8 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -118,7 +118,13 @@ REOPEN="yes" # How we get version number from app. Possible values: # - CFBundleShortVersionString # - CFBundleVersion -# Not all software titles uses fields the same. Opera uses the latter. +# Not all software titles uses fields the same. +# See Opera label. +# +# - appCustomVersion(){}: (optional function) +# This function can be added to your label, if a specific custom +# mechanism hs to be used for getting the installed version. +# See labels zulujdk11, zulujdk13, zulujdk15 # # - expectedTeamID: (required) # 10-digit developer team ID. @@ -310,7 +316,15 @@ xpath() { getAppVersion() { - # modified by: Søren Theilgaard (@theilgaard) + # modified by: Søren Theilgaard (@theilgaard) and Isaac Ordonez + + # If label contain function appCustomVersion, we use that and return + if type 'appCustomVersion' 2>/dev/null | grep -q 'function'; then + appversion=$(appCustomVersion) + printlog "Custom App Version detection is used, found $appversion" + return + fi + # pkgs contains a version number, then we don't have to search for an app if [[ $packageID != "" ]]; then appversion="$(pkgutil --pkg-info-plist ${packageID} 2>/dev/null | grep -A 1 pkg-version | tail -1 | sed -E 's/.*>([0-9.]*)<.*/\1/g')" @@ -1586,6 +1600,7 @@ installomator_st) 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="L8W73B6AH3" blockingProcesses=( NONE ) ;; @@ -2625,7 +2640,7 @@ wireshark) name="Wireshark" type="dmg" downloadURL="https://1.as.dl.wireshark.org/osx/Wireshark%20Latest%20Intel%2064.dmg" - appNewVersion=$(curl -fs https://www.wireshark.org/download.html | grep "Stable Release" | grep -o "(.*.)" | cut -f2 | head -1 | awk -F'[()]' '{print $2}') + appNewVersion=$(curl -fs https://www.wireshark.org/download.html | grep "Stable Release" | grep -o "(.*.)" | cut -f2 | head -1 | awk -F '[()]' '{print $2}') expectedTeamID="7Z6EMTD2C6" ;; xink) @@ -2690,8 +2705,8 @@ zulujdk11) downloadURL=$(curl -fs "https://www.azul.com/downloads/zulu-community/" | xmllint --html --format - 2>/dev/null | tr , '\n' | grep -o "https:.*/zulu11.*ca-jdk11.*aarch64.dmg" | sed 's/\\//g') fi expectedTeamID="TDTHCUPYFR" - #appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" } - #appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything + appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" } + appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything #Company="Azul" #PatchSkip="YES" ;; @@ -2705,8 +2720,8 @@ zulujdk13) downloadURL=$(curl -fs "https://www.azul.com/downloads/zulu-community/" | xmllint --html --format - 2>/dev/null | tr , '\n' | grep -o "https:.*/zulu13.*ca-jdk13.*aarch64.dmg" | sed 's/\\//g') fi expectedTeamID="TDTHCUPYFR" - #appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" } - #appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything + appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" } + appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything #Company="Azul" #PatchSkip="YES" ;; @@ -2720,8 +2735,8 @@ zulujdk15) downloadURL=$(curl -fs "https://www.azul.com/downloads/zulu-community/" | xmllint --html --format - 2>/dev/null | tr , '\n' | grep -o "https:.*/zulu15.*ca-jdk15.*aarch64.dmg" | sed 's/\\//g') fi expectedTeamID="TDTHCUPYFR" - #appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" } - #appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything + appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" } + appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything #Company="Azul" #PatchSkip="YES" ;; From dfe0fbd58f0e17742eaca17c25bed41abba777e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Wed, 12 May 2021 11:41:05 +0200 Subject: [PATCH 015/100] trex --- Installomator.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 138b204..82870ae 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2458,6 +2458,14 @@ torbrowser) appNewVersion=$(curl -fs https://www.torproject.org/download/ | grep "downloadLink" | grep dmg | head -1 | cut -d '"' -f 4 | cut -d / -f 4) expectedTeamID="MADPSAYN6T" ;; +trex) + # credit: Søren Theilgaard (@theilgaard) + name="TRex" + type="zip" + downloadURL=$(downloadURLFromGit amebalabs TRex) + appNewVersion=$(versionFromGit amebalabs TRex) + expectedTeamID="X93LWC49WV" + ;; tunnelbear) name="TunnelBear" type="zip" From 33be8b0556c5b248ad2333c1598f0d9765d35215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Wed, 12 May 2021 12:08:26 +0200 Subject: [PATCH 016/100] supportapp --- Installomator.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 82870ae..6a84def 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2351,6 +2351,15 @@ sublimetext) #appNewVersion=$(curl -Is https://download.sublimetext.com/latest/stable/osx | grep "Location:" | sed -n -e 's/^.*Sublime Text //p' | sed 's/.dmg//g' | sed $'s/[^[:print:]\t]//g') # Alternative from @Oh4sh0 expectedTeamID="Z6D26JE4Y4" ;; +supportapp) + # credit: Søren Theilgaard (@theilgaard) + name="SupportApp" + type="pkg" + packageID="nl.root3.support" + downloadURL=$(downloadURLFromGit root3nl SupportApp) + appNewVersion=$(versionFromGit root3nl SupportApp) + expectedTeamID="98LJ4XBGYK" + ;; suspiciouspackage) # credit: Mischa van der Bent (@mischavdbent) name="Suspicious Package" From 2fbe9e810fb1f3ae9909fba04e10fc8b76b172b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Wed, 12 May 2021 13:18:59 +0200 Subject: [PATCH 017/100] nextcloud --- Installomator.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 6a84def..f22b4b8 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1861,10 +1861,11 @@ nextcloud) type="pkg" #packageID="com.nextcloud.desktopclient" downloadURL=$(downloadURLFromGit nextcloud desktop) - #appNewVersion=$(versionFromGit nextcloud desktop) + appNewVersion=$(versionFromGit nextcloud desktop) # The version of the app is not equal to the version listed on GitHub. # App version something like "3.1.3git (build 4850)" but web page lists as "3.1.3" # Also it does not math packageID version "3.1.34850" + appCustomVersion(){defaults read /Applications/nextcloud.app/Contents/Info.plist CFBundleShortVersionString | sed -E 's/^([0-9.]*)git.*/\1/g'} expectedTeamID="NKUJUXUJ3B" ;; nomad) From bd4e848d601c5f1df0550e96be51718cc05b0d5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Wed, 12 May 2021 13:33:26 +0200 Subject: [PATCH 018/100] Update Installomator.sh --- Installomator.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Installomator.sh b/Installomator.sh index 138b204..3a03c8e 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -61,6 +61,7 @@ LOGO=appstore # - jamf JAMF Pro # - mosyleb Mosyle Business # - mosylem Mosyle Manager (Education) +# - addigy Addigy # path can also be set in the command call, and if file exists, it will be used, like 'LOGO="/System/Applications/App\ Store.app/Contents/Resources/AppIcon.icns"' (spaces are escaped). From c2dd55744fc7b6aaacaf12ac45b52a7334305953 Mon Sep 17 00:00:00 2001 From: Tadayuki Onishi Date: Thu, 13 May 2021 18:38:22 +0900 Subject: [PATCH 019/100] add a blockingProcesses value as NONE for googlejapaneseinput --- Installomator.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Installomator.sh b/Installomator.sh index 3a03c8e..e6b84d2 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1468,6 +1468,7 @@ googlejapaneseinput) type="pkgInDmg" pkgName="GoogleJapaneseInput.pkg" downloadURL="https://dl.google.com/japanese-ime/latest/GoogleJapaneseInput.dmg" + blockingProcesses=( NONE ) expectedTeamID="EQHXZ8M8AV" ;; gotomeeting) From 0d09f1650a61e318bd63e3263bf3ef4d4a6c9ba9 Mon Sep 17 00:00:00 2001 From: Stephen Boyle Date: Fri, 14 May 2021 13:12:33 -0400 Subject: [PATCH 020/100] dont use msupdate for microsoftteams msupdate does not fully support teams --- Installomator.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 3a03c8e..135878b 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2993,8 +2993,9 @@ microsoftteams) # Still using macadmin.software for version, as the path does not contain the version in a matching format. packageID can be used, but version is the same. expectedTeamID="UBF8T346G9" blockingProcesses=( Teams "Microsoft Teams Helper" ) - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" - updateToolArguments=( --install --apps TEAM01 ) + # 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" + #updateToolArguments=( --install --apps TEAM01 ) ;; microsoftvisualstudiocode|\ visualstudiocode) From fbd029d58dd453ea674b783ce90dc2fc17405712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Mon, 17 May 2021 10:53:57 +0200 Subject: [PATCH 021/100] supportapp --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index f22b4b8..e33228d 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2354,7 +2354,7 @@ sublimetext) ;; supportapp) # credit: Søren Theilgaard (@theilgaard) - name="SupportApp" + name="Support" type="pkg" packageID="nl.root3.support" downloadURL=$(downloadURLFromGit root3nl SupportApp) From cad509accd23e8d725b60e843fe373fe041f4832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Mon, 17 May 2021 13:08:48 +0200 Subject: [PATCH 022/100] Force install improvements If using INSTALL=force, the script will not be using updateTool, but will reinstall instead. microsoftteams label was still having appNewVersion that does not work, so that has been commented out. --- Installomator.sh | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 4aabbc8..0eb87c2 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -3010,7 +3010,7 @@ microsoftteams) type="pkg" #packageID="com.microsoft.teams" downloadURL="https://go.microsoft.com/fwlink/?linkid=869428" - appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.teams.standalone"]/version' 2>/dev/null | sed -E 's/([0-9.]*) .*/\1/') + #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.teams.standalone"]/version' 2>/dev/null | sed -E 's/([0-9.]*) .*/\1/') # Still using macadmin.software for version, as the path does not contain the version in a matching format. packageID can be used, but version is the same. expectedTeamID="UBF8T346G9" blockingProcesses=( Teams "Microsoft Teams Helper" ) @@ -3202,23 +3202,9 @@ if ! cd "$tmpDir"; then cleanupAndExit 1 fi -# MARK: check if this is an Update and we can use updateTool +# MARK: get installed version getAppVersion printlog "appversion: $appversion" -if [[ (-n $appversion && -n "$updateTool") || "$type" == "updateronly" ]]; then - printlog "appversion & updateTool" - if [[ $DEBUG -eq 0 ]]; then - if runUpdateTool; then - finishing - cleanupAndExit 0 - elif [[ $type == "updateronly" ]];then - printlog "type is $type so we end here." - cleanupAndExit 0 - fi # otherwise continue - else - printlog "DEBUG mode enabled, not running update tool" - fi -fi # MARK: Exit if new version is the same as installed version (appNewVersion specified) # credit: Søren Theilgaard (@theilgaard) @@ -3235,7 +3221,8 @@ if [[ -n $appNewVersion ]]; then fi cleanupAndExit 0 "No newer version." else - printlog "Using force to install anyway." + printlog "Using force to install anyway. Not using updateTool." + updateTool="" fi else printlog "DEBUG mode enabled, not exiting, but there is no new version of app." @@ -3243,6 +3230,26 @@ if [[ -n $appNewVersion ]]; then fi else printlog "Latest version not specified." + if [[ $INSTALL == "force" ]]; then + printlog "Using force to install, so not using updateTool." + updateTool="" + fi +fi + +# MARK: check if this is an Update and we can use updateTool +if [[ (-n $appversion && -n "$updateTool") || "$type" == "updateronly" ]]; then + printlog "appversion & updateTool" + if [[ $DEBUG -eq 0 ]]; then + if runUpdateTool; then + finishing + cleanupAndExit 0 + elif [[ $type == "updateronly" ]];then + printlog "type is $type so we end here." + cleanupAndExit 0 + fi # otherwise continue + else + printlog "DEBUG mode enabled, not running update tool" + fi fi # MARK: download the archive From 631c7c2b91d7a0778987c9789d502c9a4cd3a1a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Mon, 17 May 2021 13:48:44 +0200 Subject: [PATCH 023/100] wireshark missing space Probably cosmetic, but added a space character in `awk` part of `appNewVersion`. --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index e33228d..0642603 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2636,7 +2636,7 @@ wireshark) name="Wireshark" type="dmg" downloadURL="https://1.as.dl.wireshark.org/osx/Wireshark%20Latest%20Intel%2064.dmg" - appNewVersion=$(curl -fs https://www.wireshark.org/download.html | grep "Stable Release" | grep -o "(.*.)" | cut -f2 | head -1 | awk -F'[()]' '{print $2}') + appNewVersion=$(curl -fs https://www.wireshark.org/download.html | grep "Stable Release" | grep -o "(.*.)" | cut -f2 | head -1 | awk -F '[()]' '{print $2}') expectedTeamID="7Z6EMTD2C6" ;; xink) From 438214a5ecf9ecfa9dcce74889a71b1f7497d40d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Mon, 17 May 2021 14:07:10 +0200 Subject: [PATCH 024/100] wwdc label New label --- Installomator.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 0642603..c08d85d 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2639,6 +2639,14 @@ wireshark) appNewVersion=$(curl -fs https://www.wireshark.org/download.html | grep "Stable Release" | grep -o "(.*.)" | cut -f2 | head -1 | awk -F '[()]' '{print $2}') expectedTeamID="7Z6EMTD2C6" ;; +wwdc) + # credit: Søren Theilgaard (@theilgaard) + name="WWDC" + type="dmg" + downloadURL=$(downloadURLFromGit insidegui WWDC) + appNewVersion=$(versionFromGit insidegui WWDC) + expectedTeamID="8C7439RJLG" + ;; xink) name="Xink" type="zip" From b17f1550b2be5c97028e7624e08fe40ee7379244 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Mon, 17 May 2021 14:45:03 +0200 Subject: [PATCH 025/100] Update Labels.txt --- Labels.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Labels.txt b/Labels.txt index da6bf23..8725ca3 100644 --- a/Labels.txt +++ b/Labels.txt @@ -14,6 +14,10 @@ amazonworkspaces androidfiletransfer apparency appcleaner +applenyfonts +applesfcompact +applesfmono +applesfpro aquaskk atom autodmg @@ -36,6 +40,7 @@ camostudio camtasia citrixworkspace clevershare2 +clickshare code42 coderunner cormorant @@ -218,6 +223,7 @@ sonoss2 sourcetree spotify sublimetext +supportapp suspiciouspackage swiftruntimeforcommandlinetools tableaureader @@ -232,11 +238,11 @@ thunderbird tigervnc toggltrack torbrowser +trex tunnelbear tunnelblick umbrellaroamingclient universaltypeclient -universaltypeclient vagrant vanilla veracrypt @@ -253,6 +259,7 @@ whatsapp wickrme wickrpro wireshark +wwdc xeroxphaser7800 xink yubikeymanagerqt From b0dd72c9dd2e07b0cc66543697c2cf4fc7e59edc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Mon, 17 May 2021 16:29:20 +0200 Subject: [PATCH 026/100] firefox intl 2 new labels that should figure out the language used by the user, and then install the Firefox version with that language. --- Installomator.sh | 36 ++++++++++++++++++++++++++++++++++++ Labels.txt | 7 ++----- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index c08d85d..7032c1c 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1355,11 +1355,47 @@ firefox_da) expectedTeamID="43AQ936H96" blockingProcesses=( firefox ) ;; +firefox_intl) + name="Firefox" + type="dmg" + userLanguage=$(runAsUser defaults read .GlobalPreferences AppleLocale | cut -c 1-2) + printlog "Found language $userLanguage to be used for Firefox." + if [[ "$userLanguage" == "en" ]]; then + userLanguage="en_US" + fi + downloadURL="https://download.mozilla.org/?product=firefox-latest&os=osx&lang=$userLanguage" + if ! curl -sfL --output /dev/null -r 0-0 "$downloadURL" ; then + 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 ' Date: Mon, 17 May 2021 16:33:49 +0200 Subject: [PATCH 027/100] Update Installomator.sh --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 7032c1c..c081524 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1383,7 +1383,7 @@ firefoxesrpkg) ;; firefoxesr_intl) name="Firefox" - type="pkg" + type="dmg" userLanguage=$(runAsUser defaults read .GlobalPreferences AppleLocale | cut -c 1-2) printlog "Found language $userLanguage to be used for Firefox." if [[ "$userLanguage" == "en" ]]; then From 8accb60ab2d1552ea41c8e63a95e5c399e5e325c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Tue, 18 May 2021 20:14:29 +0200 Subject: [PATCH 028/100] firefox intl version fixes --- Installomator.sh | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index c081524..6450407 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1358,11 +1358,15 @@ firefox_da) firefox_intl) name="Firefox" type="dmg" - userLanguage=$(runAsUser defaults read .GlobalPreferences AppleLocale | cut -c 1-2) + userLanguage=$(runAsUser defaults read .GlobalPreferences AppleLocale) printlog "Found language $userLanguage to be used for Firefox." - if [[ "$userLanguage" == "en" ]]; then - userLanguage="en_US" + if ! curl -fs "https://ftp.mozilla.org/pub/firefox/releases/latest/README.txt" | grep -o "=$userLanguage"; then + userLanguage=$(echo $userLanguage | cut -c 1-2) + if ! curl -fs "https://ftp.mozilla.org/pub/firefox/releases/latest/README.txt" | grep "=$userLanguage"; then + userLanguage="en_US" + fi fi + printlog "Using language $userLanguage for download." downloadURL="https://download.mozilla.org/?product=firefox-latest&os=osx&lang=$userLanguage" if ! curl -sfL --output /dev/null -r 0-0 "$downloadURL" ; then printlog "Download not found for that language. Using en-US" @@ -1384,11 +1388,15 @@ firefoxesrpkg) firefoxesr_intl) name="Firefox" type="dmg" - userLanguage=$(runAsUser defaults read .GlobalPreferences AppleLocale | cut -c 1-2) + userLanguage=$(runAsUser defaults read .GlobalPreferences AppleLocale) printlog "Found language $userLanguage to be used for Firefox." - if [[ "$userLanguage" == "en" ]]; then - userLanguage="en_US" + if ! curl -fs "https://ftp.mozilla.org/pub/firefox/releases/latest-esr/README.txt" | grep -o "=$userLanguage"; then + userLanguage=$(echo $userLanguage | cut -c 1-2) + if ! curl -fs "https://ftp.mozilla.org/pub/firefox/releases/latest-esr/README.txt" | grep "=$userLanguage"; then + userLanguage="en_US" + fi fi + printlog "Using language $userLanguage for download." downloadURL="https://download.mozilla.org/?product=firefox-esr-latest-ssl&os=osx&lang=$userLanguage" # https://download.mozilla.org/?product=firefox-esr-latest-ssl&os=osx&lang=en-US if ! curl -sfL --output /dev/null -r 0-0 "$downloadURL" ; then From 88bcc87fd73dad34932a3dcd999c21ad9183ee68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Tue, 18 May 2021 20:57:27 +0200 Subject: [PATCH 029/100] Firefox intl explained --- Installomator.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 6450407..399a7c5 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1356,6 +1356,8 @@ firefox_da) blockingProcesses=( firefox ) ;; firefox_intl) + # This label will try to figure out the selected language of the user, + # and install corrosponding version of Firefox name="Firefox" type="dmg" userLanguage=$(runAsUser defaults read .GlobalPreferences AppleLocale) @@ -1386,6 +1388,8 @@ firefoxesrpkg) blockingProcesses=( firefox ) ;; firefoxesr_intl) + # This label will try to figure out the selected language of the user, + # and install corrosponding version of Firefox ESR name="Firefox" type="dmg" userLanguage=$(runAsUser defaults read .GlobalPreferences AppleLocale) From dace516318d61ebb700e642fe7b27f39929ab741 Mon Sep 17 00:00:00 2001 From: Elena Ackley <62074891+elenaelago@users.noreply.github.com> Date: Tue, 18 May 2021 17:40:25 -0400 Subject: [PATCH 030/100] drift --- Installomator.sh | 7 +++++++ Labels.txt | 1 + 2 files changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 3a03c8e..7ee0833 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1267,6 +1267,13 @@ docker) appNewVersion=$(curl -ifs https://docs.docker.com/docker-for-mac/release-notes/ | grep ">Docker Desktop Community" | head -1 | sed -n -e 's/^.*Community //p' | cut -d '<' -f1) expectedTeamID="9BNSXJN65R" ;; +drift) + # credit Elena Ackley (@elenaelago) + name="Drift" + type="dmg" + downloadURL="https://drift-prod-desktop-installers.s3.amazonaws.com/mac/Drift-latest.dmg" + expectedTeamID="78559WUUR9" + ;; dropbox) name="Dropbox" type="dmg" diff --git a/Labels.txt b/Labels.txt index da6bf23..4c5a6f9 100644 --- a/Labels.txt +++ b/Labels.txt @@ -52,6 +52,7 @@ devonthink dialpad discord docker +drift dropbox easeusdatarecoverywizard egnyte From 5f264ca86838e73afd3f03950150cb12b128a869 Mon Sep 17 00:00:00 2001 From: John Hutchison Date: Wed, 19 May 2021 09:26:54 -0400 Subject: [PATCH 031/100] Added Label for Proxyman --- Labels.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Labels.txt b/Labels.txt index 2b822de..157bdfb 100644 --- a/Labels.txt +++ b/Labels.txt @@ -184,6 +184,7 @@ prism9 privileges proctortrack promiseutilityr +proxyman pycharmce pymol r From 55cd237b980725f7fb6657066128579857f13ec7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 20 May 2021 11:46:50 +0200 Subject: [PATCH 032/100] theunarchiver label --- Installomator.sh | 8 ++++++++ Labels.txt | 1 + 2 files changed, 9 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 399a7c5..51e160b 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2481,6 +2481,14 @@ textmate) appNewVersion=$(versionFromGit "textmate" "textmate") expectedTeamID="45TL96F76G" ;; +theunarchiver) + name="The Unarchiver" + type="dmg" + downloadURL="https://dl.devmate.com/com.macpaw.site.theunarchiver/TheUnarchiver.dmg" + #appNewVersion="" + expectedTeamID="S8EX82NJP6" + appName="The Unarchiver.app" + ;; things) name="Things" type="zip" diff --git a/Labels.txt b/Labels.txt index ecc8973..e4fb8e1 100644 --- a/Labels.txt +++ b/Labels.txt @@ -230,6 +230,7 @@ teamviewerhost teamviewerqs telegram textmate +theunarchiver things thunderbird tigervnc From 088b4aab2f8b38cc8eec333c89965ae8b1b2db25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 20 May 2021 13:47:13 +0200 Subject: [PATCH 033/100] Incorrect version in camostudio Thanks for find the URL with release-notes, but the original version returned had too much content. Current version is only 1.3.4, not "1.3.4.4648". But in the little square on the right side above the download link is the version, so I took that. --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 5c25ca9..6349abf 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1143,7 +1143,7 @@ camostudio) 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 "title is-5" | tail -n1 | grep -o -e "name=.*\"" | awk -F '=' '{print $2}' | sed 's/\"//g') + 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) expectedTeamID="Q248YREB53" ;; camtasia) From 368be676a879c420687a691e329ab9e4e1cf3a7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 20 May 2021 14:03:49 +0200 Subject: [PATCH 034/100] Update Installomator.sh --- Installomator.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index a960e1d..742dbee 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2140,12 +2140,12 @@ promiseutilityr) #Company="Promise" ;; proxyman) - name="Proxyman" - type="dmg" - downloadURL="https://proxyman.io/release/osx/Proxyman_latest.dmg" - expectedTeamID="3X57WP8E8V" - appNewVersion=$(curl -s -L https://github.com/ProxymanApp/Proxyman | grep -o 'releases/tag/.*\>' | awk -F '/' '{print $3}') - ;; + name="Proxyman" + type="dmg" + downloadURL="https://proxyman.io/release/osx/Proxyman_latest.dmg" + expectedTeamID="3X57WP8E8V" + appNewVersion=$(curl -s -L https://github.com/ProxymanApp/Proxyman | grep -o 'releases/tag/.*\>' | awk -F '/' '{print $3}') + ;; pymol) name="PyMOL" type="dmg" From ff72445dd46e22484fd6b48feec6df458bf7a819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 20 May 2021 16:14:46 +0200 Subject: [PATCH 035/100] arq7 --- Installomator.sh | 8 ++++++++ Labels.txt | 1 + 2 files changed, 9 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 3bc9223..e63b8d6 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1012,6 +1012,14 @@ aquaskk) #Company="Code First" #PatchSkip="YES" ;; +arq7) + name="Arq7" + type="pkg" + packageID="com.haystacksoftware.Arq" + downloadURL="https://arqbackup.com/download/arqbackup/Arq7.pkg" + appNewVersion="$(curl -fs "https://arqbackup.com" | grep -io "version .*[0-9.]*.* for macOS" | cut -d ">" -f2 | cut -d "<" -f1)" + expectedTeamID="48ZCSDVL96" + ;; atom) name="Atom" type="zip" diff --git a/Labels.txt b/Labels.txt index 5831cb9..8955d9e 100644 --- a/Labels.txt +++ b/Labels.txt @@ -19,6 +19,7 @@ applesfcompact applesfmono applesfpro aquaskk +arq7 atom autodmg autopkgr From 50498895b22c59a55ac7d18e11849e82df820f1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 20 May 2021 21:05:51 +0200 Subject: [PATCH 036/100] bluejeans --- Installomator.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index ef63daa..9908811 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1123,7 +1123,11 @@ blender) bluejeans) name="BlueJeans" type="pkg" - downloadURL=$(curl -fs "https://www.bluejeans.com/downloads" | xmllint --html --format - 2>/dev/null | grep -o "https://.*BlueJeansInstaller.dmg" | sed 's/dmg/pkg/g') + if [[ $(arch) == "arm64" ]]; then + downloadURL=$(curl -fs "https://www.bluejeans.com/downloads" | xmllint --html --format - 2>/dev/null | grep -o "https://.*BlueJeansInstaller.*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 appNewVersion=$(echo $downloadURL | cut -d '/' -f6) expectedTeamID="HE4P42JBGN" #Company="Verizon" From 92db29a5d01582140d3b8ad2ddf47fb6756be630 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 21 May 2021 15:26:20 +0200 Subject: [PATCH 037/100] sublimetext --- Installomator.sh | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index a272a96..ec46fc4 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2489,12 +2489,11 @@ spotify) expectedTeamID="2FNC3A47ZF" ;; sublimetext) - # credit: Mischa van der Bent (@mischavdbent) + # credit: Søren Theilgaard (@theilgaard) name="Sublime Text" - type="dmg" - downloadURL="https://download.sublimetext.com/latest/stable/osx" - appNewVersion=$(curl -fs https://www.sublimetext.com/3 | grep 'class="latest"' | cut -d '>' -f 4 | sed -E 's/ (.*[0-9]*)<.*/\1/g') - #appNewVersion=$(curl -Is https://download.sublimetext.com/latest/stable/osx | grep "Location:" | sed -n -e 's/^.*Sublime Text //p' | sed 's/.dmg//g' | sed $'s/[^[:print:]\t]//g') # Alternative from @Oh4sh0 + type="zip" + downloadURL="$(curl -fs https://www.sublimetext.com/download | grep -io "https://download.*_mac.zip")" + appNewVersion=$(curl -fs https://www.sublimetext.com/download | grep -i -A 4 "id.*changelog" | grep -io "Build [0-9]*") expectedTeamID="Z6D26JE4Y4" ;; supportapp) From 8b32bb2e668347cd37b2461754d3f4095295c4ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+midni9ht@users.noreply.github.com> Date: Fri, 21 May 2021 15:37:13 +0200 Subject: [PATCH 038/100] Added AlDente Added label for 'aldente' --- Installomator.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index ec46fc4..dae4365 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2910,6 +2910,15 @@ zulujdk15) # MARK: Add new labels after this line (let us sort them in the list) +aldente) + # credit: Adrian Bühler (@midni9ht) + name="AlDente" + type="zip" + downloadURL=$(downloadURLFromGit davidwernhart AlDente) + appNewVersion=$(versionFromGit davidwernhart AlDente) + expectedTeamID="3WVC84GB99" + blockingProcesses=( zoom.us ) + ;; # MARK: add new labels above here From dddcd2201544fa13e7ceaa1294962fac8910c848 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+midni9ht@users.noreply.github.com> Date: Fri, 21 May 2021 15:38:39 +0200 Subject: [PATCH 039/100] Added 'aldente' to Labels.txt --- Labels.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Labels.txt b/Labels.txt index 8e0aa6d..0c8341b 100644 --- a/Labels.txt +++ b/Labels.txt @@ -8,6 +8,7 @@ adobereaderdc-install adobereaderdc-update aircall airserver +aldente alfred amazonchime amazonworkspaces From 6e0fef436b31acd309209b5d92d0fa116abe0ff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+midni9ht@users.noreply.github.com> Date: Fri, 21 May 2021 15:41:19 +0200 Subject: [PATCH 040/100] Added 'AlDente' Added label for 'aldente' --- Installomator.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index dae4365..e791637 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2917,7 +2917,6 @@ aldente) downloadURL=$(downloadURLFromGit davidwernhart AlDente) appNewVersion=$(versionFromGit davidwernhart AlDente) expectedTeamID="3WVC84GB99" - blockingProcesses=( zoom.us ) ;; # MARK: add new labels above here From a5469d57d5065f8783a477084424051bb9492aec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+midni9ht@users.noreply.github.com> Date: Tue, 25 May 2021 14:25:59 +0200 Subject: [PATCH 041/100] Added 'appNewVersion' to 'element' Added version checking via GitHub to 'element' --- Installomator.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Installomator.sh b/Installomator.sh index ec46fc4..e43941b 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1365,6 +1365,7 @@ element) name="Element" type="dmg" downloadURL="https://packages.riot.im/desktop/install/macos/Element.dmg" + appNewVersion=$(versionFromGit vector-im element-desktop) expectedTeamID="7J4U792NQT" ;; eraseinstall) From 6b4a06e63585fc92aeff6d21a538af35216e22fa Mon Sep 17 00:00:00 2001 From: Elena Ackley <62074891+elenaelago@users.noreply.github.com> Date: Tue, 25 May 2021 15:50:07 -0400 Subject: [PATCH 042/100] techsmithcapture [TechSmith Capture](https://www.techsmith.com/jing-tool.html) is a simple, free way to capture basic screenshots and screen recordings and share them with others. --- Installomator.sh | 7 +++++++ Labels.txt | 1 + 2 files changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 3a03c8e..517c8d6 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2409,6 +2409,13 @@ teamviewerqs) appName="TeamViewerQS.app" expectedTeamID="H7UGFBUGV6" ;; +techsmithcapture) + # credit Elena Ackley (@elenaelago) + name="TechSmith Capture" + type="dmg" + downloadURL="https://cdn.cloud.techsmith.com/techsmithcapture/mac/TechSmithCapture.dmg" + expectedTeamID="7TQL462TU8" + ;; telegram) name="Telegram" type="dmg" diff --git a/Labels.txt b/Labels.txt index da6bf23..90b342d 100644 --- a/Labels.txt +++ b/Labels.txt @@ -225,6 +225,7 @@ taskpaper teamviewer teamviewerhost teamviewerqs +techsmithcapture telegram textmate things From e70df5593a4754010fe0b8fdeafc79e67a9c4c20 Mon Sep 17 00:00:00 2001 From: Elena Ackley <62074891+elenaelago@users.noreply.github.com> Date: Tue, 25 May 2021 15:50:07 -0400 Subject: [PATCH 043/100] techsmithcapture TechSmith Capture is a simple, free way to capture basic screenshots and screen recordings and share them with others. --- Installomator.sh | 7 +++++++ Labels.txt | 1 + 2 files changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 3a03c8e..517c8d6 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2409,6 +2409,13 @@ teamviewerqs) appName="TeamViewerQS.app" expectedTeamID="H7UGFBUGV6" ;; +techsmithcapture) + # credit Elena Ackley (@elenaelago) + name="TechSmith Capture" + type="dmg" + downloadURL="https://cdn.cloud.techsmith.com/techsmithcapture/mac/TechSmithCapture.dmg" + expectedTeamID="7TQL462TU8" + ;; telegram) name="Telegram" type="dmg" diff --git a/Labels.txt b/Labels.txt index da6bf23..90b342d 100644 --- a/Labels.txt +++ b/Labels.txt @@ -225,6 +225,7 @@ taskpaper teamviewer teamviewerhost teamviewerqs +techsmithcapture telegram textmate things From 05635a76dfb6d07948e254a76ac8fdbbbddde95a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Wed, 26 May 2021 09:37:15 +0200 Subject: [PATCH 044/100] Bit of cleaning up New label clickshare --- Installomator.sh | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index ec46fc4..579f7c8 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1205,6 +1205,13 @@ clevershare2) appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z-]*_Mac\.([0-9.]*)\.[0-9]*\.dmg$/\1/g' ) expectedTeamID="P76M9BE8DQ" ;; +clickshare) + # credit: Søren Theilgaard (@theilgaard) + name="ClickShare" + type="appInDmgInZip" + downloadURL=https://www.barco.com$(curl -fs "https://www.barco.com/en/clickshare/app" | grep -E -o '(\/\S*Download\?FileNumber=R3306192\S*ShowDownloadPage=False)' | tail -1) + expectedTeamID="P6CDJZR997" + ;; code42) # credit: Isaac Ordonez, Mann consulting (@mannconsulting) name="Code42" @@ -1704,8 +1711,7 @@ inkscape) #appNewVersion=$(curl -fsJL https://inkscape.org/release/ | grep "

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)" expectedTeamID="SW3D6BB6A6" ;; -installomator_theile|\ -installomator_st) +installomator_theile) # credit: Søren Theilgaard (@theilgaard) name="Installomator" type="pkg" @@ -1713,7 +1719,7 @@ installomator_st) downloadURL=$(downloadURLFromGit theile Installomator ) appNewVersion=$(versionFromGit theile Installomator ) #appCustomVersion(){/usr/local/bin/Installomator.sh version | tail -1 | awk '{print $4}'} - expectedTeamID="L8W73B6AH3" + expectedTeamID="FXW6QXBFW5" blockingProcesses=( NONE ) ;; istatmenus) @@ -2654,13 +2660,6 @@ umbrellaroamingclient) downloadURL=https://disthost.umbrella.com/roaming/upgrade/mac/production/$( curl -fsL https://disthost.umbrella.com/roaming/upgrade/mac/production/manifest.json | awk -F '"' '/"downloadFilename"/ { print $4 }' ) expectedTeamID="7P7HQ8H646" ;; -universaltypeclient) - name="Universal Type Client" - type="pkgInZip" - downloadURL=https://bin.extensis.com/$( curl -fs https://www.extensis.com/support/universal-type-server-7/ | grep -o "UTC-[0-9].*M.zip" ) - expectedTeamID="J6MMHGD9D6" - Company="Extensis" - ;; universaltypeclient) name="Universal Type Client" type="pkgInZip" @@ -2911,7 +2910,7 @@ zulujdk15) # MARK: Add new labels after this line (let us sort them in the list) -# MARK: add new labels above here +# MARK: Add new labels above here #cdef) # # cdef currently not signed @@ -2990,14 +2989,6 @@ zulujdk15) # expectedTeamID="" # ;; -#wwdcformac) -# this label looks like software/site is gone -# name="WWDC" -# type="zip" -# downloadURL="https://cdn.wwdc.io/WWDC_latest.zip" -# expectedTeamID="8C7439RJLG" -# ;; - # MARK: Microsoft @@ -3181,9 +3172,9 @@ microsoftteams) # Still using macadmin.software for version, as the path does not contain the version in a matching format. packageID can be used, but version is the same. 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" - #updateToolArguments=( --install --apps TEAM01 ) + # 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" + # updateToolArguments=( --install --apps TEAM01 ) ;; microsoftvisualstudiocode|\ visualstudiocode) From 31c18118ac68920e2772022d12d2ab5cef3f4f01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Wed, 26 May 2021 09:41:30 +0200 Subject: [PATCH 045/100] quit & quit_kill Should be great for certain service apps, that we want to kill politely. Before use it should be checked it will not respawn automatically. --- Installomator.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 579f7c8..49de03c 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -34,6 +34,9 @@ NOTIFY=success BLOCKING_PROCESS_ACTION=prompt_user # options: # - ignore continue even when blocking processes are found +# - quit app will be told to quit nicely, if running +# - quit_kill told to quit twice, then it will be killed +# Could be great for service apps, if they do not respawn # - silent_fail exit script without prompt or installation # - prompt_user show a user dialog for each blocking process found # abort after three attempts to quit @@ -379,6 +382,18 @@ checkRunningProcesses() { appClosed=1 case $BLOCKING_PROCESS_ACTION in + quit|quit_kill) + printlog "telling app $x to quit" + runAsUser osascript -e "tell app \"$x\" to quit" + if [[ $i > 2 && $BLOCKING_PROCESS_ACTION = "quit_kill" ]]; then + printlog "Changing BLOCKING_PROCESS_ACTION to kill" + BLOCKING_PROCESS_ACTION=kill + else + # give the user a bit of time to quit apps + printlog "waiting 30 seconds for processes to quit" + sleep 30 + fi + ;; kill) printlog "killing process $x" pkill $x From 61324e7afc25120472c328dfb80b47a53deb5126 Mon Sep 17 00:00:00 2001 From: Adam Codega Date: Wed, 9 Jun 2021 10:52:40 -0400 Subject: [PATCH 046/100] Update README.md Corrected use of Macadmins.org name and incorrect URL. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e8b7e64..98ac02b 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ I have put a lot of work into making it stable and safe, but I cannot - of cours ## Support and Contributing -Discussion, support and advice around Installomator happens in the `#installomator` channel in the [MacAdmins Slack](https:/macadmins.org). Go there for support questions. +Discussion, support and advice around Installomator happens in the `#installomator` channel in the [MacAdmins.org Slack](https://macadmins.org). Go there for support questions. Do not create an issue just when you have a questions, but do file an issue or pull request for bugs or wrong behavior. When in doubt, ask in the above Slack channel. From f2921ec7e7d71b5f7945e5812d2270a9ac9f0ce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 11 Jun 2021 09:21:48 +0200 Subject: [PATCH 047/100] label githubdesktop Now for arm and intel versions --- Installomator.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 579f7c8..34ecb54 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1522,7 +1522,11 @@ gimp) githubdesktop) name="GitHub Desktop" type="zip" - downloadURL="https://central.github.com/deployments/desktop/desktop/latest/darwin" + if [[ $(arch) == "arm64" ]]; then + downloadURL="https://central.github.com/deployments/desktop/desktop/latest/darwin-arm64" + elif [[ $(arch) == "i386" ]]; then + downloadURL="https://central.github.com/deployments/desktop/desktop/latest/darwin" + fi appNewVersion=$(curl -fsL https://central.github.com/deployments/desktop/desktop/changelog.json | awk -F '{' '/"version"/ { print $2 }' | sed -E 's/.*,\"version\":\"([0-9.]*)\".*/\1/g') expectedTeamID="VEKTX9H2N7" ;; From 78bbdddf7970a7e6fe7fb94d05ba97d3fb210792 Mon Sep 17 00:00:00 2001 From: Adam Codega Date: Tue, 15 Jun 2021 15:00:51 -0400 Subject: [PATCH 048/100] Removal of variables related to Jamf Patch Management Variables PatchSkip and others had been added for some potential Jamf Patch Management integration that's been abandoned. --- Installomator.sh | 55 ------------------------------------------------ 1 file changed, 55 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 34ecb54..5af1a26 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -848,7 +848,6 @@ longversion) expectedTeamID="2BUA8C4S2C" blockingProcesses=( "1Password Extension Helper" "1Password 7" "1Password (Safari)" "1PasswordNativeMessageHost" "1PasswordSafariAppExtension" ) #forcefulQuit=YES - #Company="Agilebits" ;; 8x8) # credit: #D-A-James from MacAdmins Slack and Isaac Ordonez, Mann consulting (@mannconsulting) @@ -858,7 +857,6 @@ longversion) # As for appNewVersion, it needs to be checked for newer version than 7.2.4 appNewVersion=$(curl -fs -L https://support.8x8.com/cloud-phone-service/voice/work-desktop/download-8x8-work-for-desktop | grep -m 1 -o "https.*dmg" | sed 's/\"//' | awk '{print $1}' | sed -E 's/.*-v([0-9\.]*)[-\.]*.*/\1/' ) expectedTeamID="FC967L3QRG" - #Company="8x8" ;; abstract) name="Abstract" @@ -866,7 +864,6 @@ abstract) downloadURL="https://api.goabstract.com/releases/latest/download" appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' ) expectedTeamID="77MZLZE47D" - #Company="Elastic Projects, Inc" ;; adobebrackets) # credit: Adrian Bühler (@midni9ht) @@ -896,9 +893,6 @@ adobereaderdc-install) #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) expectedTeamID="JQ525L2MZD" blockingProcesses=( "AdobeReader" ) - #Company="Adobe" - #PatchName="AcrobatReader" - #PatchSkip="YES" ;; adobereaderdc-update) name="Adobe Acrobat Reader DC" @@ -923,7 +917,6 @@ airserver) downloadURL="https://www.airserver.com/download/mac/latest" #appNewVersion=$() # Cannot find version history or release notes on home page expectedTeamID="6C755KS5W3" - #Company="App Dynamic ehf" ;; alfred) # credit: AP Orlebeke (@apizz) @@ -933,7 +926,6 @@ alfred) appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*Alfred_([0-9.]*)_.*/\1/') appName="Alfred 4.app" expectedTeamID="XZZXE9SED4" - #Company="Running with Crayons Ltd" ;; amazonchime) # credit: @dvsjr macadmins slack @@ -942,7 +934,6 @@ amazonchime) downloadURL="https://clients.chime.aws/mac/latest" appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/[a-zA-Z.\-]*-([0-9.]*)\..*/\1/g' ) expectedTeamID="94KV3E626L" - #Company="Amazon" ;; amazonworkspaces) # credit: Isaac Ordonez, Mann consulting (@mannconsulting) @@ -964,7 +955,6 @@ apparency) type="dmg" downloadURL="https://www.mothersruin.com/software/downloads/Apparency.dmg" expectedTeamID="936EB786NH" - #Company="Mother's Ruin Graphics" ;; appcleaner) # credit: Tadayuki Onishi (@kenchan0130) @@ -972,7 +962,6 @@ appcleaner) type="zip" downloadURL=$(curl -fs https://freemacsoft.net/appcleaner/Updates.xml | xpath '//rss/channel/*/enclosure/@url' 2>/dev/null | tr " " "\n" | sort | tail -1 | cut -d '"' -f 2) expectedTeamID="X85ZX835W9" - #Company=FreeMacSoft ;; applenyfonts) name="Apple New York Font Collection" @@ -1009,8 +998,6 @@ aquaskk) downloadURL=$(downloadURLFromGit codefirst aquaskk) appNewVersion=$(versionFromGit codefirst aquaskk) expectedTeamID="FPZK4WRGW7" - #Company="Code First" - #PatchSkip="YES" ;; arq7) name="Arq7" @@ -1027,7 +1014,6 @@ atom) downloadURL=$(downloadURLFromGit atom atom ) appNewVersion=$(versionFromGit atom atom) expectedTeamID="VEKTX9H2N7" - #Company=GitHub ;; autodmg) # credit: Mischa van der Bent (@mischavdbent) @@ -1036,7 +1022,6 @@ autodmg) downloadURL=$(downloadURLFromGit MagerValp AutoDMG) appNewVersion=$(versionFromGit MagerValp AutoDMG) expectedTeamID="5KQ3D3FG5H" - #Company=MagerValp ;; autopkgr) # credit: Søren Theilgaard (@theilgaard) @@ -1046,7 +1031,6 @@ autopkgr) downloadURL=$(downloadURLFromGit lindegroup autopkgr) appNewVersion=$(versionFromGit lindegroup autopkgr) expectedTeamID="JVY2ZR6SEF" - #Company="Linde Group" ;; aviatrix) # credit: Isaac Ordonez, Mann consulting (@mannconsulting) @@ -1054,7 +1038,6 @@ aviatrix) type="pkg" downloadURL="https://s3-us-west-2.amazonaws.com/aviatrix-download/AviatrixVPNClient/AVPNC_mac.pkg" expectedTeamID="32953Z7NBN" - #Company=Aviatrix ;; awscli2) # credit: Bilal Habib (@Pro4TLZZ) @@ -1071,7 +1054,6 @@ awsvpnclient) downloadURL="https://d20adtppz83p9s.cloudfront.net/OSX/latest/AWS_VPN_Client.pkg" expectedTeamID="94KV3E626L" appNewVersion=$(curl -is "https://beta2.communitypatch.com/jamf/v1/ba1efae22ae74a9eb4e915c31fef5dd2/patch/AWSVPNClient" | grep currentVersion | tr ',' '\n' | grep currentVersion | cut -d '"' -f 4) - #Company=Amazon ;; balenaetcher) # credit: Adrian Bühler (@midni9ht) @@ -1080,7 +1062,6 @@ balenaetcher) downloadURL=$(downloadURLFromGit balena-io etcher ) appNewVersion=$(versionFromGit balena-io etcher ) expectedTeamID="66H43P8FRG" - #Company="Balena" ;; basecamp3) #credit: @matins @@ -1096,7 +1077,6 @@ bbedit) downloadURL=$(curl -s https://versioncheck.barebones.com/BBEdit.xml | grep dmg | sort | tail -n1 | cut -d">" -f2 | cut -d"<" -f1) appNewVersion=$(curl -s https://versioncheck.barebones.com/BBEdit.xml | grep dmg | sort | tail -n1 | sed -E 's/.*BBEdit_([0-9 .]*)\.dmg.*/\1/') expectedTeamID="W52GZAXT98" - #Company="Bare Bones Software" ;; bettertouchtool) # credit: Søren Theilgaard (@theilgaard) @@ -1130,7 +1110,6 @@ bluejeans) fi appNewVersion=$(echo $downloadURL | cut -d '/' -f6) expectedTeamID="HE4P42JBGN" - #Company="Verizon" ;; boxdrive) # credit: Isaac Ordonez, Mann consulting (@mannconsulting) @@ -1416,7 +1395,6 @@ figma) type="zip" downloadURL="https://www.figma.com/download/desktop/mac/" expectedTeamID="T8RA8NE3B7" - #Company="Figma" ;; firefox) name="Firefox" @@ -1517,7 +1495,6 @@ gimp) downloadURL=https://$(curl -fs https://www.gimp.org/downloads/ | grep -m 1 -o "download.*gimp-.*.dmg") appNewVersion=$(echo $downloadURL | cut -d "-" -f 2) expectedTeamID="T25BQ8HSJF" - #Company="GIMP" ;; githubdesktop) name="GitHub Desktop" @@ -1572,7 +1549,6 @@ googleearth) type="pkgInDmg" downloadURL="https://dl.google.com/earth/client/advanced/current/GoogleEarthProMac-Intel.dmg" expectedTeamID="EQHXZ8M8AV" - #Company="Google" ;; googledrive|\ googledrivefilestream) @@ -1589,8 +1565,6 @@ googledrivebackupandsync) type="dmg" downloadURL="https://dl.google.com/drive/InstallBackupAndSync.dmg" expectedTeamID="EQHXZ8M8AV" - #Company="Google" - #PatchSkip="YES" ;; googlejapaneseinput) # credit: Tadayuki Onishi (@kenchan0130) @@ -1756,8 +1730,6 @@ jamfconnect) packageID="com.jamf.connect" downloadURL="https://files.jamfconnect.com/JamfConnect.dmg" expectedTeamID="483DWKW443" - #Company="Jamf" - #PatchSkip="YES" ;; jamfmigrator) # credit: Mischa van der Bent @@ -1798,7 +1770,6 @@ intellijideace) downloadURL="https://download.jetbrains.com/product?code=IIC&latest&distribution=mac" appNewVersion=$(curl -fs "https://data.services.jetbrains.com/products/releases?code=IIC&latest=true&type=release" | grep -o 'version*.*,' | cut -d '"' -f3) expectedTeamID="2ZEFAR8TH3" - #Company="JetBrains" ;; jetbrainsphpstorm) # credit: Casey Jensen (@cajenson01 on MacAdmins Slack)Appended by Skylar Damiano @catdad on MacAdmins Slack @@ -1833,7 +1804,6 @@ pycharmce) downloadURL="https://download.jetbrains.com/product?code=PCC&latest&distribution=macM1" fi expectedTeamID="2ZEFAR8TH3" - #Company="JetBrains" ;; karabinerelements) # credit: Tadayuki Onishi (@kenchan0130) @@ -1993,7 +1963,6 @@ musescore) downloadURL=$(downloadURLFromGit musescore MuseScore) appNewVersion=$(versionFromGit musescore MuseScore) expectedTeamID="6EPAF2X3PR" - #Company="Musescore" ;; netnewswire) name="NetNewsWire" @@ -2223,7 +2192,6 @@ proctortrack) type="zip" downloadURL="https://storage.googleapis.com/verificientstatic/ProctortrackApp/Production/Proctortrack.zip" expectedTeamID="SNHZD6TJE6" - #Company="Verificient Technologies" ;; promiseutilityr) name="Promise Utility" @@ -2231,7 +2199,6 @@ promiseutilityr) packageID="com.promise.utilinstaller" downloadURL="https://www.promise.com/DownloadFile.aspx?DownloadFileUID=6533" expectedTeamID="268CCUR4WN" - #Company="Promise" ;; proxyman) name="Proxyman" @@ -2245,7 +2212,6 @@ pymol) type="dmg" downloadURL=$(curl -s -L "https://pymol.org/" | grep -m 1 -Eio 'href="https://pymol.org/installers/PyMOL-(.*)-MacOS(.*).dmg"' | cut -c7- | sed -e 's/"$//') expectedTeamID="26SDDJ756N" - #Company="Schrödinger, Inc." ;; r) # credit: Tadayuki Onishi (@kenchan0130) @@ -2297,8 +2263,6 @@ ricohpsprinters) packageID="com.RICOH.print.PS_Printers_Vol4_EXP.ppds.pkg" downloadURL=$(curl -fs https://support.ricoh.com//bb/html/dr_ut_e/rc3/model/mpc3004ex/mpc3004exen.htm | xmllint --html --format - 2>/dev/null | grep -m 1 -o "https://.*.dmg" | cut -d '"' -f 1) expectedTeamID="5KACUT3YX8" - #Company="Ricoh" - #PatchSkip="YES" ;; ringcentralapp) # credit: Isaac Ordonez, Mann consulting (@mannconsulting) @@ -2315,7 +2279,6 @@ ringcentralclassicapp) expectedTeamID="M932RC5J66" blockingProcesses=( "Glip" ) #blockingProcessesMaxCPU="5" - #Company="RingCentral" ;; ringcentralmeetings) # credit: Isaac Ordonez, Mann consulting (@mannconsulting) @@ -2332,7 +2295,6 @@ ringcentralphone) downloadURL="https://downloads.ringcentral.com/sp/RingCentralForMac" expectedTeamID="M932RC5J66" blockingProcesses=( "RingCentral Phone" ) - #Company="RingCentral" ;; rocket) name="Rocket" @@ -2361,7 +2323,6 @@ rstudio) 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' ) expectedTeamID="FYF2F5GFX4" - #Company="RStudio" ;; santa) # credit: Tadayuki Onishi (@kenchan0130) @@ -2398,7 +2359,6 @@ sidekick) downloadURL="https://api.meetsidekick.com/downloads/df/mac" appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/.*-x64-([0-9.]*)-.*/\1/g' ) expectedTeamID="N975558CUS" - #Company="PushPlayLabs Inc." ;; signal) # credit: Søren Theilgaard (@theilgaard) @@ -2439,7 +2399,6 @@ skype) appNewVersion=$(curl -is "https://get.skype.com/go/getskype-skypeformac" | grep ocation: | grep -o "Skype-.*dmg" | cut -d "-" -f 2 | cut -d "." -f1-2) expectedTeamID="AL798K98FX" Company="Microsoft" - PatchSkip="YES" ;; slack) name="Slack" @@ -2561,7 +2520,6 @@ teamviewerhost) appNewVersion=$(curl -fs "https://www.teamviewer.com/en/download/mac-os/" | grep "Current version" | cut -d " " -f3 | cut -d "<" -f1) expectedTeamID="H7UGFBUGV6" #blockingProcessesMaxCPU="5" # Future feature - #Company="TeamViewer GmbH" ;; teamviewerqs) # credit: Søren Theilgaard (@theilgaard) @@ -2670,7 +2628,6 @@ universaltypeclient) #packageID="com.extensis.UniversalTypeClient.universalTypeClient70.Info.pkg" # Does not contain the real version of the download downloadURL=https://bin.extensis.com/$( curl -fs https://www.extensis.com/support/universal-type-server-7/ | grep -o "UTC-[0-9].*M.zip" ) expectedTeamID="J6MMHGD9D6" - #Company="Extensis" ;; vagrant) # credit: AP Orlebeke (@apizz) @@ -2834,15 +2791,12 @@ xeroxphaser7800) type="pkgInDmg" downloadURL=$(curl -fs "https://www.support.xerox.com/en-us/product/phaser-7800/downloads?platform=macOSx11" | xmllint --html --format - 2>/dev/null | grep -o "https://.*XeroxDrivers.*.dmg") expectedTeamID="G59Y3XFNFR" - #Company=Xerox - #PatchSkip=YES ;; zappy) name="Zappy" type="appInDmgInZip" downloadURL="https://zappy.zapier.com/releases/zappy-latest.zip" expectedTeamID="6LS97Q5E79" - #Company="Zapier" ;; zoom) # credit: Isaac Ordonez, Mann consulting (@mannconsulting) @@ -2862,8 +2816,6 @@ zoomclient) #appNewVersion=$(curl -is "https://beta2.communitypatch.com/jamf/v1/ba1efae22ae74a9eb4e915c31fef5dd2/patch/zoom.us" | grep currentVersion | tr ',' '\n' | grep currentVersion | cut -d '"' -f 4) # Does not match packageID blockingProcesses=( zoom.us ) #blockingProcessesMaxCPU="5" - #Company="Zoom Inc." - #PatchSkip="YES" ;; zulujdk11) name="Zulu JDK 11" @@ -2877,8 +2829,6 @@ zulujdk11) expectedTeamID="TDTHCUPYFR" appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" } appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything - #Company="Azul" - #PatchSkip="YES" ;; zulujdk13) name="Zulu JDK 13" @@ -2892,8 +2842,6 @@ zulujdk13) expectedTeamID="TDTHCUPYFR" appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" } appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything - #Company="Azul" - #PatchSkip="YES" ;; zulujdk15) name="Zulu JDK 15" @@ -2907,8 +2855,6 @@ zulujdk15) expectedTeamID="TDTHCUPYFR" appCustomVersion(){ java -version 2>&1 | grep Runtime | awk '{print $4}' | sed -e "s/.*Zulu//" | cut -d '-' -f 1 | sed -e "s/+/\./" } appNewVersion=$(echo "$downloadURL" | cut -d "-" -f 1 | sed -e "s/.*zulu//") # Cannot be compared to anything - #Company="Azul" - #PatchSkip="YES" ;; # MARK: Add new labels after this line (let us sort them in the list) @@ -3072,7 +3018,6 @@ microsoftlicenseremovaltool) expectedTeamID="QGS93ZLCU7" appNewVersion=$(curl -is "$downloadURL" | grep ocation: | grep -o "Microsoft_.*pkg" | cut -d "_" -f 5 | cut -d "." -f1-2) Company="Microsoft" - PatchSkip="YES" ;; microsoftoffice365) name="MicrosoftOffice365" From 9b62d3f042d8c9807693bc6f93ff19e850f249c6 Mon Sep 17 00:00:00 2001 From: AP Orlebeke Date: Wed, 16 Jun 2021 12:58:41 -0400 Subject: [PATCH 049/100] Add XQuartz --- Installomator.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 5af1a26..b4c2e59 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2777,6 +2777,14 @@ xink) #appNewVersion=$() # Cannot find version history or release notes on home page expectedTeamID="F287823HVS" ;; +xquartz) + # credit: AP Orlebeke (@apizz) + name="XQuartz" + type="pkgInDmg" + downloadURL=$(downloadURLFromGit XQuartz XQuartz) + appNewVersion=$(versionFromGit XQuartz XQuartz) + expectedTeamID="NA574AWV7E" + ;; yubikeymanagerqt) # credit: Tadayuki Onishi (@kenchan0130) name="YubiKey Manager GUI" From b530eb1252c538941f535c86c9a506da3d2a7765 Mon Sep 17 00:00:00 2001 From: Adam Codega Date: Wed, 16 Jun 2021 17:33:43 -0400 Subject: [PATCH 050/100] Updated path for Mosyle Business Self-Service app App is now named Self-Service --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 5af1a26..4f77c53 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -3226,7 +3226,7 @@ case $LOGO in ;; mosyleb) # Mosyle Business - LOGO="/Applications/Business.app/Contents/Resources/AppIcon.icns" + LOGO="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns" ;; mosylem) # Mosyle Manager (education) From 59ca90759dbc9c49b41107363015c9a2afa83232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 18 Jun 2021 08:49:17 +0200 Subject: [PATCH 051/100] Evernote --- Installomator.sh | 8 ++++++++ Labels.txt | 1 + 2 files changed, 9 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 5af1a26..3b0df16 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1366,6 +1366,14 @@ etrecheck) downloadURL="https://cdn.etrecheck.com/EtreCheckPro.zip" expectedTeamID="U87NE528LC" ;; +evernote) + name="Evernote" + type="dmg" + downloadURL=$(curl -fs -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15)" "https://evernote.com/download" | grep -i ".dmg" | cut -d '"' -f2) + appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)-.*/\1/g' ) + expectedTeamID="Q79WDW8YH9" + appName="Evernote.app" + ;; exelbanstats) # credit: Søren Theilgaard (@theilgaard) name="Stats" diff --git a/Labels.txt b/Labels.txt index 8e0aa6d..239b005 100644 --- a/Labels.txt +++ b/Labels.txt @@ -64,6 +64,7 @@ egnyte element eraseinstall etrecheck +evernote exelbanstats fantastical ferdi From 63c2ac30bbc146ab499d2a1903958b33a11a9057 Mon Sep 17 00:00:00 2001 From: AP Orlebeke Date: Fri, 18 Jun 2021 14:08:32 -0400 Subject: [PATCH 052/100] Add Tableau Desktop --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 5af1a26..9a4ddfb 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2489,6 +2489,13 @@ swiftruntimeforcommandlinetools) downloadURL="https://updates.cdn-apple.com/2019/cert/061-41823-20191025-5efc5a59-d7dc-46d3-9096-396bb8cb4a73/SwiftRuntimeForCommandLineTools.dmg" expectedTeamID="Software Update" ;; +tableaudesktop) + name="Tableau Desktop" + type="pkgInDmg" + packageID="com.tableausoftware.tableaudesktop" + downloadURL="https://www.tableau.com/downloads/desktop/mac" + expectedTeamID="QJ4XPRK37C" + ;; tableaureader) name="Tableau Reader" type="pkgInDmg" From 2329cf174cf9bed2e0a4f68a7ca408d60a56211e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Mon, 21 Jun 2021 13:13:27 +0200 Subject: [PATCH 053/100] Got 'keepassxc' ready for Apple Silicon `keepassxc` can now distinguish between Intel and Apple Silicon. `downloadURL`-style inspired by `handbrake` --- Installomator.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 5af1a26..ee92320 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1814,10 +1814,15 @@ karabinerelements) expectedTeamID="G43BCU2T37" ;; keepassxc) - # credit: Patrick Atoon (@raptor399) name="KeePassXC" type="dmg" - downloadURL="$(downloadURLFromGit keepassxreboot keepassxc)" + if [[ $(arch) == i386 ]]; then + downloadURL=$(curl --silent --fail "https://api.github.com/repos/keepassxreboot/keepassxc/releases/latest" \ + | awk -F '"' "/browser_download_url/ && /x86_64/ && ! /sig/ && ! /AppImage/ && ! /DIGEST/ { print \$4 }") + elif [[ $(arch) == arm64 ]]; then + downloadURL=$(curl --silent --fail "https://api.github.com/repos/keepassxreboot/keepassxc/releases/latest" \ + | awk -F '"' "/browser_download_url/ && /arm64/ && ! /sig/ && ! /AppImage/ && ! /DIGEST/ { print \$4 }") + fi appNewVersion=$(versionFromGit keepassxreboot keepassxc) expectedTeamID="G2S7P7J672" ;; From e3fc7fd90a40a904a76e3d6073145d93bad3434a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Mon, 21 Jun 2021 13:50:14 +0200 Subject: [PATCH 054/100] Fixed 'webexteams' URL The URL for `webexteams` appears to have changed yet another time. Good thing: The downloaded `pkg` contains the versions for Intel and Apple Silicon at the same time. So no additional URL required :-) --- Installomator.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 5af1a26..b022285 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2714,8 +2714,8 @@ vscodium) webexmeetings) # credit: Erik Stam (@erikstam) name="Cisco Webex Meetings" - type="pkgInDmg" - downloadURL="https://akamaicdn.webex.com/client/webexapp.dmg" + type="pkg" + downloadURL="https://akamaicdn.webex.com/client/Cisco_Webex_Meetings.pkg" expectedTeamID="DE8Y96K9QP" targetDir="/Applications" #blockingProcessesMaxCPU="5" From d733bbdb0d06eceb7a418a9f1bb9d201b9e9a839 Mon Sep 17 00:00:00 2001 From: Tadayuki Onishi Date: Tue, 22 Jun 2021 11:28:58 +0900 Subject: [PATCH 055/100] Add Install Google Software Update --- Installomator.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 5af1a26..5ae9543 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1575,6 +1575,14 @@ googlejapaneseinput) blockingProcesses=( NONE ) expectedTeamID="EQHXZ8M8AV" ;; +googlesoftwareupdate) + name="Install Google Software Update" + type="pkgInDmg" + pkgName="Install Google Software Update.app/Contents/Resources/GSUInstall.pkg" + downloadURL="https://dl.google.com/mac/install/googlesoftwareupdate.dmg" + blockingProcesses=( NONE ) + expectedTeamID="EQHXZ8M8AV" + ;; gotomeeting) # credit: @matins name="GoToMeeting" From ab00c9c1b81045fe2ad7d6468b470bd4a2eed501 Mon Sep 17 00:00:00 2001 From: Tadayuki Onishi Date: Tue, 22 Jun 2021 11:29:13 +0900 Subject: [PATCH 056/100] Add Install Google Software Update to labels --- Labels.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Labels.txt b/Labels.txt index 8e0aa6d..2baa801 100644 --- a/Labels.txt +++ b/Labels.txt @@ -87,6 +87,7 @@ googledrivebackupandsync googledrivefilestream googleearth googlejapaneseinput +googlesoftwareupdate gotomeeting gpgsuite gpgsync From 86e63df1a646a830b6206016b4d7ecb975f862fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Tue, 22 Jun 2021 10:48:19 +0200 Subject: [PATCH 057/100] sourcetree changed Maybe not using Sparkle anymore --- Installomator.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 3b0df16..7da5984 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2452,10 +2452,8 @@ sonoss2) sourcetree) name="Sourcetree" type="zip" - downloadURL=$(curl -fs https://product-downloads.atlassian.com/software/sourcetree/Appcast/SparkleAppcastAlpha.xml \ - | xpath '//rss/channel/item[last()]/enclosure/@url' 2>/dev/null \ - | cut -d '"' -f 2 ) - appNewVersion=$(curl -fs https://product-downloads.atlassian.com/software/sourcetree/Appcast/SparkleAppcastAlpha.xml | xpath '//rss/channel/item[last()]/title' 2>/dev/null | sed -n -e 's/^.*Version //p' | sed 's/\<\/title\>//' | sed $'s/[^[:print:]\t]//g') + downloadURL=$(curl -fs "https://www.sourcetreeapp.com" | grep -i "macURL" | tr '"' '\n' | grep -io "https://.*/Sourcetree.*\.zip" | tail -1) + appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/Sourcetree_([0-9.]*)_[0-9]*\.zip/\1/g') expectedTeamID="UPXU4CQZ5P" ;; spotify) From 253d96fa49584c720607e3bedfe9252e95529a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Tue, 22 Jun 2021 11:25:48 +0200 Subject: [PATCH 058/100] Removed credit --- Installomator.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index e791637..f9c4538 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2911,7 +2911,6 @@ zulujdk15) # MARK: Add new labels after this line (let us sort them in the list) aldente) - # credit: Adrian Bühler (@midni9ht) name="AlDente" type="zip" downloadURL=$(downloadURLFromGit davidwernhart AlDente) From 39437b95495638934970618501d0aaf5fa4d701f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Tue, 22 Jun 2021 11:27:20 +0200 Subject: [PATCH 059/100] Sorted 'aldente' to correct position --- Installomator.sh | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index f9c4538..83edfca 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -925,6 +925,13 @@ airserver) expectedTeamID="6C755KS5W3" #Company="App Dynamic ehf" ;; +aldente) + name="AlDente" + type="zip" + downloadURL=$(downloadURLFromGit davidwernhart AlDente) + appNewVersion=$(versionFromGit davidwernhart AlDente) + expectedTeamID="3WVC84GB99" + ;; alfred) # credit: AP Orlebeke (@apizz) name="Alfred" @@ -2910,14 +2917,6 @@ zulujdk15) # MARK: Add new labels after this line (let us sort them in the list) -aldente) - name="AlDente" - type="zip" - downloadURL=$(downloadURLFromGit davidwernhart AlDente) - appNewVersion=$(versionFromGit davidwernhart AlDente) - expectedTeamID="3WVC84GB99" - ;; - # MARK: add new labels above here #cdef) From 6e4006c842eb5a37bc804bb5cdc71fc089e0aab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Tue, 22 Jun 2021 11:31:42 +0200 Subject: [PATCH 060/100] Removed credit --- Installomator.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index e43941b..9484061 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1361,7 +1361,6 @@ egnyte) blockingProcesses=( NONE ) ;; element) - # credit: Adrian Bühler (@midni9ht) name="Element" type="dmg" downloadURL="https://packages.riot.im/desktop/install/macos/Element.dmg" From 93d716d954a1f55a49e9d4b5b6fefa0cd05c8d0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Wed, 23 Jun 2021 22:53:22 +0200 Subject: [PATCH 061/100] Got 'mattermost' ready for Apple Silicon `mattermost` can now distinguish between Intel and Apple Silicon. --- Installomator.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 4f77c53..7014e08 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1938,7 +1938,13 @@ malwarebytes) mattermost) name="Mattermost" type="dmg" - downloadURL=$(downloadURLFromGit mattermost desktop) + if [[ $(arch) == i386 ]]; then + downloadURL=$(curl --silent --fail "https://api.github.com/repos/mattermost/desktop/releases/latest" \ + | awk -F '"' "/browser_download_url/ && /mac.dmg/ && ! /blockmap/ { print \$4 }") + elif [[ $(arch) == arm64 ]]; then + downloadURL=$(curl --silent --fail "https://api.github.com/repos/mattermost/desktop/releases/latest" \ + | awk -F '"' "/browser_download_url/ && /mac-m1.dmg/ && ! /blockmap/ { print \$4 }") + fi appNewVersion=$(versionFromGit mattermost desktop ) expectedTeamID="UQ8HT4Q2XM" ;; From 7b16678e95f80527cf533db75467c451f60e87c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 24 Jun 2021 11:56:50 +0200 Subject: [PATCH 062/100] visualstudiocode change MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Name of process changed to “Code”. --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 7da5984..6e5b5d5 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -3140,7 +3140,7 @@ visualstudiocode) appNewVersion=$(curl -fsL "https://code.visualstudio.com/Updates" | grep "/darwin" | grep -oiE ".com/([^>]+)([^<]+)/darwin" | cut -d "/" -f 2 | sed $'s/[^[:print:]\t]//g' | head -1 ) expectedTeamID="UBF8T346G9" appName="Visual Studio Code.app" - blockingProcesses=( Electron ) + blockingProcesses=( Code ) ;; microsoftword) name="Microsoft Word" From 84c551ee31ca6e7e48310c21e755f5490a6ce3c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Sun, 27 Jun 2021 13:26:54 +0200 Subject: [PATCH 063/100] Look in /Application and Utilities first First /Applications, then /Applications/Utilities, and then Spotlight. Maybe we should be prepared that DEPnotify should be installed in Utilities, so `customDestination="/Applications/Utilities/"`could ba a thing. --- Installomator.sh | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 4f77c53..8790043 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -337,15 +337,16 @@ getAppVersion() { fi fi - # get all apps matching name - applist=$(mdfind "kind:application $appName" -0 ) - if [[ $applist = "" ]]; then - printlog "Spotlight not returning any app, trying manually in /Applications." - if [[ -d "/Applications/$appName" ]]; then - applist="/Applications/$appName" - fi + # get app from /Applications or find using Spotify + if [[ -d "/Applications/$appName" ]]; then + applist="/Applications/$appName" + elif [[ -d "/Applications/Utilities/$appName" ]]; then + applist="/Applications/Utilities/$appName" + else + applist=$(mdfind "kind:application $appName" -0 ) fi - + printlog "App(s) found: ${applist}" + appPathArray=( ${(0)applist} ) if [[ ${#appPathArray} -gt 0 ]]; then From 76e1e9d0a3ab47f48b57b8162c8ffb42de1573b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Sun, 27 Jun 2021 13:38:16 +0200 Subject: [PATCH 064/100] appNewVersion in theunarchiver --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 6e5b5d5..ebfbaa8 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2562,7 +2562,7 @@ theunarchiver) name="The Unarchiver" type="dmg" downloadURL="https://dl.devmate.com/com.macpaw.site.theunarchiver/TheUnarchiver.dmg" - #appNewVersion="" + appNewVersion="$(curl -fs "https://theunarchiver.com" | grep -i "Latest version" | head -1 | sed -E 's/.*> ([0-9.]*) .*/\1/g')" expectedTeamID="S8EX82NJP6" appName="The Unarchiver.app" ;; From 5410739f99fec3395c36b42e9e1d28a11d6ddfe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Mon, 28 Jun 2021 12:52:46 +0200 Subject: [PATCH 065/100] anydesk --- Installomator.sh | 7 +++++++ Labels.txt | 1 + 2 files changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index ebfbaa8..408c96b 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -950,6 +950,13 @@ androidfiletransfer) downloadURL="https://dl.google.com/dl/androidjumper/mtp/current/AndroidFileTransfer.dmg" expectedTeamID="EQHXZ8M8AV" ;; +anydesk) + name="AnyDesk" + type="dmg" + downloadURL="https://download.anydesk.com/anydesk.dmg" + appNewVersion="$(curl -fs https://anydesk.com/da/downloads/mac-os | grep -i "d-block" | grep -E -o ">v[0-9.]* .*MB" | sed -E 's/.*v([0-9.]*) .*/\1/g')" + expectedTeamID="KU6W3B6JMZ" + ;; apparency) name="Apparency" type="dmg" diff --git a/Labels.txt b/Labels.txt index 239b005..0a4deed 100644 --- a/Labels.txt +++ b/Labels.txt @@ -12,6 +12,7 @@ alfred amazonchime amazonworkspaces androidfiletransfer +anydesk apparency appcleaner applenyfonts From f5e800a190a7c2ccae91caf9915a5c69a5fde72d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Wed, 30 Jun 2021 08:59:33 +0200 Subject: [PATCH 066/100] favro --- Installomator.sh | 7 +++++++ Labels.txt | 1 + 2 files changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 408c96b..b26d9fd 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1397,6 +1397,13 @@ fantastical) appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/[a-zA-Z]*_([0-9.]*)\..*/\1/g' ) expectedTeamID="85C27NK92C" ;; +favro) + name="Favro" + type="dmg" + downloadURL="https://download.favro.com/FavroDesktop/macOS/x64/$(curl -fs https://download.favro.com/FavroDesktop/macOS/x64/Latest.html | cut -d ">" -f1 | cut -d "=" -f 4 | cut -d '"' -f1)" + appNewVersion="$(curl -fs https://download.favro.com/FavroDesktop/macOS/x64/Latest.html | cut -d ">" -f1 | cut -d "=" -f 4 | cut -d '"' -f1 | sed -E 's/.*-([0-9.]*)\.dmg/\1/g')" + expectedTeamID="PUA8Q354ZF" + ;; ferdi) # credit: Adrian Bühler (@midni9ht) name="Ferdi" diff --git a/Labels.txt b/Labels.txt index 0a4deed..b1b16b1 100644 --- a/Labels.txt +++ b/Labels.txt @@ -68,6 +68,7 @@ etrecheck evernote exelbanstats fantastical +favro ferdi figma firefox From 00b0e4dcfd03647cbf644d93a4b5cbddd70a8078 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 1 Jul 2021 10:03:56 +0200 Subject: [PATCH 067/100] SiriMote --- Installomator.sh | 7 +++++++ Labels.txt | 1 + 2 files changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index b26d9fd..14fc792 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2399,6 +2399,13 @@ silnite) expectedTeamID="QWY4LRW926" blockingProcesses=( NONE ) ;; +sirimote) + name="SiriMote" + type="zip" + downloadURL="http://bit.ly/sirimotezip" + #appNewVersion="" # Not found on web page + expectedTeamID="G78RJ6NLJU" + ;; sizeup) # credit: AP Orlebeke (@apizz) name="SizeUp" diff --git a/Labels.txt b/Labels.txt index b1b16b1..6a75bc6 100644 --- a/Labels.txt +++ b/Labels.txt @@ -218,6 +218,7 @@ shield sidekick signal silnite +sirimote sizeup sketch skype From fd057b9918c3306810209840652b2bc543e5c7c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 1 Jul 2021 14:48:42 +0200 Subject: [PATCH 068/100] 4kvideodownloader --- Installomator.sh | 7 +++++++ Labels.txt | 1 + 2 files changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 14fc792..8ed4e4c 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -849,6 +849,13 @@ longversion) blockingProcesses=( "1Password Extension Helper" "1Password 7" "1Password (Safari)" "1PasswordNativeMessageHost" "1PasswordSafariAppExtension" ) #forcefulQuit=YES ;; +4kvideodownloader) + name="4K Video Downloader" + type="dmg" + downloadURL="$(curl -fsL "https://www.4kdownload.com/products/product-videodownloader" | grep -E -o "https:\/\/dl\.4kdownload\.com\/app\/4kvideodownloader_.*?.dmg\?source=website" | head -1)" + appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/[0-9a-zA-Z]*_([0-9.]*)\.dmg.*/\1/g') + expectedTeamID="GHQ37VJF83" + ;; 8x8) # credit: #D-A-James from MacAdmins Slack and Isaac Ordonez, Mann consulting (@mannconsulting) name="8x8 Work" diff --git a/Labels.txt b/Labels.txt index 6a75bc6..7c0896a 100644 --- a/Labels.txt +++ b/Labels.txt @@ -1,4 +1,5 @@ 1password7 +4kvideodownloader 8x8 abstract adobebrackets From 18e265d60b40c8561952407e2f2f7b9620440c55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 1 Jul 2021 14:59:11 +0200 Subject: [PATCH 069/100] Update buildCaseStatement.sh Works a lot better! --- buildCaseStatement.sh | 74 +------------------------------------------ 1 file changed, 1 insertion(+), 73 deletions(-) diff --git a/buildCaseStatement.sh b/buildCaseStatement.sh index 583c85f..9b7538b 100755 --- a/buildCaseStatement.sh +++ b/buildCaseStatement.sh @@ -5,6 +5,7 @@ export PATH=/usr/bin:/bin:/usr/sbin:/sbin downloadURL=${1?:"need to provide a download URL"} # Note: this tool _very_ experimental and does not work in many cases +# That being said, it's a great place to start for building up the label in the Case-statement # create temporary working directory @@ -20,15 +21,7 @@ fi # download the URL echo "Downloading $downloadURL" -<<<<<<< HEAD -<<<<<<< Updated upstream -if ! archivePath=$(curl -fsL "$downloadURL" --remote-header-name --remote-name -w "%{filename_effective}"); then -======= if ! downloadOut="$(curl -fsL "$downloadURL" --remote-header-name --remote-name -w "%{filename_effective}\n%{url_effective}\n")"; then ->>>>>>> Stashed changes -======= -if ! downloadOut="$(curl -fsL "$downloadURL" --remote-header-name --remote-name -w "%{filename_effective}\n%{url_effective}\n")"; then ->>>>>>> 4932ea6a3186d902d88c9bb5a3774c6ff81b1608 echo "error downloading $downloadURL" exit 2 fi @@ -44,13 +37,6 @@ xpath() { fi } -<<<<<<< HEAD -<<<<<<< Updated upstream -#archivePath=$(find $tmpDir -print ) -echo "archivePath: $archivePath" -archiveName=${archivePath##*/} -echo "archiveName: $archiveName" -======= pkgInvestigation() { echo "Package found" teamID=$(spctl -a -vv -t install "$archiveName" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' ) @@ -81,39 +67,6 @@ echo "archivePath: $archivePath" archiveName=${archivePath##*/} echo "archiveName: $archiveName" mv $archiveTempName $archiveName ->>>>>>> Stashed changes -======= -pkgInvestigation() { - echo "Package found" - teamID=$(spctl -a -vv -t install "$archiveName" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' ) - echo "For PKGs it's advised to find packageID for version checking" - - pkgutil --expand "$pkgPath" "$archiveName"_pkg - cat "$archiveName"_pkg/Distribution | xpath '//installer-gui-script/pkg-ref[@id][@version]' 2>/dev/null - packageID="$(cat "$archiveName"_pkg/Distribution | xpath '//installer-gui-script/pkg-ref[@id][@version]' 2>/dev/null | tr ' ' '\n' | grep -i "id" | cut -d \" -f 2)" - rm -r "$archiveName"_pkg - echo "$packageID" - echo "Above is the possible packageIDs that can be used, and the correct one is probably one of those with a version number. More investigation might be needed to figure out correct packageID if several are displayed." -} -appInvestigation() { - appName=${appPath##*/} - - # verify with spctl - echo "Verifying: $appPath" - if ! teamID=$(spctl -a -vv "$appPath" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' ); then - echo "Error verifying $appPath" - exit 4 - fi -} -echo "downloadOut: ${downloadOut}" -archiveTempName=$( echo "${downloadOut}" | head -1 ) -echo "archiveTempName: $archiveTempName" -archivePath=$( echo "${downloadOut}" | tail -1 ) -echo "archivePath: $archivePath" -archiveName=${archivePath##*/} -echo "archiveName: $archiveName" -mv $archiveTempName $archiveName ->>>>>>> 4932ea6a3186d902d88c9bb5a3774c6ff81b1608 name=${archiveName%.*} echo "name: $name" archiveExt=${archiveName##*.} @@ -122,25 +75,8 @@ identifier=$(echo $name | tr '[:upper:]' '[:lower:]') echo "identifier: $identifier" if [ "$archiveExt" = "pkg" ]; then -<<<<<<< HEAD -<<<<<<< Updated upstream - echo "Package found" - teamID=$(spctl -a -vv -t install "$archiveName" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' ) - echo "For PKGs it's advised to find packageID for version checking" - pkgutil --expand "$archiveName" "$archiveName"_pkg - cat "$archiveName"_pkg/Distribution | xpath '//installer-gui-script/pkg-ref[@id][@version]' 2>/dev/null - packageID="$(cat "$archiveName"_pkg/Distribution | xpath '//installer-gui-script/pkg-ref[@id][@version]' 2>/dev/null | tr ' ' '\n' | grep -i "id" | cut -d \" -f 2)" - rm -r "$archiveName"_pkg - echo "$packageID" - echo "Above is the possible packageIDs that can be used, and the correct one is probably one of those with a version number. More investigation might be needed to figure out correct packageID if several are displayed." -======= pkgPath="$archiveName" pkgInvestigation ->>>>>>> Stashed changes -======= - pkgPath="$archiveName" - pkgInvestigation ->>>>>>> 4932ea6a3186d902d88c9bb5a3774c6ff81b1608 elif [ "$archiveExt" = "dmg" ]; then echo "Diskimage found" # mount the dmg @@ -182,15 +118,7 @@ elif [ "$archiveExt" = "zip" ] || [ "$archiveExt" = "tbz" ]; then fi echo -<<<<<<< HEAD -<<<<<<< Updated upstream -echo "appNewVersion is often difficult to find. Can sometimes be found in the filename, but also on a web page." -======= echo "appNewVersion is often difficult to find. Can sometimes be found in the filename, but also on a web page. See archivePath above if link contains information about this." ->>>>>>> Stashed changes -======= -echo "appNewVersion is often difficult to find. Can sometimes be found in the filename, but also on a web page. See archivePath above if link contains information about this." ->>>>>>> 4932ea6a3186d902d88c9bb5a3774c6ff81b1608 echo echo "$identifier)" echo " name=\"$name\"" From 52c5ebf4ffd3eea61b91a117ba090f16c4a6c4e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 1 Jul 2021 15:15:18 +0200 Subject: [PATCH 070/100] 4kvideodownloader `versionKey` addition. --- Installomator.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Installomator.sh b/Installomator.sh index 8ed4e4c..aab9ae6 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -854,6 +854,7 @@ longversion) type="dmg" downloadURL="$(curl -fsL "https://www.4kdownload.com/products/product-videodownloader" | grep -E -o "https:\/\/dl\.4kdownload\.com\/app\/4kvideodownloader_.*?.dmg\?source=website" | head -1)" appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/[0-9a-zA-Z]*_([0-9.]*)\.dmg.*/\1/g') + versionKey="CFBundleVersion" expectedTeamID="GHQ37VJF83" ;; 8x8) From 557500e21405bac54d1ef1688b31c2a7df4d7bdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 2 Jul 2021 09:14:14 +0200 Subject: [PATCH 071/100] CHANGELOG --- CHANGELOG.md | 4 ++++ buildCaseStatement.sh | 3 +++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c6df07..9753a7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +- Change in finding installed apps. We now look in /Applications and /Applications/Utilities first. If not found there, we use spotligt to find it. (We discovered a problem when a user has Parallels Windows installed with Microsoft Edge in it. Then Installomator wanted to update the app all the time, becaus spotligt found that Windows version of the app that Parallels created.) +- Added bunch of new labels +- Improved `buildCaseStatement.sh` a lot. It is a great start when figuring out how to create a new label for an app, or a piece of software. + ## v0.5 - 2021-04-13 - Major update and now with help from @Theile and @Isaac diff --git a/buildCaseStatement.sh b/buildCaseStatement.sh index 9b7538b..060f75f 100755 --- a/buildCaseStatement.sh +++ b/buildCaseStatement.sh @@ -7,6 +7,9 @@ downloadURL=${1?:"need to provide a download URL"} # Note: this tool _very_ experimental and does not work in many cases # That being said, it's a great place to start for building up the label in the Case-statement +# Usage +# ./buildCaseStatement.sh + # create temporary working directory tmpDir=$(dirname $0 ) From f8d578a6d7ddb8c3bd18a2d3590bb8440e556e2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 2 Jul 2021 09:23:45 +0200 Subject: [PATCH 072/100] mosyleb icon --- CHANGELOG.md | 1 + Installomator.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9753a7a..4ced6ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ - Change in finding installed apps. We now look in /Applications and /Applications/Utilities first. If not found there, we use spotligt to find it. (We discovered a problem when a user has Parallels Windows installed with Microsoft Edge in it. Then Installomator wanted to update the app all the time, becaus spotligt found that Windows version of the app that Parallels created.) - Added bunch of new labels - Improved `buildCaseStatement.sh` a lot. It is a great start when figuring out how to create a new label for an app, or a piece of software. +- Mosyle changed their app name from Business to Self-Service ## v0.5 - 2021-04-13 diff --git a/Installomator.sh b/Installomator.sh index aab9ae6..0956f63 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -3261,7 +3261,7 @@ case $LOGO in ;; mosyleb) # Mosyle Business - LOGO="/Applications/Business.app/Contents/Resources/AppIcon.icns" + LOGO="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns" ;; mosylem) # Mosyle Manager (education) From 2028abae59f32f75983a385856ae3d3ec6461425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Tue, 6 Jul 2021 14:04:41 +0200 Subject: [PATCH 073/100] Improved 'mattermost' With `archiveName`, there's a way easier solution to make Intel/ARM downloads work with GitHub. Thanks to @acodega for bringing this to my attention. --- Installomator.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 7014e08..65bfe87 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1939,12 +1939,11 @@ mattermost) name="Mattermost" type="dmg" if [[ $(arch) == i386 ]]; then - downloadURL=$(curl --silent --fail "https://api.github.com/repos/mattermost/desktop/releases/latest" \ - | awk -F '"' "/browser_download_url/ && /mac.dmg/ && ! /blockmap/ { print \$4 }") + archiveName="mac.dmg" elif [[ $(arch) == arm64 ]]; then - downloadURL=$(curl --silent --fail "https://api.github.com/repos/mattermost/desktop/releases/latest" \ - | awk -F '"' "/browser_download_url/ && /mac-m1.dmg/ && ! /blockmap/ { print \$4 }") + archiveName="mac-m1.dmg" fi + downloadURL=$(downloadURLFromGit mattermost desktop) appNewVersion=$(versionFromGit mattermost desktop ) expectedTeamID="UQ8HT4Q2XM" ;; From 2910b37e69d8c60f414ec6a9ad04f27624c6ebe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Tue, 6 Jul 2021 14:22:33 +0200 Subject: [PATCH 074/100] Improved 'keepassxc' Improved `keepassxc` to use `archiveName`. This makes the handling a lot easier. --- Installomator.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index ee92320..9d92e77 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1817,12 +1817,11 @@ keepassxc) name="KeePassXC" type="dmg" if [[ $(arch) == i386 ]]; then - downloadURL=$(curl --silent --fail "https://api.github.com/repos/keepassxreboot/keepassxc/releases/latest" \ - | awk -F '"' "/browser_download_url/ && /x86_64/ && ! /sig/ && ! /AppImage/ && ! /DIGEST/ { print \$4 }") + archiveName="x86_64.dmg" elif [[ $(arch) == arm64 ]]; then - downloadURL=$(curl --silent --fail "https://api.github.com/repos/keepassxreboot/keepassxc/releases/latest" \ - | awk -F '"' "/browser_download_url/ && /arm64/ && ! /sig/ && ! /AppImage/ && ! /DIGEST/ { print \$4 }") + archiveName="arm64.dmg" fi + downloadURL=$(downloadURLFromGit keepassxreboot keepassxc) appNewVersion=$(versionFromGit keepassxreboot keepassxc) expectedTeamID="G2S7P7J672" ;; From ad1bb8002de7064ca00368bb2f18ddb62610253f Mon Sep 17 00:00:00 2001 From: AP Orlebeke Date: Wed, 7 Jul 2021 22:06:46 -0400 Subject: [PATCH 075/100] Add Logitech Options Install via the PKG contained with the installer app wrapper --- Installomator.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 577d5c1..1ed613c 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1917,6 +1917,15 @@ libreoffice) appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*_([0-9.]*)_.*/\1/g' ) expectedTeamID="7P5S3ZLCN7" ;; +logitechoptions) + # credit: AP Orlebeke (@apizz) + 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/' ) + pkgName="LogiMgr Installer ${appNewVersion}.app/Contents/Resources/LogiMgr.pkg" + expectedTeamID="QED4VVPZWA" + ;; loom) # credit: Lance Stephens (@pythoninthegrass on MacAdmins Slack) name="Loom" From b402630f85383337123ed6abdb739dd9163fb122 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Fri, 9 Jul 2021 10:00:37 +0200 Subject: [PATCH 076/100] Removed my credits Removed credits as requested in #184 --- Installomator.sh | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 577d5c1..a736b6c 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -866,7 +866,6 @@ abstract) expectedTeamID="77MZLZE47D" ;; adobebrackets) - # credit: Adrian Bühler (@midni9ht) name="Brackets" type="dmg" downloadURL=$(downloadURLFromGit adobe brackets ) @@ -1063,7 +1062,6 @@ awsvpnclient) appNewVersion=$(curl -is "https://beta2.communitypatch.com/jamf/v1/ba1efae22ae74a9eb4e915c31fef5dd2/patch/AWSVPNClient" | grep currentVersion | tr ',' '\n' | grep currentVersion | cut -d '"' -f 4) ;; balenaetcher) - # credit: Adrian Bühler (@midni9ht) name="balenaEtcher" type="dmg" downloadURL=$(downloadURLFromGit balena-io etcher ) @@ -1146,7 +1144,6 @@ brave) expectedTeamID="KL8N8XSYF4" ;; cakebrew) - # credit: Adrian Bühler (@midni9ht) name="Cakebrew" type="zip" downloadURL=$(curl -fsL "https://www.cakebrew.com/appcast/profileInfo.php" | xpath '//rss/channel/item[1]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2) @@ -1251,7 +1248,6 @@ darktable) expectedTeamID="85Q3K4KQRY" ;; dbeaverce) - # credit: Adrian Bühler (@midni9ht) name="DBeaver" type="dmg" downloadURL="https://dbeaver.io/files/dbeaver-ce-latest-macos.dmg" @@ -1259,7 +1255,6 @@ dbeaverce) blockingProcesses=( dbeaver ) ;; debookee) - # credit: Adrian Bühler (@midni9ht) name="Debookee" type="zip" downloadURL=$(curl --location --fail --silent "https://www.iwaxx.com/debookee/appcast.xml" | xpath '//rss/channel/item[1]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2) @@ -1390,7 +1385,6 @@ fantastical) expectedTeamID="85C27NK92C" ;; ferdi) - # credit: Adrian Bühler (@midni9ht) name="Ferdi" type="dmg" downloadURL=$(downloadURLFromGit getferdi ferdi ) @@ -1490,7 +1484,6 @@ front) Company="FrontApp. Inc." ;; fsmonitor) - # credit: Adrian Bühler (@midni9ht) name="FSMonitor" type="zip" 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) @@ -1674,7 +1667,6 @@ hpeasystart) expectedTeamID="6HB5Y2QTA3" ;; hyper) - # credit: Adrian Bühler (@midni9ht) name="Hyper" type="dmg" downloadURL=$(downloadURLFromGit vercel hyper ) @@ -1795,7 +1787,6 @@ jetbrainsphpstorm) expectedTeamID="2ZEFAR8TH3" ;; jetbrainspycharm) - # credit: Adrian Bühler (@midni9ht) # This is the Pro version of PyCharm. # Do not confuse with PyCharm CE. name="PyCharm" @@ -1841,7 +1832,6 @@ keepassxc) expectedTeamID="G2S7P7J672" ;; keka) - # credit: Adrian Bühler (@midni9ht) name="Keka" type="dmg" downloadURL=$(downloadURLFromGit aonez Keka) @@ -1967,7 +1957,6 @@ mattermost) expectedTeamID="UQ8HT4Q2XM" ;; menumeters) - # credit: Adrian Bühler (@midni9ht) name="MenuMeters" type="zip" downloadURL=$(downloadURLFromGit yujitach MenuMeters ) @@ -2126,7 +2115,6 @@ onionshare) expectedTeamID="N9B95FDWH4" ;; onlyofficedesktop) - # credit: Adrian Bühler (@midni9ht) name="ONLYOFFICE" type="dmg" downloadURL="https://download.onlyoffice.com/install/desktop/editors/mac/distrib/onlyoffice/ONLYOFFICE.dmg" @@ -2246,7 +2234,6 @@ r) expectedTeamID="VZLD955F6P" ;; ramboxce) - # credit: Adrian Bühler (@midni9ht) name="Rambox" type="dmg" downloadURL=$(downloadURLFromGit ramboxapp community-edition ) @@ -2611,7 +2598,6 @@ tigervnc) expectedTeamID="S5LX88A9BW" ;; toggltrack) - # credit: Adrian Bühler (@midni9ht) name="Toggl Track" type="dmg" downloadURL=$(downloadURLFromGit toggl-open-source toggldesktop ) @@ -2671,7 +2657,6 @@ vagrant) expectedTeamID="D38WU7D763" ;; vanilla) - # credit: Adrian Bühler (@midni9ht) name="Vanilla" type="dmg" downloadURL="https://macrelease.matthewpalmer.net/Vanilla.dmg" @@ -2704,7 +2689,6 @@ viscosity) expectedTeamID="34XR7GXFPX" ;; vivaldi) - # credit: Adrian Bühler (@midni9ht) name="Vivaldi" type="tbz" downloadURL=$(curl -fsL "https://update.vivaldi.com/update/1.0/public/mac/appcast.xml" | xpath '//rss/channel/item[1]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2) From 846e6e2cb2b48b76d3ce96a6f8a7a8a7011289d7 Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 12:57:30 -0500 Subject: [PATCH 077/100] Updated the Figma URL to use the "full" installer instead of the "stub" installer which needs to be moved out of and back into the Applications folder to function. --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 577d5c1..015fcf2 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1400,7 +1400,7 @@ ferdi) figma) name="Figma" type="zip" - downloadURL="https://www.figma.com/download/desktop/mac/" + downloadURL="https://desktop.figma.com/mac/Figma.zip" expectedTeamID="T8RA8NE3B7" ;; firefox) From 1ca05b4688c9fbf1a5a16da3bd79298484e0f8cb Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 13:04:16 -0500 Subject: [PATCH 078/100] Added Audacity. --- Installomator.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 015fcf2..99481b5 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1022,6 +1022,14 @@ atom) appNewVersion=$(versionFromGit atom atom) expectedTeamID="VEKTX9H2N7" ;; +audacity) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="Audacity" + type="dmg" + downloadURL=$(downloadURLFromGit audacity audacity) + appNewVersion=$(versionFromGit audacity audacity) + expectedTeamID="T3N4JQ7YY6" + ;; autodmg) # credit: Mischa van der Bent (@mischavdbent) name="AutoDMG" From 0742ff94ede4f99d7e6d06249fde91514b5ef0b8 Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 13:05:37 -0500 Subject: [PATCH 079/100] Added AltTab. --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 99481b5..b9a0ddc 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -934,6 +934,13 @@ alfred) appName="Alfred 4.app" expectedTeamID="XZZXE9SED4" ;; +alttab) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="AltTab" + type="zip" + downloadURL=$(downloadURLFromGit lwouis alt-tab-macos) + expectedTeamID="QXD7GW8FHY" + ;; amazonchime) # credit: @dvsjr macadmins slack name="Amazon Chime" From 7a985494475518f88bf3e2b2e5cc022686945396 Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 13:06:45 -0500 Subject: [PATCH 080/100] Added aText. --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index b9a0ddc..ad81be5 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1021,6 +1021,13 @@ arq7) appNewVersion="$(curl -fs "https://arqbackup.com" | grep -io "version .*[0-9.]*.* for macOS" | cut -d ">" -f2 | cut -d "<" -f1)" expectedTeamID="48ZCSDVL96" ;; +atext) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="aText" + type="dmg" + downloadURL="https://trankynam.com/atext/downloads/aText.dmg" + expectedTeamID="KHEMQ2FD9E" + ;; atom) name="Atom" type="zip" From fc487a1d99a27ee9c5af4b1d7fd9f4a0e0414893 Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 13:08:11 -0500 Subject: [PATCH 081/100] Added Balsamiq Wireframes. --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index ad81be5..98e5582 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1092,6 +1092,13 @@ balenaetcher) appNewVersion=$(versionFromGit balena-io etcher ) expectedTeamID="66H43P8FRG" ;; +balsamiqwireframes) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="Balsamiq Wireframes" + type="dmg" + downloadURL=https://builds.balsamiq.com/bwd/$(curl -fs "https://builds.balsamiq.com" | awk -F "bwd/" "/dmg/ {print \$3}" | awk -F "" "{print \$1}" | sed "s/ /%20/g") + expectedTeamID="3DPKD72KQ7" + ;; basecamp3) #credit: @matins name="Basecamp 3" From 02635f140217cc6e908e4050a43fb446f9a9b3bc Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 13:09:41 -0500 Subject: [PATCH 082/100] Added Bartender 4. --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 98e5582..4b22704 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1099,6 +1099,13 @@ balsamiqwireframes) downloadURL=https://builds.balsamiq.com/bwd/$(curl -fs "https://builds.balsamiq.com" | awk -F "bwd/" "/dmg/ {print \$3}" | awk -F "" "{print \$1}" | sed "s/ /%20/g") expectedTeamID="3DPKD72KQ7" ;; +bartender) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="Bartender 4" + type="dmg" + downloadURL="https://www.macbartender.com/B2/updates/B4Latest/Bartender%204.dmg" + expectedTeamID="8DD663WDX4" + ;; basecamp3) #credit: @matins name="Basecamp 3" From 5c58c203b889d58b109b22a3a7426a97a38f7682 Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 13:24:39 -0500 Subject: [PATCH 083/100] Added Default Folder X. --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 4b22704..f40dad0 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1301,6 +1301,13 @@ debookee) downloadURL=$(curl --location --fail --silent "https://www.iwaxx.com/debookee/appcast.xml" | xpath '//rss/channel/item[1]/enclosure/@url' 2>/dev/null | cut -d '"' -f 2) expectedTeamID="AATLWWB4MZ" ;; +defaultfolderx) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="Default Folder X" + type="dmg" + downloadURL=$(curl -fs "https://www.stclairsoft.com/cgi-bin/dl.cgi?DX" | awk -F '"' "/dmg/ {print \$4}" | head -2 | tail -1) + expectedTeamID="7HK42V8R9D" + ;; depnotify) name="DEPNotify" type="zip" From 8633dad7eb52bfd4a9cbf204d549e403fd4f2569 Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 16:24:55 -0500 Subject: [PATCH 084/100] Added Grasshopper. --- Installomator.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index f40dad0..61b0ff4 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1661,6 +1661,14 @@ grandperspective) downloadURL="https://sourceforge.net/projects/grandperspectiv/files/latest/download" expectedTeamID="3Z75QZGN66" ;; +grasshopper) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="Grasshopper" + type="dmg" + downloadURL="https://dl.grasshopper.com/Grasshopper.dmg" + pkgName="Grasshopper.dmg" + expectedTeamID="KD6L2PTK2Q" + ;; gyazo) # credit: @matins name="Gyazo" From f0d89dbed3f3d3880b3b99de016ad010bb68481f Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 16:28:30 -0500 Subject: [PATCH 085/100] Added Keyboard Maestro. --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 61b0ff4..545868f 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1879,6 +1879,13 @@ karabinerelements) appNewVersion=$(versionFromGit pqrs-org Karabiner-Elements) expectedTeamID="G43BCU2T37" ;; +keyboardmaestro) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="Keyboard Maestro" + type="zip" + downloadURL="https://download.keyboardmaestro.com/" + expectedTeamID="QMHRBA4LGH" + ;; keepassxc) name="KeePassXC" type="dmg" From da174ecf9220dd89f42bc9ee09cfe2c2009a8c82 Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 16:29:28 -0500 Subject: [PATCH 086/100] Added OBS. --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 545868f..0c3099f 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2102,6 +2102,13 @@ nvivo) expectedTeamID="A66L57342X" blockingProcesses=( NVivo NVivoHelper ) ;; +obs) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="OBS" + type="dmg" + downloadURL=$(curl -fs "https://obsproject.com/download" | awk -F '"' "/dmg/ {print \$10}") + expectedTeamID="2MMRE5MTB8" + ;; obsidian) # credit: Søren Theilgaard (@theilgaard) name="Obsidian" From 11711da5ee2f9a4e17af8521d819c4dccb73dd76 Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 16:31:16 -0500 Subject: [PATCH 087/100] Added Screenflick. --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 0c3099f..9b02c2b 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2428,6 +2428,13 @@ screamingfrogseospider) downloadURL="https://download.screamingfrog.co.uk/products/seo-spider/ScreamingFrogSEOSpider-14.3.dmg" expectedTeamID="CAHEVC3HZC" ;; +screenflick) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="Screenflick" + type="zip" + downloadURL="https://www.araelium.com/screenflick/downloads/Screenflick.zip" + expectedTeamID="28488A87JB" + ;; sfsymbols) name="SF Symbols" type="pkgInDmg" From 9a7af18e0a14e818204b30a56e891878b45e74a5 Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 16:34:48 -0500 Subject: [PATCH 088/100] Added Wondershare UniConverter. --- Installomator.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 9b02c2b..80190ce 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2725,6 +2725,13 @@ umbrellaroamingclient) downloadURL=https://disthost.umbrella.com/roaming/upgrade/mac/production/$( curl -fsL https://disthost.umbrella.com/roaming/upgrade/mac/production/manifest.json | awk -F '"' '/"downloadFilename"/ { print $4 }' ) expectedTeamID="7P7HQ8H646" ;; +uniconverter) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) + name="Wondershare UniConverter" + type="dmg" + downloadURL="http://download.wondershare.com/video-converter-ultimate-mac_full735.dmg" + expectedTeamID="YZC2T44ZDX" + ;; universaltypeclient) name="Universal Type Client" type="pkgInZip" From ab88181a2ffeed9cbb7288068d1737e3a2d6320b Mon Sep 17 00:00:00 2001 From: Gabe Marchan Date: Sun, 11 Jul 2021 16:39:04 -0500 Subject: [PATCH 089/100] Updated the "credit" comment to match the rest, even though these are going away eventually. --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 80190ce..1d857b9 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1822,7 +1822,7 @@ jamfreenroller) expectedTeamID="PS2F6S478M" ;; jetbrainsintellijidea) - # credit: Gabe Marchan (www.gabemarchan.com) + # credit: Gabe Marchan (gabemarchan.com - @darklink87) name="IntelliJ IDEA" type="dmg" downloadURL="https://download.jetbrains.com/product?code=II&latest&distribution=mac" From 8e828ce1fad871ea10403bfe465b7ab202239487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Mon, 12 Jul 2021 09:13:35 +0200 Subject: [PATCH 090/100] Added 'webex' Added `webex` as Label to `webexteams`, since those are identical. Changed the downloadURL of `webexmeetings` to a working one. --- Installomator.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index b022285..7eda7e5 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2714,13 +2714,14 @@ vscodium) webexmeetings) # credit: Erik Stam (@erikstam) name="Cisco Webex Meetings" - type="pkg" - downloadURL="https://akamaicdn.webex.com/client/Cisco_Webex_Meetings.pkg" + type="pkgInDmg" + downloadURL="https://akamaicdn.webex.com/client/webexapp.dmg" expectedTeamID="DE8Y96K9QP" targetDir="/Applications" #blockingProcessesMaxCPU="5" blockingProcesses=( Webex ) ;; +webex|\ webexteams) # credit: Erik Stam (@erikstam) name="Webex" From e5037c2e8180b6c64133d51be9b0f3bbd4fc64b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Mon, 12 Jul 2021 11:00:18 +0200 Subject: [PATCH 091/100] Changed 'aldente' to 'dmg' AlDente does now ship as DMG. --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 577d5c1..1fc20a9 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -920,7 +920,7 @@ airserver) ;; aldente) name="AlDente" - type="zip" + type="dmg" downloadURL=$(downloadURLFromGit davidwernhart AlDente) appNewVersion=$(versionFromGit davidwernhart AlDente) expectedTeamID="3WVC84GB99" From 5995135b45d552a5156fd5abe32c16d08da00d50 Mon Sep 17 00:00:00 2001 From: Armin Briegel <1933192+scriptingosx@users.noreply.github.com> Date: Wed, 14 Jul 2021 14:05:41 +0200 Subject: [PATCH 092/100] Update Labels.txt --- Labels.txt | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Labels.txt b/Labels.txt index 08915b9..f8e496f 100644 --- a/Labels.txt +++ b/Labels.txt @@ -10,6 +10,7 @@ aircall airserver aldente alfred +alttab amazonchime amazonworkspaces androidfiletransfer @@ -21,13 +22,17 @@ applesfmono applesfpro aquaskk arq7 +atext atom +audacity autodmg autopkgr aviatrix awscli2 awsvpnclient balenaetcher +balsamiqwireframes +bartender basecamp3 bbedit bettertouchtool @@ -42,6 +47,7 @@ camostudio camtasia citrixworkspace clevershare2 +clickshare code42 coderunner cormorant @@ -51,6 +57,7 @@ dangerzone darktable dbeaverce debookee +defaultfolderx depnotify desktoppr detectxswift @@ -93,6 +100,7 @@ gotomeeting gpgsuite gpgsync grandperspective +grasshopper gyazo gyazogif hancock @@ -104,7 +112,6 @@ hyper icons imazingprofileeditor inkscape -installomator_st installomator_theile intellijideace istatmenus @@ -123,6 +130,7 @@ karabinerelements keepassxc keka keyboardmaestro +keyboardmaestro klokki knockknock krisp @@ -131,6 +139,7 @@ lastpass launchbar lexarrecoverytool libreoffice +logitechoptions loom lucifer lulu @@ -167,6 +176,7 @@ nomad nomadlogin notion nvivo +obs obsidian odrive omnidisksweeper @@ -212,6 +222,7 @@ royaltsx rstudio santa screamingfrogseospider +screenflick sfsymbols shield sidekick @@ -234,6 +245,7 @@ sublimetext supportapp suspiciouspackage swiftruntimeforcommandlinetools +tableaudesktop tableaureader taskpaper teamviewer @@ -241,6 +253,7 @@ teamviewerhost teamviewerqs techsmithcapture telegram +textexpander textmate theunarchiver things @@ -252,6 +265,7 @@ trex tunnelbear tunnelblick umbrellaroamingclient +uniconverter universaltypeclient vagrant vanilla @@ -263,6 +277,7 @@ vivaldi vlc vmwarehorizonclient vscodium +webex webexmeetings webexteams whatsapp @@ -272,6 +287,7 @@ wireshark wwdc xeroxphaser7800 xink +xquartz yubikeymanagerqt zappy zoom From b28901f7a99732bbc886c850e28c9b052fc1e710 Mon Sep 17 00:00:00 2001 From: Armin Briegel <1933192+scriptingosx@users.noreply.github.com> Date: Wed, 14 Jul 2021 14:07:21 +0200 Subject: [PATCH 093/100] updated version and credits --- Installomator.sh | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Installomator.sh b/Installomator.sh index 40eda62..247128c 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -3,15 +3,21 @@ label="" # if no label is sent to the script, this will be used # Installomator # -# Downloads and installs an Applications -# 2020 Armin Briegel - Scripting OS X +# Downloads and installs Applications +# 2020-2021 Installomator # # inspired by the download scripts from William Smith and Sander Schram -# with additional ideas and contribution from Isaac Ordonez, Mann consulting -# and help from Søren Theilgaard (theilgaard.dk) +# +# Contributers: +# Armin Briegel - @scriptingosx +# Isaac Ordonez - @issacatmann +# Søren Theilgaard - @Theile +# Adam Codega - @acodega +# +# with contributions from many others -VERSION='0.5.0' -VERSIONDATE='2021-04-13' +VERSION='0.6.0' +VERSIONDATE='2021-07-14' export PATH=/usr/bin:/bin:/usr/sbin:/sbin From e8a9fab851caca4a74286384c1978ce8ea99d107 Mon Sep 17 00:00:00 2001 From: Armin Briegel <1933192+scriptingosx@users.noreply.github.com> Date: Wed, 14 Jul 2021 16:17:46 +0200 Subject: [PATCH 094/100] updated buildInstallerPkg.sh for new version and to use notarytool --- buildInstallomatorPkg.sh | 56 ++++------------------------------------ 1 file changed, 5 insertions(+), 51 deletions(-) diff --git a/buildInstallomatorPkg.sh b/buildInstallomatorPkg.sh index aac9ac5..d5863fd 100755 --- a/buildInstallomatorPkg.sh +++ b/buildInstallomatorPkg.sh @@ -10,66 +10,19 @@ export PATH=/usr/bin:/bin:/usr/sbin:/sbin pkgname="Installomator" -version="0.5" +version="0.6" identifier="com.scriptingosx.${pkgname}" install_location="/usr/local/Installomator/" signature="Developer ID Installer: Armin Briegel (JME5BW3F3R)" dev_team="JME5BW3F3R" # asc-provider dev_account="developer@scriptingosx.com" -dev_keychain_label="Developer-altool" +dev_keychain_label="notary-scriptingosx" scriptfolder=$(dirname "$0") projectfolder=$(mktemp -d) payloadfolder="${projectfolder}/payload" -# MARK: functions -requeststatus() { # $1: requestUUID - requestUUID=${1?:"need a request UUID"} - req_status=$(xcrun altool --notarization-info "$requestUUID" \ - --username "$dev_account" \ - --password "@keychain:$dev_keychain_label" 2>&1 | awk -F ': ' '/Status:/ { print $2; }' ) - echo "$req_status" -} - -notarizefile() { # $1: path to file to notarize, $2: identifier - filepath=${1:?"need a filepath"} - identifier=${2:?"need an identifier"} - - # upload file - echo "## uploading $filepath for notarization" - requestUUID=$(xcrun altool --notarize-app \ - --primary-bundle-id "$identifier" \ - --username "$dev_account" \ - --password "@keychain:$dev_keychain_label" \ - --asc-provider "$dev_team" \ - --file "$filepath" 2>&1 | awk '/RequestUUID/ { print $NF; }') - - echo "Notarization RequestUUID: $requestUUID" - - if [[ $requestUUID == "" ]]; then - echo "could not upload for notarization" - exit 1 - fi - - # wait for status to be not "in progress" any more - request_status="in progress" - while [[ "$request_status" == "in progress" ]]; do - echo -n "waiting... " - sleep 10 - request_status=$(requeststatus "$requestUUID") - echo "$request_status" - done - - if [[ $request_status != "success" ]]; then - echo "## could not notarize $filepath" - xcrun altool --notarization-info "$requestUUID" \ - --username "$dev_account" \ - --password "@keychain:$dev_keychain_label" - exit 1 - fi - -} # MARK: main code starts here @@ -94,7 +47,6 @@ pkgbuild --root "${projectfolder}/payload" \ --install-location "${install_location}" \ "${pkgpath}" - # build the product archive productpath="${scriptfolder}/${pkgname}-${version}.pkg" @@ -108,8 +60,10 @@ productbuild --package "${pkgpath}" \ # clean up project folder rm -Rf "${projectfolder}" +# NOTE: notarytool requires Xcode 13 + # upload for notarization -notarizefile "$productpath" "$identifier" +xcrun notarytool submit "$productpath" --keychain-profile "$dev_keychain_label" --wait # staple result echo "## Stapling $productpath" From d2422653d5d622c9fc9bdc446fce056ef35d95b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 16 Jul 2021 09:48:24 +0200 Subject: [PATCH 095/100] Zoom Room label --- Installomator.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 9313ebb..6995c12 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -2993,6 +2993,15 @@ zoomclient) blockingProcesses=( zoom.us ) #blockingProcessesMaxCPU="5" ;; +zoomrooms) +   name="ZoomRooms" +   type="pkg" +   packageID="us.zoom.pkg.zp" +   downloadURL="https://zoom.us/client/latest/ZoomRooms.pkg" +   appNewVersion="$(curl -fsIL ${downloadURL} | grep -i location | cut -d "/" -f5)" +   expectedTeamID="BJ4HAAB9B3" + blockingProcesses=( "ZoomPresence" ) +   ;; zulujdk11) name="Zulu JDK 11" type="pkgInDmg" From 54c84b2ff768b6d873fe398e90ad6fcb56680cdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 16 Jul 2021 09:49:34 +0200 Subject: [PATCH 096/100] Zoom Room --- Labels.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Labels.txt b/Labels.txt index 2d8b55d..2bcc748 100644 --- a/Labels.txt +++ b/Labels.txt @@ -297,6 +297,7 @@ yubikeymanagerqt zappy zoom zoomclient +zoomrooms zulujdk11 zulujdk13 zulujdk15 From 263e29329c89450a38d969265eede4560b6cd36e Mon Sep 17 00:00:00 2001 From: Greg R <60526422+imfromthebay@users.noreply.github.com> Date: Sat, 17 Jul 2021 12:18:46 -0700 Subject: [PATCH 097/100] Adding Caffeine app to Installomator Adding support for the Caffeine app. --- Installomator.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 9313ebb..0a5ffeb 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1216,6 +1216,14 @@ brave) appNewVersion=$(curl --location --fail --silent "https://updates.bravesoftware.com/sparkle/Brave-Browser/stable/appcast.xml" | xpath '//rss/channel/item[last()]/enclosure/@sparkle:shortVersionString' 2>/dev/null | cut -d '"' -f 2) expectedTeamID="KL8N8XSYF4" ;; +caffeine) + name="Caffeine" + type="dmg" + downloadURL=$(downloadURLFromGit IntelliScape caffeine) + appNewVersion=$(versionFromGit IntelliScape caffeine) + expectedTeamID="YD6LEYT6WZ" + blockingProcesses=( Caffeine ) + ;; cakebrew) name="Cakebrew" type="zip" From 301bc11d20a257d85d8b870fb7370e2b6ef1ad23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Sun, 18 Jul 2021 20:21:31 +0200 Subject: [PATCH 098/100] Minor comment Just added a bit to a comment --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 9313ebb..1686f4a 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -346,7 +346,7 @@ getAppVersion() { fi fi - # get app from /Applications or find using Spotify + # get app in /Applications, or /Applications/Utilities, or find using Spotify if [[ -d "/Applications/$appName" ]]; then applist="/Applications/$appName" elif [[ -d "/Applications/Utilities/$appName" ]]; then From 85318cc5082cc827451ef3b0df749fbbf6ca33a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20B=C3=BChler?= <48823479+adibue@users.noreply.github.com> Date: Mon, 19 Jul 2021 10:30:16 +0200 Subject: [PATCH 099/100] Got 'hyper' ready for Apple Silicon `hyper` now supports Apple Silicon --- Installomator.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Installomator.sh b/Installomator.sh index 1686f4a..8766d4d 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -1772,6 +1772,11 @@ hpeasystart) hyper) name="Hyper" type="dmg" + if [[ $(arch) == i386 ]]; then + archiveName="mac-x64.dmg" + elif [[ $(arch) == arm64 ]]; then + archiveName="mac-arm64.dmg" + fi downloadURL=$(downloadURLFromGit vercel hyper ) appNewVersion=$(versionFromGit vercel hyper) expectedTeamID="JW6Y669B67" From 0c1771375115919a29bca3f952ce825164bf5c94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Tue, 20 Jul 2021 19:51:44 +0200 Subject: [PATCH 100/100] Update Installomator.sh --- Installomator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installomator.sh b/Installomator.sh index 1686f4a..d4e9a11 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -346,7 +346,7 @@ getAppVersion() { fi fi - # get app in /Applications, or /Applications/Utilities, or find using Spotify + # get app in /Applications, or /Applications/Utilities, or find using Spotlight if [[ -d "/Applications/$appName" ]]; then applist="/Applications/$appName" elif [[ -d "/Applications/Utilities/$appName" ]]; then