diff --git a/CHANGELOG.md b/CHANGELOG.md index d927514..f4d3ff6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,41 @@ +## v10beta1 + +- [swiftDialog](https://github.com/bartreardon/swiftDialog) integration (#641, #632), many thanks to @bartreardon, [sample scripts](in the MDM folder) +- added WorkspaceOne option for LOGO (#517) +- added function for JSON parsing with JXA (#529) +- updated assemble.sh script to update Labels.txt when script is rebuilt (#540) +- added a no requisite install script (#493) +- GitHub lookup now don't use API calls, this should avoid or at least reduce rate limiting (#543) +- fixed redundant exit codes (#643, #561) + +NOTE: some exit codes have changed! see [Installomator Exit Codes](https://github.com/Installomator/Installomator/wiki/Installomator-Exit-Codes) for a list + +- new labels: + - bluejeanswithaudiodriver (#473) + - duodevicehealth (#548) + - googlechromeenterprise (#532) + - ipswupdater (#545) + - mmhmm (#571) + - nordlayer (#419) + - prune (#538) + - whatroute (#560) +- updated labels: + - blender (#535, #622) + - camtasia2019 (#547) + - clickshare (#565) + - egnyte (#500) + - googledrive (#563) + - grammarly (#576) + - marathon, marathon2, marathoninfinity (#544) + - miro (#475, #539) + - notion (#566) + - ringcentralapp (#550) + - sublimetext (#593, #578, #567, #623, #626) + - talkdeskcallbar (#536) + - talkdeskcxcloud (#537) + - wireshark (#585) + + ## v9.2 **Note**: Both Google and Mozilla recommend using the pkg installers instead of the dmg downloads for managed deployments. So far, Installomator has provided labels for both. (`googlechrome` and `googlechromepkg` or `firefox` and `firefoxpkg`, respectively) Since there are problems with the dmg downloads, a future release of Installomator will _disable_ the `firefox` and `googlechrome` dmg labels. You should switch to using `googlechromepkg` and `firefoxpkg` labels instead. diff --git a/Installomator.sh b/Installomator.sh index 54d2fbb..0c689d4 100755 --- a/Installomator.sh +++ b/Installomator.sh @@ -81,7 +81,6 @@ LOGO=appstore # - mosylem Mosyle Manager (Education) # - addigy Addigy # - microsoft Microsoft Endpoint Manager (Intune) -# - ws1 Workspace ONE (AirWatch) # 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 have to be escaped). @@ -303,8 +302,8 @@ if [[ $(/usr/bin/arch) == "arm64" ]]; then rosetta2=no fi fi -VERSION="10.0beta" -VERSIONDATE="2022-05-19" +VERSION="10.0beta1" +VERSIONDATE="2022-08-12" # MARK: Functions @@ -330,7 +329,7 @@ cleanupAndExit() { # $1 = exit code, $2 message, $3 level printlog "$2" $3 fi printlog "################## End Installomator, exit code $1 \n" REQ - + # if label is wrong and we wanted name of the label, then return ################## if [[ $RETURN_LABEL_NAME -eq 1 ]]; then 1=0 # If only label name should be returned we exit without any errors @@ -368,13 +367,10 @@ displaydialogContinue() { # $1: message $2: title displaynotification() { # $1: message $2: title message=${1:-"Message"} title=${2:-"Notification"} - hubcli="/usr/local/bin/hubcli" manageaction="/Library/Application Support/JAMF/bin/Management Action.app/Contents/MacOS/Management Action" if [[ -x "$manageaction" ]]; then "$manageaction" -message "$message" -title "$title" - elif [[ -x "$hubcli" ]]; then - "$hubcli" notify -t "$title" -i "$message" -c "Dismiss" else runAsUser osascript -e "display notification \"$message\" with title \"$title\"" fi @@ -467,11 +463,11 @@ downloadURLFromGit() { # $1 git user name, $2 git repo name fi if [ -n "$archiveName" ]; then - downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" \ - | awk -F '"' "/browser_download_url/ && /$archiveName\"/ { print \$4; exit }") + #downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$archiveName\"/ { print \$4; exit }") + downloadURL=https://github.com$(curl -sL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -o "\/$gitusername\/$gitreponame.*$archiveName.*") else - downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" \ - | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") + #downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }") + downloadURL=https://github.com$(curl -sL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -o "\/$gitusername\/$gitreponame.*\.$filetype") fi if [ -z "$downloadURL" ]; then cleanupAndExit 9 "could not retrieve download URL for $gitusername/$gitreponame" ERROR @@ -487,7 +483,8 @@ versionFromGit() { gitusername=${1?:"no git user name"} gitreponame=${2?:"no git repo name"} - appNewVersion=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | grep tag_name | cut -d '"' -f 4 | sed 's/[^0-9\.]//g') + #appNewVersion=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | grep tag_name | cut -d '"' -f 4 | sed 's/[^0-9\.]//g') + appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g') if [ -z "$appNewVersion" ]; then printlog "could not retrieve version number for $gitusername/$gitreponame" WARN appNewVersion="" @@ -510,6 +507,16 @@ xpath() { fi } +# from @Pico: https://macadmins.slack.com/archives/CGXNNJXJ9/p1652222365989229?thread_ts=1651786411.413349&cid=CGXNNJXJ9 +getJSONValue() { + # $1: JSON string OR file path to parse (tested to work with up to 1GB string and 2GB file). + # $2: JSON key path to look up (using dot or bracket notation). + printf '%s' "$1" | /usr/bin/osascript -l 'JavaScript' \ + -e "let json = $.NSString.alloc.initWithDataEncoding($.NSFileHandle.fileHandleWithStandardInput.readDataToEndOfFile$(/usr/bin/uname -r | /usr/bin/awk -F '.' '($1 > 18) { print "AndReturnError(ObjC.wrap())" }'), $.NSUTF8StringEncoding)" \ + -e 'if ($.NSFileManager.defaultManager.fileExistsAtPath(json)) json = $.NSString.stringWithContentsOfFileEncodingError(json, $.NSUTF8StringEncoding, ObjC.wrap())' \ + -e "const value = JSON.parse(json.js)$([ -n "${2%%[.[]*}" ] && echo '.')$2" \ + -e 'if (typeof value === "object") { JSON.stringify(value, null, 4) } else { value }' +} getAppVersion() { # modified by: Søren Theilgaard (@theilgaard) and Isaac Ordonez @@ -1375,10 +1382,11 @@ adobecreativeclouddesktop) name="Adobe Creative Cloud" #appName="Install.app" type="dmg" + adobeurl="https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" if [[ $(arch) == "arm64" ]]; then - downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*macarm64.*dmg" | cut -d '"' -f1 | head -1) + downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'osx10')][contains(text(),'Download')]/@href)" - 2> /dev/null) elif [[ $(arch) == "i386" ]]; then - downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*osx10.*dmg" | cut -d '"' -f1 | head -1) + downloadURL=$(curl -fs "$adobeurl" | xmllint -html -xpath "string(//a[contains(@href,'macarm64')][contains(text(),'Download')]/@href)" - 2> /dev/null) fi #downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*dmg" | head -1) appNewVersion=$(curl -fs "https://helpx.adobe.com/creative-cloud/release-note/cc-release-notes.html" | grep "mandatory" | head -1 | grep -o "Version *.* released" | cut -d " " -f2) @@ -1747,7 +1755,11 @@ bitwarden) blender) name="blender" type="dmg" - downloadURL=$(redirect=$(curl -sfL https://www.blender.org/download/ | sed 's/.*href="//' | sed 's/".*//' | grep .dmg) && curl -sfL "$redirect" | sed 's/.*href="//' | sed 's/".*//' | grep -m1 .dmg) + if [[ $(arch) == "arm64" ]]; then + downloadURL=$(curl -sfL "https://www.blender.org/download/" | xmllint --html --format - 2>/dev/null | grep -o "https://.*blender.*arm64.*.dmg" | sed '2p;d' | sed 's/www.blender.org\/download/download.blender.org/g') + elif [[ $(arch) == "i386" ]]; then + downloadURL=$(curl -sfL "https://www.blender.org/download/" | xmllint --html --format - 2>/dev/null | grep -o "https://.*blender.*x64.*.dmg" | sed '2p;d' | sed 's/www.blender.org\/download/download.blender.org/g') + fi appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)-.*/\1/g' ) expectedTeamID="68UA947AUU" ;; @@ -1762,6 +1774,18 @@ bluejeans) appNewVersion=$(echo $downloadURL | cut -d '/' -f6) expectedTeamID="HE4P42JBGN" ;; +bluejeanswithaudiodriver) + name="BlueJeans" + type="pkg" + if [[ $(arch) == "arm64" ]]; then + downloadURL=$(curl -fs "https://www.bluejeans.com/downloads" | xmllint --html --format - 2>/dev/null | grep -o "https://.*BlueJeans.*Installer.*arm.*.pkg" ) + elif [[ $(arch) == "i386" ]]; then + downloadURL=$(curl -fs "https://www.bluejeans.com/downloads" | xmllint --html --format - 2>/dev/null | grep -o "https://.*BlueJeansInstaller.*x86.*.dmg" | sed 's/dmg/pkg/g') + fi + appNewVersion=$(echo $downloadURL | cut -d '/' -f6) + choiceChangesXML='attributeSetting1choiceAttributeselectedchoiceIdentifiercom.tatvikmohit.BlueJeans-Audio' + expectedTeamID="HE4P42JBGN" + ;; boxdrive) name="Box" type="pkg" @@ -1911,10 +1935,10 @@ clevershare2) 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) + downloadURL="https://www.barco.com$( curl -fs "https://www.barco.com/en/clickshare/app" | grep -A6 -i "macos" | grep -i "FileNumber" | tr '"' "\n" | grep -i "FileNumber" )" + appNewVersion="$(eval "$( echo $downloadURL | sed -E 's/.*(MajorVersion.*BuildVersion=[0-9]*).*/\1/' | sed 's/&//g' )" ; ((MajorVersion++)) ; ((MajorVersion--)); ((MinorVersion++)) ; ((MinorVersion--)); ((PatchVersion++)) ; ((PatchVersion--)); ((BuildVersion++)) ; ((BuildVersion--)); echo "${MajorVersion}.${MinorVersion}.${PatchVersion}-b${BuildVersion}")" expectedTeamID="P6CDJZR997" ;; clipy) @@ -2193,6 +2217,15 @@ duckduckgo) appNewVersion=$(curl -fs https://staticcdn.duckduckgo.com/macos-desktop-browser/appcast.xml | xpath '(//rss/channel/item/sparkle:shortVersionString)[1]' 2>/dev/null | cut -d ">" -f2 | cut -d "<" -f1) expectedTeamID="HKE973VLUW" ;; +duodevicehealth) + name="Duo Device Health" + type="pkgInDmg" + downloadURL="https://dl.duosecurity.com/DuoDeviceHealth-latest.dmg" + appNewVersion=$(curl -fsLIXGET "https://dl.duosecurity.com/DuoDeviceHealth-latest.dmg" | grep -i "^content-disposition" | sed -e 's/.*filename\=\"DuoDeviceHealth\-\(.*\)\.dmg\".*/\1/') + appName="Duo Device Health.app" + expectedTeamID="FNN8Z5JMFP" + ;; + easeusdatarecoverywizard) # credit: Søren Theilgaard (@theilgaard) name="EaseUS Data Recovery Wizard" @@ -2213,6 +2246,7 @@ egnyte) name="Egnyte Connect" type="pkg" downloadURL="https://egnyte-cdn.egnyte.com/egnytedrive/mac/en-us/latest/EgnyteConnectMac.pkg" + appNewVersion=$(curl -fs "https://egnyte-cdn.egnyte.com/egnytedrive/mac/en-us/versions/default.xml" | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[1]' | cut -d '"' -f 2) expectedTeamID="FELUD555VC" blockingProcesses=( NONE ) ;; @@ -2343,7 +2377,8 @@ firefox) name="Firefox" type="dmg" downloadURL="https://download.mozilla.org/?product=firefox-latest&os=osx&lang=en-US" - appNewVersion=$(curl -fs https://www.mozilla.org/en-US/firefox/releases/ | grep '/dev/null | cut -d '"' -f 2) + downloadURL="https://download-mac.grammarly.com/Grammarly.dmg" expectedTeamID="W8F64X92K3" - appNewVersion=$(curl -is "https://download-mac.grammarly.com/appcast.xml" | grep sparkle:version | tr ',' '\n' | grep sparkle:version | cut -d '"' -f 4) # appName="Grammarly Installer.app" installerTool="Grammarly Installer.app" CLIInstaller="Grammarly Installer.app/Contents/MacOS/Grammarly Desktop" @@ -2803,6 +2858,14 @@ installomator_theile) expectedTeamID="JME5BW3F3R" blockingProcesses=( NONE ) ;; +ipswupdater) + name="IPSW Updater" + type="zip" + ipswupdaterVersions=$(curl -fs "https://ipsw.app/download/updates.php?current_version=0.9.16") + downloadURL=$(getJSONValue "$ipswupdaterVersions" "[0].url") + appNewVersion=$(getJSONValue "$ipswupdaterVersions" "[0].version") + expectedTeamID="YRW6NUGA63" + ;; istatmenus) # credit: AP Orlebeke (@apizz) name="iStat Menus" @@ -3244,6 +3307,7 @@ marathon) name="Marathon" type="dmg" archiveName="Marathon-[0-9.]*-Mac.dmg" + versionKey="CFBundleVersion" downloadURL="$(downloadURLFromGit Aleph-One-Marathon alephone)" appNewVersion="$(versionFromGit Aleph-One-Marathon alephone)" expectedTeamID="E8K89CXZE7" @@ -3252,6 +3316,7 @@ marathon2) name="Marathon 2" type="dmg" archiveName="Marathon2-[0-9.]*-Mac.dmg" + versionKey="CFBundleVersion" downloadURL="$(downloadURLFromGit Aleph-One-Marathon alephone)" appNewVersion="$(versionFromGit Aleph-One-Marathon alephone)" expectedTeamID="E8K89CXZE7" @@ -3260,6 +3325,7 @@ marathoninfinity) name="Marathon Infinity" type="dmg" archiveName="MarathonInfinity-[0-9.]*-Mac.dmg" + versionKey="CFBundleVersion" downloadURL="$(downloadURLFromGit Aleph-One-Marathon alephone)" appNewVersion="$(versionFromGit Aleph-One-Marathon alephone)" expectedTeamID="E8K89CXZE7" @@ -3569,9 +3635,21 @@ miro) # credit: @matins name="Miro" type="dmg" - downloadURL="https://desktop.miro.com/platforms/darwin/Miro.dmg" + if [[ $(arch) == arm64 ]]; then + downloadURL="https://desktop.miro.com/platforms/darwin-arm64/Miro.dmg" + elif [[ $(arch) == i386 ]]; then + downloadURL="https://desktop.miro.com/platforms/darwin/Miro.dmg" + fi expectedTeamID="M3GM7MFY7U" ;; +mmhmm) + name="mmhmm" + type="pkg" + downloadURL="https://updates.mmhmm.app/mac/mmhmm.pkg" + curlOptions=( -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15" ) + appNewVersion=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -fs "https://help.mmhmm.app/hc/en-us/articles/4420969712151-mmhmm-for-Mac" | grep 'The latest version of mmhmm for Mac is *' | sed -e 's/.*\\(.*\)\.\<\/strong\>.*/\1/') + expectedTeamID="M3KUT44L48" + ;; mobikinassistantforandroid) name="MobiKin Assistant for Android" type="dmg" @@ -3733,16 +3811,24 @@ nomadlogin) appNewVersion=$(curl -fs https://nomad.menu/support/ | grep "NoMAD Login AD Downloads" | sed -E 's/.*Current Version ([0-9\.]*)<.*/\1/g') expectedTeamID="AAPZK3CB24" ;; +nordlayer) + # credit: Taboc741 (https://github.com/taboc741) + name="NordLayer" + type="pkg" + downloadURL="https://downloads.nordlayer.com/mac/latest/NordLayer.pkg" + expectedTeamID="W5W395V82Y" + ;; notion) # credit: Søren Theilgaard (@theilgaard) name="Notion" type="dmg" if [[ $(arch) == "arm64" ]]; then downloadURL="https://www.notion.so/desktop/apple-silicon/download" + appNewVersion=$( curl -fsIL "https://www.notion.so/desktop/apple-silicon/download" | grep -i "^location" | awk '{print $2}' | sed -e 's/.*Notion\-\(.*\)\-arm64.dmg.*/\1/' ) elif [[ $(arch) == "i386" ]]; then downloadURL="https://www.notion.so/desktop/mac/download" + appNewVersion=$( curl -fsIL "https://www.notion.so/desktop/mac/download" | grep -i "^location" | awk '{print $2}' | sed -e 's/.*Notion\-\(.*\).dmg.*/\1/' ) fi - appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | tr -d '\r\n' | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' ) expectedTeamID="LBQJ96FQ8D" ;; nudge) @@ -4062,6 +4148,13 @@ proxyman) appNewVersion="$(versionFromGit ProxymanApp Proxyman)" expectedTeamID="3X57WP8E8V" ;; +prune) + name="Prune" + type="zip" + downloadURL=$(downloadURLFromGit BIG-RAT Prune) + appNewVersion=$(versionFromGit BIG-RAT Prune) + expectedTeamID="PS2F6S478M" +;; pymol) name="PyMOL" type="dmg" @@ -4170,7 +4263,7 @@ ricohpsprinters) ;; ringcentralapp) # credit: Isaac Ordonez, Mann consulting (@mannconsulting) - name="Ringcentral" + name="RingCentral" type="pkg" if [[ $(arch) != "i386" ]]; then downloadURL="https://app.ringcentral.com/download/RingCentral-arm64.pkg" @@ -4178,7 +4271,7 @@ ringcentralapp) downloadURL="https://app.ringcentral.com/download/RingCentral.pkg" fi expectedTeamID="M932RC5J66" - blockingProcesses=( "Ringcentral" ) + blockingProcesses=( "RingCentral" ) ;; ringcentralclassicapp) name="Glip" @@ -4521,7 +4614,7 @@ sublimetext) # credit: Søren Theilgaard (@theilgaard) name="Sublime Text" type="zip" - downloadURL="$(curl -fs https://www.sublimetext.com/download | grep -io "https://download.*_mac.zip")" + downloadURL="$(curl -fs "https://www.sublimetext.com/download_thanks?target=mac#direct-downloads" | grep -io "https://download.*_mac.zip" | head -1)" appNewVersion=$(curl -fs https://www.sublimetext.com/download | grep -i -A 4 "id.*changelog" | grep -io "Build [0-9]*") expectedTeamID="Z6D26JE4Y4" ;; @@ -4600,14 +4693,16 @@ tageditor) talkdeskcallbar) name="Callbar" type="dmg" - appNewVersion=$(curl -fsL https://downloadcallbar.talkdesk.com/release_metadata.json | sed -n 's/^.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*$/\1/p') + talkdeskcallbarVersions=$(curl -fsL "https://downloadcallbar.talkdesk.com/release_metadata.json") + appNewVersion=$(getJSONValue "$talkdeskcallbarVersions" "version") downloadURL=https://downloadcallbar.talkdesk.com/Callbar-${appNewVersion}.dmg expectedTeamID="YGGJX44TB8" ;; talkdeskcxcloud) name="Talkdesk" type="dmg" - appNewVersion=$(curl -fs https://td-infra-prd-us-east-1-s3-atlaselectron.s3.amazonaws.com/talkdesk-latest-metadata.json | sed -n -e 's/^.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*$/\1/p' | head -n 1) + talkdeskcxcloudVersions=$(curl -fs "https://td-infra-prd-us-east-1-s3-atlaselectron.s3.amazonaws.com/talkdesk-latest-metadata.json") + appNewVersion=$(getJSONValue "$talkdeskcxcloudVersions" "[0].version") downloadURL="https://td-infra-prd-us-east-1-s3-atlaselectron.s3.amazonaws.com/talkdesk-${appNewVersion}.dmg" expectedTeamID="YGGJX44TB8" ;; @@ -4955,6 +5050,13 @@ wechat) downloadURL="https://dldir1.qq.com/weixin/mac/WeChatMac.dmg" expectedTeamID="5A4RE8SF68" ;; +whatroute) + name="WhatRoute" + type="zip" + downloadURL="$(curl -fs https://www.whatroute.net/whatroute2appcast.xml | xpath '(//rss/channel/item/enclosure/@url)[1]' 2>/dev/null | cut -d '"' -f2)" + appNewVersion="$(curl -fs https://www.whatroute.net/whatroute2appcast.xml | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[1]' 2>/dev/null | cut -d '"' -f2)" + expectedTeamID="H5879E8LML" + ;; whatsapp) name="WhatsApp" type="dmg" @@ -4980,12 +5082,12 @@ wickrpro) wireshark) name="Wireshark" type="dmg" - if [[ $(arch) == i386 ]]; then - downloadURL="https://1.as.dl.wireshark.org/osx/Wireshark%20Latest%20Intel%2064.dmg" - elif [[ $(arch) == arm64 ]]; then - downloadURL="https://1.as.dl.wireshark.org/osx/Wireshark%20Latest%20Arm%2064.dmg" - fi appNewVersion=$(curl -fs https://www.wireshark.org/download.html | grep -i "href.*_stable" | sed -E 's/.*\(([0-9.]*)\).*/\1/g') + if [[ $(arch) == i386 ]]; then + downloadURL="https://1.as.dl.wireshark.org/osx/Wireshark%20$appNewVersion%20Intel%2064.dmg" + elif [[ $(arch) == arm64 ]]; then + downloadURL="https://1.as.dl.wireshark.org/osx/Wireshark%20$appNewVersion%20Arm%2064.dmg" + fi expectedTeamID="7Z6EMTD2C6" ;; wordservice) @@ -5268,11 +5370,6 @@ case $LOGO in LOGO="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns" if [[ -z $MDMProfileName ]]; then; MDMProfileName="Management Profile"; fi ;; - ws1) - # Workspace ONE - LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns" - if [[ -z $MDMProfileName ]]; then; MDMProfileName="Device Manager"; fi - ;; esac if [[ ! -a "${LOGO}" ]]; then if [[ $(sw_vers -buildVersion) > "19" ]]; then diff --git a/Labels.txt b/Labels.txt index e294113..674ddf2 100644 --- a/Labels.txt +++ b/Labels.txt @@ -56,6 +56,7 @@ bettertouchtool bitwarden blender bluejeans +bluejeanswithaudiodriver boxdrive boxsync boxtools @@ -110,6 +111,7 @@ drawio drift dropbox duckduckgo +duodevicehealth easeusdatarecoverywizard easyfind egnyte @@ -146,6 +148,7 @@ gimp githubdesktop golang googlechrome +googlechromeenterprise googlechromepkg googledrive googledrivebackupandsync @@ -181,6 +184,7 @@ insomnia installomator installomator_theile intellijideace +ipswupdater istatmenus iterm2 itsycal @@ -259,6 +263,7 @@ microsoftyammer mightymike mindmanager miro +mmhmm mobikinassistantforandroid mochakeyboard mochatelnet @@ -274,6 +279,7 @@ netnewswire nextcloud nomad nomadlogin +nordlayer notion nudge nvivo @@ -317,6 +323,7 @@ promiseutilityr propresenter7 protonvpn proxyman +prune pycharmce pymol qgis-pr @@ -437,6 +444,7 @@ webex webexmeetings webexteams wechat +whatroute whatsapp wickrme wickrpro diff --git a/fragments/version.sh b/fragments/version.sh index cdefeb2..8bfae47 100644 --- a/fragments/version.sh +++ b/fragments/version.sh @@ -1 +1 @@ -10.0beta +10.0beta1