mirror of
https://github.com/mtan93/Installomator.git
synced 2026-03-08 05:31:53 +00:00
updated changelog and main script
This commit is contained in:
59
CHANGELOG.md
59
CHANGELOG.md
@@ -1,3 +1,62 @@
|
|||||||
|
## v10beta2
|
||||||
|
|
||||||
|
- fixed problem with GitHub labels (#659)
|
||||||
|
- bz2 archive support (#659)
|
||||||
|
- fixed WorkspaceOne support (#653)
|
||||||
|
|
||||||
|
Plus everything from v10beta1
|
||||||
|
|
||||||
|
- new labels:
|
||||||
|
- abetterfinderrename11 (#552)
|
||||||
|
- carboncopycloner (#553)
|
||||||
|
- cocoapods (#659)
|
||||||
|
- coconutbattery (#588)
|
||||||
|
- cricutdesignspace (#562)
|
||||||
|
- dynalist (#591)
|
||||||
|
- fellow (#591)
|
||||||
|
- flexoptixapp (#554)
|
||||||
|
- googleadseditor (#652, #541)
|
||||||
|
- kap (#568)
|
||||||
|
- keepingyouawake (#549)
|
||||||
|
- lcadvancedvpnclient (#584)
|
||||||
|
- masv (#569)
|
||||||
|
- merlinproject (#555)
|
||||||
|
- mongodbcompass (#654)
|
||||||
|
- netspot (#556)
|
||||||
|
- relatel (#619)
|
||||||
|
- sonicvisualiser (#575)
|
||||||
|
- strongdm (#559)
|
||||||
|
- synologyassistant (#557)
|
||||||
|
- synologydriveclient (#582)
|
||||||
|
- tencentmeeting (#570)
|
||||||
|
- typinator (#583)
|
||||||
|
- xcreds (#675)
|
||||||
|
- updated labels:
|
||||||
|
- acroniscyberprotectconnect/remotix (#664)
|
||||||
|
- acroniscyberprotectconnectagent/remotixagent (#664)
|
||||||
|
- awsvpnclient (#586)
|
||||||
|
- boxtools (#589)
|
||||||
|
- clevershare2 (#664)
|
||||||
|
- coderunner (#664)
|
||||||
|
- colourcontrastanalyser (#664)
|
||||||
|
- cryptomator (#664)
|
||||||
|
- dangerzone (#664)
|
||||||
|
- drawio (#664)
|
||||||
|
- golang (#664)
|
||||||
|
- icons (#664)
|
||||||
|
- insomnia (#664)
|
||||||
|
- knockknock (#664)
|
||||||
|
- libreoffice (#672)
|
||||||
|
- macports
|
||||||
|
- opera (#664)
|
||||||
|
- supportapp (#664)
|
||||||
|
- vmwarehorizonclient (#645, #511)
|
||||||
|
- deleted/deactivated labels:
|
||||||
|
- microsoftyammer (#664)
|
||||||
|
- wickrme (#664)
|
||||||
|
- wickrpro (#664)
|
||||||
|
|
||||||
|
|
||||||
## v10beta1
|
## v10beta1
|
||||||
|
|
||||||
- [swiftDialog](https://github.com/bartreardon/swiftDialog) integration (#641, #632), many thanks to @bartreardon, [sample scripts](in the MDM folder)
|
- [swiftDialog](https://github.com/bartreardon/swiftDialog) integration (#641, #632), many thanks to @bartreardon, [sample scripts](in the MDM folder)
|
||||||
|
|||||||
360
Installomator.sh
360
Installomator.sh
@@ -80,6 +80,7 @@ LOGO=appstore
|
|||||||
# - mosylem Mosyle Manager (Education)
|
# - mosylem Mosyle Manager (Education)
|
||||||
# - addigy Addigy
|
# - addigy Addigy
|
||||||
# - microsoft Microsoft Endpoint Manager (Intune)
|
# - 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.
|
# 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"'
|
# Like 'LOGO="/System/Applications/App\ Store.app/Contents/Resources/AppIcon.icns"'
|
||||||
# (spaces have to be escaped).
|
# (spaces have to be escaped).
|
||||||
@@ -322,7 +323,7 @@ if [[ $(/usr/bin/arch) == "arm64" ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
VERSION="10.0beta2"
|
VERSION="10.0beta2"
|
||||||
VERSIONDATE="2022-08-31"
|
VERSIONDATE="2022-09-02"
|
||||||
|
|
||||||
# MARK: Functions
|
# MARK: Functions
|
||||||
|
|
||||||
@@ -390,9 +391,12 @@ displaynotification() { # $1: message $2: title
|
|||||||
message=${1:-"Message"}
|
message=${1:-"Message"}
|
||||||
title=${2:-"Notification"}
|
title=${2:-"Notification"}
|
||||||
manageaction="/Library/Application Support/JAMF/bin/Management Action.app/Contents/MacOS/Management Action"
|
manageaction="/Library/Application Support/JAMF/bin/Management Action.app/Contents/MacOS/Management Action"
|
||||||
|
hubcli="/usr/local/bin/hubcli"
|
||||||
|
|
||||||
if [[ -x "$manageaction" ]]; then
|
if [[ -x "$manageaction" ]]; then
|
||||||
"$manageaction" -message "$message" -title "$title"
|
"$manageaction" -message "$message" -title "$title"
|
||||||
|
elif [[ -x "$hubcli" ]]; then
|
||||||
|
"$hubcli" notify -t "$title" -i "$message" -c "Dismiss"
|
||||||
else
|
else
|
||||||
runAsUser osascript -e "display notification \"$message\" with title \"$title\""
|
runAsUser osascript -e "display notification \"$message\" with title \"$title\""
|
||||||
fi
|
fi
|
||||||
@@ -486,10 +490,10 @@ downloadURLFromGit() { # $1 git user name, $2 git repo name
|
|||||||
|
|
||||||
if [ -n "$archiveName" ]; then
|
if [ -n "$archiveName" ]; then
|
||||||
#downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$archiveName\"/ { print \$4; exit }")
|
#downloadURL=$(curl -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.*")
|
downloadURL=https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*$archiveName" | head -1)
|
||||||
else
|
else
|
||||||
#downloadURL=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
|
#downloadURL=$(curl -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")
|
downloadURL=https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)
|
||||||
fi
|
fi
|
||||||
if [ -z "$downloadURL" ]; then
|
if [ -z "$downloadURL" ]; then
|
||||||
cleanupAndExit 14 "could not retrieve download URL for $gitusername/$gitreponame" ERROR
|
cleanupAndExit 14 "could not retrieve download URL for $gitusername/$gitreponame" ERROR
|
||||||
@@ -1311,7 +1315,7 @@ updateDialog() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# when to cmdfile is set, do nothing
|
# when to cmdfile is set, do nothing
|
||||||
if [[ $$cmd_file == "" ]]; then
|
if [[ $cmd_file == "" ]]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1521,6 +1525,13 @@ valuesfromarguments)
|
|||||||
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/' )
|
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"
|
expectedTeamID="FC967L3QRG"
|
||||||
;;
|
;;
|
||||||
|
abetterfinderrename11)
|
||||||
|
name="A Better Finder Rename 11"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://www.publicspace.net/download/ABFRX11.dmg"
|
||||||
|
appNewVersion=$(curl -fs "https://www.publicspace.net/app/signed_abfr11.xml" | xpath '(//rss/channel/item/enclosure/@sparkle:version)' 2>/dev/null | cut -d '"' -f 2)
|
||||||
|
expectedTeamID="7Y9KW4ND8W"
|
||||||
|
;;
|
||||||
abstract)
|
abstract)
|
||||||
name="Abstract"
|
name="Abstract"
|
||||||
type="zip"
|
type="zip"
|
||||||
@@ -1528,6 +1539,25 @@ abstract)
|
|||||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
|
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
|
||||||
expectedTeamID="77MZLZE47D"
|
expectedTeamID="77MZLZE47D"
|
||||||
;;
|
;;
|
||||||
|
acroniscyberprotectconnect|\
|
||||||
|
remotix)
|
||||||
|
name="Acronis Cyber Protect Connect"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://go.acronis.com/AcronisCyberProtectConnect_ForMac"
|
||||||
|
versionKey="CFBundleVersion"
|
||||||
|
appNewVersion=$(curl -fsIL "${downloadURL}" | grep -i "^location" | sed -E 's/.*\/[a-zA-Z]*-[0-9.]*-([0-9.]*)\.dmg/\1/g')
|
||||||
|
expectedTeamID="ZU2TV78AA6"
|
||||||
|
;;
|
||||||
|
acroniscyberprotectconnectagent|\
|
||||||
|
remotixagent)
|
||||||
|
name="Acronis Cyber Protect Connect Agent"
|
||||||
|
type="pkg"
|
||||||
|
#packageID="com.nulana.rxagentmac"
|
||||||
|
downloadURL="https://go.acronis.com/AcronisCyberProtectConnect_AgentForMac"
|
||||||
|
versionKey="CFBundleVersion"
|
||||||
|
appNewVersion=$(curl -fsIL "${downloadURL}" | grep -i "^location" | sed -E 's/.*\/[a-zA-Z]*-[0-9.]*-([0-9.]*)\.pkg/\1/g')
|
||||||
|
expectedTeamID="H629V387SY"
|
||||||
|
;;
|
||||||
adobebrackets)
|
adobebrackets)
|
||||||
name="Brackets"
|
name="Brackets"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -1852,7 +1882,7 @@ awsvpnclient)
|
|||||||
type="pkg"
|
type="pkg"
|
||||||
downloadURL="https://d20adtppz83p9s.cloudfront.net/OSX/latest/AWS_VPN_Client.pkg"
|
downloadURL="https://d20adtppz83p9s.cloudfront.net/OSX/latest/AWS_VPN_Client.pkg"
|
||||||
expectedTeamID="94KV3E626L"
|
expectedTeamID="94KV3E626L"
|
||||||
appNewVersion=$(curl -is "https://beta2.communitypatch.com/jamf/v1/ba1efae22ae74a9eb4e915c31fef5dd2/patch/AWSVPNClient" | grep currentVersion | tr ',' '\n' | grep currentVersion | cut -d '"' -f 4)
|
#appNewVersion=$(curl -is "https://beta2.communitypatch.com/jamf/v1/ba1efae22ae74a9eb4e915c31fef5dd2/patch/AWSVPNClient" | grep currentVersion | tr ',' '\n' | grep currentVersion | cut -d '"' -f 4)
|
||||||
;;
|
;;
|
||||||
axurerp10)
|
axurerp10)
|
||||||
name="Axure RP 10"
|
name="Axure RP 10"
|
||||||
@@ -1969,6 +1999,7 @@ boxtools)
|
|||||||
name="Box Tools"
|
name="Box Tools"
|
||||||
type="pkg"
|
type="pkg"
|
||||||
downloadURL="https://box-installers.s3.amazonaws.com/boxedit/mac/currentrelease/BoxToolsInstaller.pkg"
|
downloadURL="https://box-installers.s3.amazonaws.com/boxedit/mac/currentrelease/BoxToolsInstaller.pkg"
|
||||||
|
packageID="com.box.boxtools.installer.boxedit"
|
||||||
expectedTeamID="M683GB7CPW"
|
expectedTeamID="M683GB7CPW"
|
||||||
;;
|
;;
|
||||||
brave)
|
brave)
|
||||||
@@ -2073,6 +2104,13 @@ canva)
|
|||||||
fi
|
fi
|
||||||
expectedTeamID="5HD2ARTBFS"
|
expectedTeamID="5HD2ARTBFS"
|
||||||
;;
|
;;
|
||||||
|
carboncopycloner)
|
||||||
|
name="Carbon Copy Cloner"
|
||||||
|
type="zip"
|
||||||
|
downloadURL=$(curl -fsIL "https://bombich.com/software/download_ccc.php?v=latest" | grep -i ^location | sed -E 's/.*(https.*\.zip).*/\1/g')
|
||||||
|
appNewVersion=$(sed -E 's/.*-([0-9.]*)\.zip/\1/g' <<< $downloadURL | sed 's/\.[^.]*$//')
|
||||||
|
expectedTeamID="L4F2DED5Q7"
|
||||||
|
;;
|
||||||
chatwork)
|
chatwork)
|
||||||
name="Chatwork"
|
name="Chatwork"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -2097,8 +2135,9 @@ citrixworkspace)
|
|||||||
clevershare2)
|
clevershare2)
|
||||||
name="Clevershare"
|
name="Clevershare"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL=$(curl -fs https://www.clevertouch.com/eu/clevershare2g | grep -i -o -E "https.*Mac.*\.dmg")
|
printlog "Label for $name broken in test" ERROR
|
||||||
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z-]*_Mac\.([0-9.]*)\.[0-9]*\.dmg$/\1/g' )
|
downloadURL=$(curl -fs https://www.clevertouch.com/eu/clevershare2g | grep -i -o -E "https.*notarized.*\.dmg")
|
||||||
|
appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/([0-9.]*)\/[0-9]*\/.*\.dmg$/\1/')
|
||||||
expectedTeamID="P76M9BE8DQ"
|
expectedTeamID="P76M9BE8DQ"
|
||||||
;;
|
;;
|
||||||
clickshare)
|
clickshare)
|
||||||
@@ -2147,6 +2186,20 @@ cluefull)
|
|||||||
versionKey="CFBundleVersion"
|
versionKey="CFBundleVersion"
|
||||||
expectedTeamID="3NX6B9TB2F"
|
expectedTeamID="3NX6B9TB2F"
|
||||||
;;
|
;;
|
||||||
|
cocoapods)
|
||||||
|
name="CocoaPods"
|
||||||
|
type="bz2"
|
||||||
|
downloadURL="$(downloadURLFromGit CocoaPods CocoaPods-app)"
|
||||||
|
appNewVersion="$(versionFromGit CocoaPods CocoaPods-app)"
|
||||||
|
expectedTeamID="AX2Q2BH2XR"
|
||||||
|
;;
|
||||||
|
coconutbattery)
|
||||||
|
name="coconutBattery"
|
||||||
|
type="zip"
|
||||||
|
downloadURL="https://coconut-flavour.com/downloads/coconutBattery_latest.zip"
|
||||||
|
appNewVersion=$(curl -fs https://www.coconut-flavour.com/coconutbattery/ | grep "<title>" | sed -e 's/.*coconutBattery \(.*\) - by coconut-flavour.co.*/\1/')
|
||||||
|
expectedTeamID="R5SC3K86L5"
|
||||||
|
;;
|
||||||
code42)
|
code42)
|
||||||
name="Code42"
|
name="Code42"
|
||||||
type="pkgInDmg"
|
type="pkgInDmg"
|
||||||
@@ -2159,14 +2212,14 @@ code42)
|
|||||||
blockingProcesses=( NONE )
|
blockingProcesses=( NONE )
|
||||||
;;
|
;;
|
||||||
coderunner)
|
coderunner)
|
||||||
# credit: Erik Stam (@erikstam)
|
|
||||||
name="CodeRunner"
|
name="CodeRunner"
|
||||||
type="zip"
|
type="zip"
|
||||||
downloadURL="https://coderunnerapp.com/download"
|
downloadURL="https://coderunnerapp.com/download"
|
||||||
|
appNewVersion=$(curl -fsIL ${downloadURL} | grep -i "^location" | cut -d " " -f2 | sed -E 's/.*CodeRunner-([0-9.]*).zip/\1/')
|
||||||
expectedTeamID="R4GD98AJF9"
|
expectedTeamID="R4GD98AJF9"
|
||||||
;;
|
;;
|
||||||
colourcontrastanalyser)
|
colourcontrastanalyser)
|
||||||
name="Colour Contrast Analyser (CCA)"
|
name="Colour Contrast Analyser"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL=$(downloadURLFromGit ThePacielloGroup CCAe)
|
downloadURL=$(downloadURLFromGit ThePacielloGroup CCAe)
|
||||||
appNewVersion=$(versionFromGit ThePacielloGroup CCAe)
|
appNewVersion=$(versionFromGit ThePacielloGroup CCAe)
|
||||||
@@ -2196,9 +2249,22 @@ craftmanagerforsketch)
|
|||||||
appNewVersion=$(curl -fs https://craft-assets.invisionapp.com/CraftManager/production/appcast.xml | xpath '//rss/channel/item[1]/enclosure/@sparkle:shortVersionString' 2>/dev/null | cut -d '"' -f2)
|
appNewVersion=$(curl -fs https://craft-assets.invisionapp.com/CraftManager/production/appcast.xml | xpath '//rss/channel/item[1]/enclosure/@sparkle:shortVersionString' 2>/dev/null | cut -d '"' -f2)
|
||||||
expectedTeamID="VRXQSNCL5W"
|
expectedTeamID="VRXQSNCL5W"
|
||||||
;;
|
;;
|
||||||
|
cricutdesignspace)
|
||||||
|
name="Cricut Design Space"
|
||||||
|
type="dmg"
|
||||||
|
appNewVersion=$(getJSONValue "$(curl -fsL https://s3-us-west-2.amazonaws.com/staticcontent.cricut.com/a/software/osx-native/latest.json)" "rolloutVersion")
|
||||||
|
downloadURL=$(getJSONValue $(curl -fsL "https://apis.cricut.com/desktopdownload/InstallerFile?shard=a&operatingSystem=osxnative&fileName=CricutDesignSpace-Install-v${appNewVersion}.dmg") "result")
|
||||||
|
expectedTeamID="25627ZFVT7"
|
||||||
|
;;
|
||||||
cryptomator)
|
cryptomator)
|
||||||
name="Cryptomator"
|
name="Cryptomator"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
|
if [[ $(arch) == "arm64" ]]; then
|
||||||
|
archiveName="Cryptomator-[0-9.]*-arm64.dmg"
|
||||||
|
|
||||||
|
elif [[ $(arch) == "i386" ]]; then
|
||||||
|
archiveName="Cryptomator-[0-9.]*.dmg"
|
||||||
|
fi
|
||||||
downloadURL=$(downloadURLFromGit cryptomator cryptomator)
|
downloadURL=$(downloadURLFromGit cryptomator cryptomator)
|
||||||
appNewVersion=$(versionFromGit cryptomator cryptomator)
|
appNewVersion=$(versionFromGit cryptomator cryptomator)
|
||||||
expectedTeamID="YZQJQUHA3L"
|
expectedTeamID="YZQJQUHA3L"
|
||||||
@@ -2220,8 +2286,8 @@ daisydisk)
|
|||||||
dangerzone)
|
dangerzone)
|
||||||
name="Dangerzone"
|
name="Dangerzone"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL="$(downloadURLFromGit firstlookmedia dangerzone)"
|
downloadURL="$(downloadURLFromGit freedomofpress dangerzone)"
|
||||||
appNewVersion="$(versionFromGit firstlookmedia dangerzone)"
|
appNewVersion="$(versionFromGit freedomofpress dangerzone)"
|
||||||
expectedTeamID="N9B95FDWH4"
|
expectedTeamID="N9B95FDWH4"
|
||||||
;;
|
;;
|
||||||
darktable)
|
darktable)
|
||||||
@@ -2354,7 +2420,7 @@ dockutil)
|
|||||||
drawio)
|
drawio)
|
||||||
name="draw.io"
|
name="draw.io"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
archiveName="draw.io-universal-[0-9.]*.dmg"
|
archiveName="draw.io-universal-[0-9.]*.dmg$"
|
||||||
downloadURL="$(downloadURLFromGit jgraph drawio-desktop)"
|
downloadURL="$(downloadURLFromGit jgraph drawio-desktop)"
|
||||||
appNewVersion="$(versionFromGit jgraph drawio-desktop)"
|
appNewVersion="$(versionFromGit jgraph drawio-desktop)"
|
||||||
expectedTeamID="UZEUFB4N53"
|
expectedTeamID="UZEUFB4N53"
|
||||||
@@ -2393,6 +2459,13 @@ duodevicehealth)
|
|||||||
expectedTeamID="FNN8Z5JMFP"
|
expectedTeamID="FNN8Z5JMFP"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
dynalist)
|
||||||
|
name="Dynalist"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://dynalist.io/standalone/download?file=Dynalist.dmg"
|
||||||
|
appNewVersion=""
|
||||||
|
expectedTeamID="6JSW4SJWN9"
|
||||||
|
;;
|
||||||
easeusdatarecoverywizard)
|
easeusdatarecoverywizard)
|
||||||
# credit: Søren Theilgaard (@theilgaard)
|
# credit: Søren Theilgaard (@theilgaard)
|
||||||
name="EaseUS Data Recovery Wizard"
|
name="EaseUS Data Recovery Wizard"
|
||||||
@@ -2500,6 +2573,13 @@ favro)
|
|||||||
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')"
|
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"
|
expectedTeamID="PUA8Q354ZF"
|
||||||
;;
|
;;
|
||||||
|
fellow)
|
||||||
|
name="Fellow"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://cdn.fellow.app/desktop/1.3.11/darwin/stable/universal/Fellow-1.3.11-universal.dmg"
|
||||||
|
appNewVersion=""
|
||||||
|
expectedTeamID="2NF46HY8D8"
|
||||||
|
;;
|
||||||
ferdi)
|
ferdi)
|
||||||
name="Ferdi"
|
name="Ferdi"
|
||||||
type="zip"
|
type="zip"
|
||||||
@@ -2658,6 +2738,13 @@ firefoxpkg_intl)
|
|||||||
expectedTeamID="43AQ936H96"
|
expectedTeamID="43AQ936H96"
|
||||||
blockingProcesses=( firefox )
|
blockingProcesses=( firefox )
|
||||||
;;
|
;;
|
||||||
|
flexoptixapp)
|
||||||
|
name="FLEXOPTIX App"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://flexbox.reconfigure.me/download/electron/mac/x64/current"
|
||||||
|
appNewVersion=$(curl -fsIL "${downloadURL}" | grep -i ^location | sed -E 's/.*-([0-9.]*)\.dmg/\1/g')
|
||||||
|
expectedTeamID="C5JETSFPHL"
|
||||||
|
;;
|
||||||
flowjo)
|
flowjo)
|
||||||
name="FlowJo-OSX64-10.8.0"
|
name="FlowJo-OSX64-10.8.0"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -2731,11 +2818,22 @@ golang)
|
|||||||
name="GoLang"
|
name="GoLang"
|
||||||
type="pkg"
|
type="pkg"
|
||||||
packageID="org.golang.go"
|
packageID="org.golang.go"
|
||||||
downloadURL="https://go.dev$(curl -fs "https://go.dev/dl/" | grep -i "downloadBox" | grep "pkg" | tr '"' '\n' | grep "pkg")"
|
if [[ $(arch) == "arm64" ]]; then
|
||||||
|
downloadURL="https://go.dev$(curl -fs "https://go.dev/dl/" | grep -i "downloadBox" | grep "darwin-arm" | tr '"' '\n' | grep "pkg")"
|
||||||
|
elif [[ $(arch) == "i386" ]]; then
|
||||||
|
downloadURL="https://go.dev$(curl -fs "https://go.dev/dl/" | grep -i "downloadBox" | grep "darwin-amd" | tr '"' '\n' | grep "pkg")"
|
||||||
|
fi
|
||||||
appNewVersion="$( echo "${downloadURL}" | sed -E 's/.*\/(go[0-9.]*)\..*/\1/g' )" # Version includes letters "go" in the beginning
|
appNewVersion="$( echo "${downloadURL}" | sed -E 's/.*\/(go[0-9.]*)\..*/\1/g' )" # Version includes letters "go" in the beginning
|
||||||
expectedTeamID="EQHXZ8M8AV"
|
expectedTeamID="EQHXZ8M8AV"
|
||||||
blockingProcesses=( NONE )
|
blockingProcesses=( NONE )
|
||||||
;;
|
;;
|
||||||
|
googleadseditor)
|
||||||
|
name="Google Ads Editor"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://dl.google.com/adwords_editor/google_ads_editor.dmg"
|
||||||
|
appNewVersion=""
|
||||||
|
expectedTeamID="EQHXZ8M8AV"
|
||||||
|
;;
|
||||||
googlechrome)
|
googlechrome)
|
||||||
name="Google Chrome"
|
name="Google Chrome"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -2951,11 +3049,10 @@ ibarcoder)
|
|||||||
expectedTeamID="JAXVB9AH9M"
|
expectedTeamID="JAXVB9AH9M"
|
||||||
;;
|
;;
|
||||||
icons)
|
icons)
|
||||||
# credit: Mischa van der Bent (@mischavdbent)
|
|
||||||
name="Icons"
|
name="Icons"
|
||||||
type="zip"
|
type="zip"
|
||||||
downloadURL=$(downloadURLFromGit sap macOS-icon-generator )
|
downloadURL=$(downloadURLFromGit SAP macOS-icon-generator )
|
||||||
appNewVersion=$(versionFromGit sap macOS-icon-generator )
|
appNewVersion=$(versionFromGit SAP macOS-icon-generator )
|
||||||
expectedTeamID="7R5ZEU67FQ"
|
expectedTeamID="7R5ZEU67FQ"
|
||||||
;;
|
;;
|
||||||
idrive)
|
idrive)
|
||||||
@@ -3009,10 +3106,12 @@ inkscape)
|
|||||||
expectedTeamID="SW3D6BB6A6"
|
expectedTeamID="SW3D6BB6A6"
|
||||||
;;
|
;;
|
||||||
insomnia)
|
insomnia)
|
||||||
name="insomnia"
|
name="Insomnia"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
downloadURL=$(downloadURLFromGit kong insomnia)
|
#downloadURL=$(downloadURLFromGit kong insomnia)
|
||||||
appNewVersion=$(versionFromGit kong insomnia)
|
downloadURL=$(curl -fs "https://updates.insomnia.rest/downloads/mac/latest?app=com.insomnia.app&source=website" | grep -o "https.*\.dmg")
|
||||||
|
#appNewVersion=$(versionFromGit kong insomnia)
|
||||||
|
appNewVersion=$(echo "$downloadURL" | sed -E 's/.*\/Insomnia.Core.([0-9.]*)\.dmg/\1/')
|
||||||
expectedTeamID="FX44YY62GV"
|
expectedTeamID="FX44YY62GV"
|
||||||
;;
|
;;
|
||||||
installomator|\
|
installomator|\
|
||||||
@@ -3230,6 +3329,20 @@ jetbrainswebstorm)
|
|||||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "location" | tail -1 | sed -E 's/.*\/[a-zA-Z-]*-([0-9.]*).*[-.].*dmg/\1/g' )
|
||||||
expectedTeamID="2ZEFAR8TH3"
|
expectedTeamID="2ZEFAR8TH3"
|
||||||
;;
|
;;
|
||||||
|
kap)
|
||||||
|
# credit: Lance Stephens (@pythoninthegrass on MacAdmins Slack)
|
||||||
|
name="Kap"
|
||||||
|
type="dmg"
|
||||||
|
if [[ $(arch) = "i386" ]]; then
|
||||||
|
archiveName="${name}-[0-9.]*-x64.${type}"
|
||||||
|
downloadURL=$(downloadURLFromGit wulkano kap | grep -i x64)
|
||||||
|
else
|
||||||
|
archiveName="${name}-[0-9.]*-arm64.${type}"
|
||||||
|
downloadURL=$(downloadURLFromGit wulkano kap | grep -i arm64)
|
||||||
|
fi
|
||||||
|
appNewVersion=$(versionFromGit wulkano Kap)
|
||||||
|
expectedTeamID="2KEEHXF6R6"
|
||||||
|
;;
|
||||||
karabinerelements)
|
karabinerelements)
|
||||||
# credit: Tadayuki Onishi (@kenchan0130)
|
# credit: Tadayuki Onishi (@kenchan0130)
|
||||||
name="Karabiner-Elements"
|
name="Karabiner-Elements"
|
||||||
@@ -3250,6 +3363,14 @@ keepassxc)
|
|||||||
appNewVersion=$(versionFromGit keepassxreboot keepassxc)
|
appNewVersion=$(versionFromGit keepassxreboot keepassxc)
|
||||||
expectedTeamID="G2S7P7J672"
|
expectedTeamID="G2S7P7J672"
|
||||||
;;
|
;;
|
||||||
|
keepingyouawake)
|
||||||
|
name="KeepingYouAwake"
|
||||||
|
type="zip"
|
||||||
|
downloadURL=$(downloadURLFromGit newmarcel KeepingYouAwake)
|
||||||
|
appNewVersion=$(versionFromGit newmarcel KeepingYouAwake)
|
||||||
|
expectedTeamID="5KESHV9W85"
|
||||||
|
blockingProcesses=( "KeepingYouAwake" )
|
||||||
|
;;
|
||||||
keka)
|
keka)
|
||||||
name="Keka"
|
name="Keka"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -3283,8 +3404,8 @@ klokki)
|
|||||||
knockknock)
|
knockknock)
|
||||||
name="KnockKnock"
|
name="KnockKnock"
|
||||||
type="zip"
|
type="zip"
|
||||||
downloadURL=$( curl -fs "https://objective-see.com/products/knockknock.html" | grep https | grep "$type" | head -1 | tr '"' "\n" | grep "^http" )
|
downloadURL="$(downloadURLFromGit objective-see KnockKnock)"
|
||||||
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*_([0-9.]*)\..*/\1/g' )
|
appNewVersion="$(versionFromGit objective-see KnockKnock)"
|
||||||
expectedTeamID="VBG97UB4TA"
|
expectedTeamID="VBG97UB4TA"
|
||||||
;;
|
;;
|
||||||
krisp)
|
krisp)
|
||||||
@@ -3316,6 +3437,13 @@ launchbar)
|
|||||||
appNewVersion=$( echo ${downloadURL} | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
|
appNewVersion=$( echo ${downloadURL} | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
|
||||||
expectedTeamID="MLZF7K7B5R"
|
expectedTeamID="MLZF7K7B5R"
|
||||||
;;
|
;;
|
||||||
|
lcadvancedvpnclient)
|
||||||
|
name="LANCOM Advanced VPN Client"
|
||||||
|
type="pkgInDmg"
|
||||||
|
appNewVersion=$(curl -fs https://www.ncp-e.com/de/service/download-vpn-client/ | grep -m 1 "NCP Secure Entry macOS Client" -A 1 | grep -i Version | sed "s|.*Version \(.*\) Rev.*|\\1|")
|
||||||
|
downloadURL=$(appShortVersion=`sed 's/[^0-9]//g' <<< $appNewVersion` && echo https://ftp.lancom.de/LANCOM-Releases/LC-VPN-Client/LC-Advanced-VPN-Client-macOS-"${appShortVersion}"-Rel-x86-64.dmg)
|
||||||
|
expectedTeamID="LL3KBL2M3A"
|
||||||
|
;;
|
||||||
lexarrecoverytool)
|
lexarrecoverytool)
|
||||||
name="Lexar Recovery Tool"
|
name="Lexar Recovery Tool"
|
||||||
type="appInDmgInZip"
|
type="appInDmgInZip"
|
||||||
@@ -3326,11 +3454,11 @@ libreoffice)
|
|||||||
name="LibreOffice"
|
name="LibreOffice"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
if [[ $(arch) == "arm64" ]]; then
|
if [[ $(arch) == "arm64" ]]; then
|
||||||
downloadURL="https://download.documentfoundation.org/libreoffice/stable/$(curl -s https://www.libreoffice.org/download/download/ | grep dl_version_number | head -n 1 | cut -d'>' -f3 | cut -d'<' -f1)/mac/aarch64/LibreOffice_$(curl -s https://www.libreoffice.org/download/download/ | grep dl_version_number | head -n 1 | cut -d'>' -f3 | cut -d'<' -f1)_MacOS_aarch64.dmg"
|
arch_type="aarch64"
|
||||||
elif [[ $(arch) == "i386" ]]; then
|
|
||||||
downloadURL="https://download.documentfoundation.org/libreoffice/stable/$(curl -s https://www.libreoffice.org/download/download/ | grep dl_version_number | head -n 1 | cut -d'>' -f3 | cut -d'<' -f1)/mac/x86_64/LibreOffice_$(curl -s https://www.libreoffice.org/download/download/ | grep dl_version_number | head -n 1 | cut -d'>' -f3 | cut -d'<' -f1)_MacOS_x86-64.dmg"
|
|
||||||
fi
|
fi
|
||||||
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*_([0-9.]*)_.*/\1/g' )
|
libreoffice_latest_version="$(curl -Ls https://www.libreoffice.org/download/download-libreoffice/ | grep dl_version_number | head -n 1 | cut -d'>' -f3 | cut -d'<' -f1)"
|
||||||
|
downloadURL="https://download.documentfoundation.org/libreoffice/stable/${libreoffice_latest_version}/mac/${arch_type:-x86_64}/LibreOffice_${libreoffice_latest_version}_MacOS_${arch_type:-x86-64}.dmg"
|
||||||
|
appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*_([0-9.]*)_.*/\1/g')
|
||||||
expectedTeamID="7P5S3ZLCN7"
|
expectedTeamID="7P5S3ZLCN7"
|
||||||
blockingProcesses=( soffice )
|
blockingProcesses=( soffice )
|
||||||
;;
|
;;
|
||||||
@@ -3497,6 +3625,12 @@ marathoninfinity)
|
|||||||
appNewVersion="$(versionFromGit Aleph-One-Marathon alephone)"
|
appNewVersion="$(versionFromGit Aleph-One-Marathon alephone)"
|
||||||
expectedTeamID="E8K89CXZE7"
|
expectedTeamID="E8K89CXZE7"
|
||||||
;;
|
;;
|
||||||
|
masv)
|
||||||
|
name="MASV"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://dl.massive.io/MASV.dmg"
|
||||||
|
expectedTeamID="VHKX7RCAY7"
|
||||||
|
;;
|
||||||
mattermost)
|
mattermost)
|
||||||
name="Mattermost"
|
name="Mattermost"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -3513,6 +3647,13 @@ menumeters)
|
|||||||
appNewVersion=$(versionFromGit yujitach MenuMeters )
|
appNewVersion=$(versionFromGit yujitach MenuMeters )
|
||||||
expectedTeamID="95AQ7YKR5A"
|
expectedTeamID="95AQ7YKR5A"
|
||||||
;;
|
;;
|
||||||
|
merlinproject)
|
||||||
|
name="Merlin Project"
|
||||||
|
type="zip"
|
||||||
|
downloadURL="https://www.projectwizards.net/downloads/MerlinProject.zip"
|
||||||
|
appNewVersion="$(curl -fs "https://www.projectwizards.net/de/support/release-notes" | grep Version | head -n 6 | tail -n 1 | sed 's/[^0-9.]*//g')"
|
||||||
|
expectedTeamID="9R6P9VZV27"
|
||||||
|
;;
|
||||||
microsoftautoupdate)
|
microsoftautoupdate)
|
||||||
name="Microsoft AutoUpdate"
|
name="Microsoft AutoUpdate"
|
||||||
type="pkg"
|
type="pkg"
|
||||||
@@ -3774,16 +3915,6 @@ microsoftword)
|
|||||||
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
||||||
updateToolArguments=( --install --apps MSWD2019 )
|
updateToolArguments=( --install --apps MSWD2019 )
|
||||||
;;
|
;;
|
||||||
microsoftyammer)
|
|
||||||
name="Yammer"
|
|
||||||
type="dmg"
|
|
||||||
downloadURL="https://aka.ms/yammer_desktop_mac"
|
|
||||||
#appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/oldpackage[id="com.microsoft.yammer.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/<cfbundleshortversionstring>([0-9.]*)<.*/\1/')
|
|
||||||
appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g')
|
|
||||||
expectedTeamID="UBF8T346G9"
|
|
||||||
#updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
|
|
||||||
#updateToolArguments=( --install --apps ?????? )
|
|
||||||
;;
|
|
||||||
mightymike)
|
mightymike)
|
||||||
name="Mighty Mike"
|
name="Mighty Mike"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -3905,6 +4036,14 @@ mochatn5250)
|
|||||||
appNewVersion=""
|
appNewVersion=""
|
||||||
expectedTeamID="RR9F5EPNVW"
|
expectedTeamID="RR9F5EPNVW"
|
||||||
;;
|
;;
|
||||||
|
mongodbcompass)
|
||||||
|
name="MongoDB Compass"
|
||||||
|
type="dmg"
|
||||||
|
archiveName="mongodb-compass-[0-9.]*-darwin-x64.dmg"
|
||||||
|
downloadURL="$(downloadURLFromGit mongodb-js compass)"
|
||||||
|
appNewVersion="$(versionFromGit mongodb-js compass)"
|
||||||
|
expectedTeamID="4XWMY46275"
|
||||||
|
;;
|
||||||
montereyblocker)
|
montereyblocker)
|
||||||
name="montereyblocker"
|
name="montereyblocker"
|
||||||
type="pkg"
|
type="pkg"
|
||||||
@@ -3950,6 +4089,13 @@ netnewswire)
|
|||||||
appNewVersion=$(curl -fs https://ranchero.com/downloads/netnewswire-release.xml | xpath '//rss/channel/item[1]/enclosure/@sparkle:shortVersionString' 2>/dev/null | cut -d '"' -f 2)
|
appNewVersion=$(curl -fs https://ranchero.com/downloads/netnewswire-release.xml | xpath '//rss/channel/item[1]/enclosure/@sparkle:shortVersionString' 2>/dev/null | cut -d '"' -f 2)
|
||||||
expectedTeamID="M8L2WTLA8W"
|
expectedTeamID="M8L2WTLA8W"
|
||||||
;;
|
;;
|
||||||
|
netspot)
|
||||||
|
name="NetSpot"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://cdn.netspotapp.com/download/NetSpot.dmg"
|
||||||
|
appNewVersion=$(curl -fs "https://www.netspotapp.com/updates/netspot2-appcast.xml" | xpath '(//rss/channel/item/enclosure/@sparkle:version)' 2>/dev/null | cut -d '"' -f 2)
|
||||||
|
expectedTeamID="5QLDY8TU83"
|
||||||
|
;;
|
||||||
nextcloud)
|
nextcloud)
|
||||||
name="nextcloud"
|
name="nextcloud"
|
||||||
type="pkg"
|
type="pkg"
|
||||||
@@ -4131,8 +4277,8 @@ openvpnconnectv3)
|
|||||||
opera)
|
opera)
|
||||||
name="Opera"
|
name="Opera"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
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')
|
downloadURL="$(curl -fsIL "$(curl -fs "$(curl -fsL "https://download.opera.com/download/get/?partner=www&opsys=MacOS" | tr '"' "\n" | grep -e "www.opera.com.*thanks.*opera" | sed 's/\&\;/\&/g')" | tr '"' "\n" | grep "download.opera.com" | sed 's/\&\;/\&/g')" | grep -i "^location" | grep -io "https.*dmg")"
|
||||||
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 '/')"
|
appNewVersion="$(printf "$downloadURL" | sed -E 's/https.*\/([0-9.]*)\/mac\/.*/\1/')"
|
||||||
versionKey="CFBundleVersion"
|
versionKey="CFBundleVersion"
|
||||||
expectedTeamID="A2P9LX4JPN"
|
expectedTeamID="A2P9LX4JPN"
|
||||||
;;
|
;;
|
||||||
@@ -4378,6 +4524,13 @@ redeye)
|
|||||||
appNewVersion=$( curl -fs "https://www.hexedbits.com/redeye/" | grep "Latest version" | sed -E 's/.*Latest version ([0-9.]*),.*/\1/g' )
|
appNewVersion=$( curl -fs "https://www.hexedbits.com/redeye/" | grep "Latest version" | sed -E 's/.*Latest version ([0-9.]*),.*/\1/g' )
|
||||||
expectedTeamID="5VRJU68BZ5"
|
expectedTeamID="5VRJU68BZ5"
|
||||||
;;
|
;;
|
||||||
|
relatel)
|
||||||
|
name="Relatel"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://cdn.rela.tel/www/public/junotron/Relatel.dmg"
|
||||||
|
appNewVersion="$(curl -fs "https://cdn.firmafon.dk/www/public/junotron/latest-mac.yml" | grep -i "version" | cut -w -f2)"
|
||||||
|
expectedTeamID="B9358QF55B"
|
||||||
|
;;
|
||||||
remotedesktopmanagerenterprise)
|
remotedesktopmanagerenterprise)
|
||||||
name="Remote Desktop Manager"
|
name="Remote Desktop Manager"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -4393,21 +4546,6 @@ remotedesktopmanagerfree)
|
|||||||
appNewVersion=$(echo "$downloadURL" | sed -E 's/.*\.Mac\.([0-9.]*)\.dmg/\1/g')
|
appNewVersion=$(echo "$downloadURL" | sed -E 's/.*\.Mac\.([0-9.]*)\.dmg/\1/g')
|
||||||
expectedTeamID="N592S9ASDB"
|
expectedTeamID="N592S9ASDB"
|
||||||
;;
|
;;
|
||||||
remotix)
|
|
||||||
name="Remotix"
|
|
||||||
type="dmg"
|
|
||||||
downloadURL="https://remotix.com/downloads/latest-remotix-mac/"
|
|
||||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)-.*\.dmg/\1/g' )
|
|
||||||
expectedTeamID="K293Y6CVN4"
|
|
||||||
;;
|
|
||||||
remotixagent)
|
|
||||||
name="RemotixAgent"
|
|
||||||
type="pkg"
|
|
||||||
packageID="com.nulana.rxagentmac"
|
|
||||||
downloadURL="https://remotix.com/downloads/latest-agent-mac/"
|
|
||||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)-.*\.pkg/\1/g' )
|
|
||||||
expectedTeamID="K293Y6CVN4"
|
|
||||||
;;
|
|
||||||
resiliosynchome)
|
resiliosynchome)
|
||||||
name="Resilio Sync"
|
name="Resilio Sync"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -4700,6 +4838,13 @@ snapgeneviewer)
|
|||||||
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | tr '/' '\n' | grep -i "dmg" | sed -E 's/[a-zA-Z_]*_([0-9.]*)_mac\.dmg/\1/g' )
|
appNewVersion=$( curl -fsIL "${downloadURL}" | grep -i "^location" | awk '{print $2}' | tr '/' '\n' | grep -i "dmg" | sed -E 's/[a-zA-Z_]*_([0-9.]*)_mac\.dmg/\1/g' )
|
||||||
expectedTeamID="WVCV9Q8Y78"
|
expectedTeamID="WVCV9Q8Y78"
|
||||||
;;
|
;;
|
||||||
|
sonicvisualiser)
|
||||||
|
name="Sonic Visualiser"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="$(downloadURLFromGit sonic-visualiser sonic-visualiser)"
|
||||||
|
appNewVersion="$(versionFromGit sonic-visualiser sonic-visualiser)"
|
||||||
|
expectedTeamID="73F996B92S"
|
||||||
|
;;
|
||||||
sonobus)
|
sonobus)
|
||||||
name="Sonobus"
|
name="Sonobus"
|
||||||
type="pkgInDmg"
|
type="pkgInDmg"
|
||||||
@@ -4768,6 +4913,15 @@ steelseriesengine)
|
|||||||
appNewVersion="$(curl -fsIL "$downloadURL" | grep -i "^location" | sed -E 's/.*SteelSeriesGG([0-9.]*)\.pkg/\1/')"
|
appNewVersion="$(curl -fsIL "$downloadURL" | grep -i "^location" | sed -E 's/.*SteelSeriesGG([0-9.]*)\.pkg/\1/')"
|
||||||
expectedTeamID="6WGL6CHFH2"
|
expectedTeamID="6WGL6CHFH2"
|
||||||
;;
|
;;
|
||||||
|
strongdm)
|
||||||
|
name="strongDM"
|
||||||
|
type="dmg"
|
||||||
|
downloadURL="https://app.strongdm.com/downloads/client/darwin"
|
||||||
|
appNewVersion=$(curl -fsLIXGET "https://app.strongdm.com/downloads/client/darwin" | grep -i "^content-disposition" | sed -e 's/.*filename\=\"SDM\-\(.*\)\.dmg\".*/\1/')
|
||||||
|
appName="SDM.app"
|
||||||
|
blockingProcesses=( "SDM" )
|
||||||
|
expectedTeamID="W5HSYBBJGA"
|
||||||
|
;;
|
||||||
strongsync)
|
strongsync)
|
||||||
name="Strongsync"
|
name="Strongsync"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -4803,8 +4957,7 @@ supportapp)
|
|||||||
downloadURL=$(downloadURLFromGit root3nl SupportApp)
|
downloadURL=$(downloadURLFromGit root3nl SupportApp)
|
||||||
appNewVersion=$(versionFromGit root3nl SupportApp)
|
appNewVersion=$(versionFromGit root3nl SupportApp)
|
||||||
expectedTeamID="98LJ4XBGYK"
|
expectedTeamID="98LJ4XBGYK"
|
||||||
uid=$(id -u "$currentUser")
|
blockingProcesses=( NONE )
|
||||||
launchctl bootout gui/${uid} "/Library/LaunchAgents/nl.root3.support.plist"
|
|
||||||
;;
|
;;
|
||||||
suspiciouspackage)
|
suspiciouspackage)
|
||||||
# credit: Mischa van der Bent (@mischavdbent)
|
# credit: Mischa van der Bent (@mischavdbent)
|
||||||
@@ -4828,6 +4981,22 @@ sync)
|
|||||||
appNewVersion="$(curl -fs "https://www.sync.com/blog/category/desktop/feed/" | xpath '(//channel/item/title)[1]' 2>/dev/null | sed -E 's/^.* ([0-9.]*) .*$/\1/g')"
|
appNewVersion="$(curl -fs "https://www.sync.com/blog/category/desktop/feed/" | xpath '(//channel/item/title)[1]' 2>/dev/null | sed -E 's/^.* ([0-9.]*) .*$/\1/g')"
|
||||||
expectedTeamID="7QR39CMJ3W"
|
expectedTeamID="7QR39CMJ3W"
|
||||||
;;
|
;;
|
||||||
|
synologyassistant)
|
||||||
|
name="SynologyAssistant"
|
||||||
|
type="dmg"
|
||||||
|
packageID="com.synology.DSAssistant"
|
||||||
|
appNewVersion="$(curl -sf https://archive.synology.com/download/Utility/Assistant | grep -m 1 /download/Utility/Assistant/ | sed "s|.*>\(.*\)<.*|\\1|")"
|
||||||
|
downloadURL="https://global.download.synology.com/download/Utility/Assistant/${appNewVersion}/Mac/synology-assistant-${appNewVersion}.dmg"
|
||||||
|
expectedTeamID="X85BAK35Y4"
|
||||||
|
;;
|
||||||
|
synologydriveclient)
|
||||||
|
name="Synology Drive Client"
|
||||||
|
type="pkgInDmg"
|
||||||
|
packageID="com.synology.CloudStation"
|
||||||
|
downloadURL=$(appVersion=`curl -sf https://archive.synology.com/download/Utility/SynologyDriveClient | grep -m 1 /download/Utility/SynologyDriveClient/ | sed "s|.*>\(.*\)<.*|\\1|"` && appShortVersion=`sed 's#.*-\(\)#\1#' <<< $appVersion` && echo https://global.download.synology.com/download/Utility/SynologyDriveClient/"$appVersion"/Mac/Installer/synology-drive-client-"${appShortVersion}".dmg)
|
||||||
|
appNewVersion=$(appVersionP1=`curl -sf https://archive.synology.com/download/Utility/SynologyDriveClient | grep -m 1 /download/Utility/SynologyDriveClient/ | sed "s|.*>\(.*\)-.*|\\1|"` && sed 's/\(.\{0\}\)./\17/' <<< $appVersionP1)
|
||||||
|
expectedTeamID="X85BAK35Y4"
|
||||||
|
;;
|
||||||
tableaudesktop)
|
tableaudesktop)
|
||||||
name="Tableau Desktop"
|
name="Tableau Desktop"
|
||||||
type="pkgInDmg"
|
type="pkgInDmg"
|
||||||
@@ -4928,6 +5097,21 @@ tembo)
|
|||||||
appNewVersion="$(curl -fs https://www.houdah.com/tembo/updates/cast2.xml | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[1]' 2>/dev/null | head -1 | cut -d '"' -f 2)"
|
appNewVersion="$(curl -fs https://www.houdah.com/tembo/updates/cast2.xml | xpath '(//rss/channel/item/enclosure/@sparkle:shortVersionString)[1]' 2>/dev/null | head -1 | cut -d '"' -f 2)"
|
||||||
expectedTeamID="DKGQD8H8ZY"
|
expectedTeamID="DKGQD8H8ZY"
|
||||||
;;
|
;;
|
||||||
|
tencentmeeting)
|
||||||
|
name="TencentMeeting"
|
||||||
|
type="dmg"
|
||||||
|
if [[ $(arch) == "arm64" ]]; then
|
||||||
|
downloadURL="$(curl -fs 'https://meeting.tencent.com/web-service/query-download-info?q=%5B%7B%22package-type%22%3A%22app%22%2C%22channel%22%3A%220300000000%22%2C%22platform%22%3A%22mac%22%2C%22arch%22%3A%22arm64%22%7D%5D&c_os=web&c_os_version=1&c_os_model=web&c_timestamp=1653366550252&c_instance_id=5&c_nonce=DcaDam4y&c_app_id=1400143280&c_app_version=1&c_lang=zh-cn&c_district=0&nonce=miwSceJNQaSZttma' -H 'authority: meeting.tencent.com' -H 'referer: https://meeting.tencent.com/download-mac.html?from=1000&fromSource=1&macType=apple' -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' | grep -o "https://updatecdn.meeting.qq.com[^']*\.publish.arm64.dmg")"
|
||||||
|
appNewVersion=$(curl -fs 'https://meeting.tencent.com/web-service/query-download-info?q=%5B%7B%22package-type%22%3A%22app%22%2C%22channel%22%3A%220300000000%22%2C%22platform%22%3A%22mac%22%2C%22arch%22%3A%22arm64%22%7D%5D&c_os=web&c_os_version=1&c_os_model=web&c_timestamp=1653366550252&c_instance_id=5&c_nonce=DcaDam4y&c_app_id=1400143280&c_app_version=1&c_lang=zh-cn&c_district=0&nonce=miwSceJNQaSZttma' -H 'authority: meeting.tencent.com' -H 'referer: https://meeting.tencent.com/download-mac.html?from=1000&fromSource=1&macType=apple' -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' | grep -o "https://updatecdn.meeting.qq.com[^']*\.publish.arm64.dmg" | sed -e 's/.*TencentMeeting\_0300000000\_\(.*\)\.publish\.arm64\.dmg.*/\1/')
|
||||||
|
elif [[ $(arch) == "i386" ]]; then
|
||||||
|
downloadURL="$(curl -fs 'https://meeting.tencent.com/web-service/query-download-info?q=%5B%7B%22package-type%22%3A%22app%22%2C%22channel%22%3A%220300000000%22%2C%22platform%22%3A%22mac%22%2C%22arch%22%3A%22x86_64%22%7D%5D&c_os=web&c_os_version=1&c_os_model=web&c_timestamp=1653366500890&c_instance_id=5&c_nonce=jA4P4JPY&c_app_id=1400143280&c_app_version=1&c_lang=zh-cn&c_district=0&nonce=tF6Bm4FYHJwdPeGH' -H 'authority: meeting.tencent.com' -H 'referer: https://meeting.tencent.com/download-mac.html?from=1000&fromSource=1' -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' | grep -o "https://updatecdn.meeting.qq.com[^']*\.publish.x86_64.dmg")"
|
||||||
|
appNewVersion=$(curl -fs 'https://meeting.tencent.com/web-service/query-download-info?q=%5B%7B%22package-type%22%3A%22app%22%2C%22channel%22%3A%220300000000%22%2C%22platform%22%3A%22mac%22%2C%22arch%22%3A%22x86_64%22%7D%5D&c_os=web&c_os_version=1&c_os_model=web&c_timestamp=1653366500890&c_instance_id=5&c_nonce=jA4P4JPY&c_app_id=1400143280&c_app_version=1&c_lang=zh-cn&c_district=0&nonce=tF6Bm4FYHJwdPeGH' -H 'authority: meeting.tencent.com' -H 'referer: https://meeting.tencent.com/download-mac.html?from=1000&fromSource=1' -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' | grep -o "https://updatecdn.meeting.qq.com[^']*\.publish.x86_64.dmg" | sed -e 's/.*TencentMeeting\_0300000000\_\(.*\)\.publish\.x86_64\.dmg.*/\1/')
|
||||||
|
fi
|
||||||
|
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" )
|
||||||
|
appCustomVersion() { echo "$(defaults read /Applications/TencentMeeting.app/Contents/Info.plist CFBundleShortVersionString)$(echo ".")$(defaults read /Applications/TencentMeeting.app/Contents/Info.plist CFBundleVersion)" }
|
||||||
|
expectedTeamID="88L2Q4487U"
|
||||||
|
;;
|
||||||
|
|
||||||
textexpander)
|
textexpander)
|
||||||
name="TextExpander"
|
name="TextExpander"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -5038,6 +5222,13 @@ tunnelblick)
|
|||||||
downloadURL=$(downloadURLFromGit TunnelBlick Tunnelblick )
|
downloadURL=$(downloadURLFromGit TunnelBlick Tunnelblick )
|
||||||
expectedTeamID="Z2SG5H3HC8"
|
expectedTeamID="Z2SG5H3HC8"
|
||||||
;;
|
;;
|
||||||
|
typinator)
|
||||||
|
name="Typinator"
|
||||||
|
type="zip"
|
||||||
|
downloadURL=https://update.ergonis.com/downloads/products/typinator/Typinator.app.zip
|
||||||
|
appNewVersion="$(curl -fs https://update.ergonis.com/vck/typinator.xml | grep -i Program_Version | sed "s|.*>\(.*\)<.*|\\1|")"
|
||||||
|
expectedTeamID="TU7D9Y7GTQ"
|
||||||
|
;;
|
||||||
typora)
|
typora)
|
||||||
name="Typora"
|
name="Typora"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -5231,22 +5422,6 @@ whatsapp)
|
|||||||
downloadURL="https://web.whatsapp.com/desktop/mac/files/WhatsApp.dmg"
|
downloadURL="https://web.whatsapp.com/desktop/mac/files/WhatsApp.dmg"
|
||||||
expectedTeamID="57T9237FN3"
|
expectedTeamID="57T9237FN3"
|
||||||
;;
|
;;
|
||||||
wickrme)
|
|
||||||
# credit: Søren Theilgaard (@theilgaard)
|
|
||||||
name="WickrMe"
|
|
||||||
type="dmg"
|
|
||||||
downloadURL=$( curl -fs https://me-download.wickr.com/api/download/me/download/mac | tr '"' '\n' | grep -e '^https://' )
|
|
||||||
appNewVersion=$( echo ${downloadURL} | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
|
|
||||||
expectedTeamID="W8RC3R952A"
|
|
||||||
;;
|
|
||||||
wickrpro)
|
|
||||||
# credit: Søren Theilgaard (@theilgaard)
|
|
||||||
name="WickrPro"
|
|
||||||
type="dmg"
|
|
||||||
downloadURL=$( curl -fs https://me-download.wickr.com/api/download/pro/download/mac | tr '"' '\n' | grep -e '^https://' )
|
|
||||||
appNewVersion=$( echo ${downloadURL} | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )
|
|
||||||
expectedTeamID="W8RC3R952A"
|
|
||||||
;;
|
|
||||||
wireshark)
|
wireshark)
|
||||||
name="Wireshark"
|
name="Wireshark"
|
||||||
type="dmg"
|
type="dmg"
|
||||||
@@ -5274,6 +5449,17 @@ wwdc)
|
|||||||
appNewVersion=$(versionFromGit insidegui WWDC)
|
appNewVersion=$(versionFromGit insidegui WWDC)
|
||||||
expectedTeamID="8C7439RJLG"
|
expectedTeamID="8C7439RJLG"
|
||||||
;;
|
;;
|
||||||
|
xcreds)
|
||||||
|
name="XCreds"
|
||||||
|
#type="pkgInZip"
|
||||||
|
#packageID="com.twocanoes.pkg.secureremoteaccess"
|
||||||
|
#downloadURL=$(curl -fs "https://twocanoes.com/products/mac/xcreds/" | grep -ioE "https://.*\.zip" | head -1)
|
||||||
|
#appNewVersion=$(curl -fs "https://twocanoes.com/products/mac/xcreds/" | grep -io "Current Version:.*" | sed -E 's/.*XCreds *([0-9.]*)<.*/\1/g')
|
||||||
|
type="pkg"
|
||||||
|
downloadURL="$(downloadURLFromGit twocanoes xcreds)"
|
||||||
|
appNewVersion="$(versionFromGit twocanoes xcreds)"
|
||||||
|
expectedTeamID="UXP6YEHSPW"
|
||||||
|
;;
|
||||||
xeroxphaser7800)
|
xeroxphaser7800)
|
||||||
name="XeroxPhaser"
|
name="XeroxPhaser"
|
||||||
type="pkgInDmg"
|
type="pkgInDmg"
|
||||||
@@ -5493,6 +5679,29 @@ fi
|
|||||||
|
|
||||||
# MARK: application download and installation starts here
|
# MARK: application download and installation starts here
|
||||||
|
|
||||||
|
# Debug output of all variables in a label
|
||||||
|
printlog "name=${name}" DEBUG
|
||||||
|
printlog "appName=${appName}" DEBUG
|
||||||
|
printlog "type=${type}" DEBUG
|
||||||
|
printlog "archiveName=${archiveName}" DEBUG
|
||||||
|
printlog "downloadURL=${downloadURL}" DEBUG
|
||||||
|
printlog "curlOptions=${curlOptions}" DEBUG
|
||||||
|
printlog "appNewVersion=${appNewVersion}" DEBUG
|
||||||
|
printlog "appCustomVersion function: $(if type 'appCustomVersion' 2>/dev/null | grep -q 'function'; then echo "Defined. ${appCustomVersion}"; else; echo "Not defined"; fi)" DEBUG
|
||||||
|
printlog "versionKey=${versionKey}" DEBUG
|
||||||
|
printlog "packageID=${packageID}" DEBUG
|
||||||
|
printlog "pkgName=${pkgName}" DEBUG
|
||||||
|
printlog "choiceChangesXML=${choiceChangesXML}" DEBUG
|
||||||
|
printlog "expectedTeamID=${expectedTeamID}" DEBUG
|
||||||
|
printlog "blockingProcesses=${blockingProcesses}" DEBUG
|
||||||
|
printlog "installerTool=${installerTool}" DEBUG
|
||||||
|
printlog "CLIInstaller=${CLIInstaller}" DEBUG
|
||||||
|
printlog "CLIArguments=${CLIArguments}" DEBUG
|
||||||
|
printlog "updateTool=${updateTool}" DEBUG
|
||||||
|
printlog "updateToolArguments=${updateToolArguments}" DEBUG
|
||||||
|
printlog "updateToolRunAsCurrentUser=${updateToolRunAsCurrentUser}" DEBUG
|
||||||
|
#printlog "Company=${Company}" DEBUG # Not used
|
||||||
|
|
||||||
if [[ ${INTERRUPT_DND} = "no" ]]; then
|
if [[ ${INTERRUPT_DND} = "no" ]]; then
|
||||||
# Check if a fullscreen app is active
|
# Check if a fullscreen app is active
|
||||||
if hasDisplaySleepAssertion; then
|
if hasDisplaySleepAssertion; then
|
||||||
@@ -5538,6 +5747,11 @@ case $LOGO in
|
|||||||
LOGO="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
|
LOGO="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
|
||||||
if [[ -z $MDMProfileName ]]; then; MDMProfileName="Management Profile"; fi
|
if [[ -z $MDMProfileName ]]; then; MDMProfileName="Management Profile"; fi
|
||||||
;;
|
;;
|
||||||
|
ws1)
|
||||||
|
# Workspace ONE (AirWatch)
|
||||||
|
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
|
||||||
|
if [[ -z $MDMProfileName ]]; then; MDMProfileName="Device Manager"; fi
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
if [[ ! -a "${LOGO}" ]]; then
|
if [[ ! -a "${LOGO}" ]]; then
|
||||||
if [[ $(sw_vers -buildVersion) > "19" ]]; then
|
if [[ $(sw_vers -buildVersion) > "19" ]]; then
|
||||||
@@ -5553,7 +5767,7 @@ printlog "Label type: $type" INFO
|
|||||||
# MARK: extract info from data
|
# MARK: extract info from data
|
||||||
if [ -z "$archiveName" ]; then
|
if [ -z "$archiveName" ]; then
|
||||||
case $type in
|
case $type in
|
||||||
dmg|pkg|zip|tbz)
|
dmg|pkg|zip|tbz|bz2)
|
||||||
archiveName="${name}.$type"
|
archiveName="${name}.$type"
|
||||||
;;
|
;;
|
||||||
pkgInDmg)
|
pkgInDmg)
|
||||||
@@ -5579,7 +5793,7 @@ fi
|
|||||||
|
|
||||||
if [ -z "$targetDir" ]; then
|
if [ -z "$targetDir" ]; then
|
||||||
case $type in
|
case $type in
|
||||||
dmg|zip|tbz|app*)
|
dmg|zip|tbz|bz2|app*)
|
||||||
targetDir="/Applications"
|
targetDir="/Applications"
|
||||||
;;
|
;;
|
||||||
pkg*)
|
pkg*)
|
||||||
@@ -5760,7 +5974,7 @@ case $type in
|
|||||||
zip)
|
zip)
|
||||||
installFromZIP
|
installFromZIP
|
||||||
;;
|
;;
|
||||||
tbz)
|
tbz|bz2)
|
||||||
installFromTBZ
|
installFromTBZ
|
||||||
;;
|
;;
|
||||||
pkgInDmg)
|
pkgInDmg)
|
||||||
|
|||||||
28
Labels.txt
28
Labels.txt
@@ -3,7 +3,10 @@
|
|||||||
1passwordcli
|
1passwordcli
|
||||||
4kvideodownloader
|
4kvideodownloader
|
||||||
8x8
|
8x8
|
||||||
|
abetterfinderrename11
|
||||||
abstract
|
abstract
|
||||||
|
acroniscyberprotectconnect
|
||||||
|
acroniscyberprotectconnectagent
|
||||||
adobebrackets
|
adobebrackets
|
||||||
adobeconnect
|
adobeconnect
|
||||||
adobecreativeclouddesktop
|
adobecreativeclouddesktop
|
||||||
@@ -72,6 +75,7 @@ camtasia2019
|
|||||||
camtasia2020
|
camtasia2020
|
||||||
camtasia2021
|
camtasia2021
|
||||||
canva
|
canva
|
||||||
|
carboncopycloner
|
||||||
chatwork
|
chatwork
|
||||||
cisdem-documentreader
|
cisdem-documentreader
|
||||||
citrixworkspace
|
citrixworkspace
|
||||||
@@ -82,12 +86,15 @@ closeio
|
|||||||
cloudya
|
cloudya
|
||||||
clue
|
clue
|
||||||
cluefull
|
cluefull
|
||||||
|
cocoapods
|
||||||
|
coconutbattery
|
||||||
code42
|
code42
|
||||||
coderunner
|
coderunner
|
||||||
colourcontrastanalyser
|
colourcontrastanalyser
|
||||||
cormorant
|
cormorant
|
||||||
craftmanager
|
craftmanager
|
||||||
craftmanagerforsketch
|
craftmanagerforsketch
|
||||||
|
cricutdesignspace
|
||||||
cryptomator
|
cryptomator
|
||||||
cyberduck
|
cyberduck
|
||||||
daisydisk
|
daisydisk
|
||||||
@@ -112,6 +119,7 @@ drift
|
|||||||
dropbox
|
dropbox
|
||||||
duckduckgo
|
duckduckgo
|
||||||
duodevicehealth
|
duodevicehealth
|
||||||
|
dynalist
|
||||||
easeusdatarecoverywizard
|
easeusdatarecoverywizard
|
||||||
easyfind
|
easyfind
|
||||||
egnyte
|
egnyte
|
||||||
@@ -126,6 +134,7 @@ exifrenamer
|
|||||||
fantastical
|
fantastical
|
||||||
fastscripts
|
fastscripts
|
||||||
favro
|
favro
|
||||||
|
fellow
|
||||||
ferdi
|
ferdi
|
||||||
figma
|
figma
|
||||||
filezilla
|
filezilla
|
||||||
@@ -138,6 +147,7 @@ firefoxesr_intl
|
|||||||
firefoxesrpkg
|
firefoxesrpkg
|
||||||
firefoxpkg
|
firefoxpkg
|
||||||
firefoxpkg_intl
|
firefoxpkg_intl
|
||||||
|
flexoptixapp
|
||||||
flowjo
|
flowjo
|
||||||
flux
|
flux
|
||||||
flycut
|
flycut
|
||||||
@@ -147,6 +157,7 @@ fsmonitor
|
|||||||
gimp
|
gimp
|
||||||
githubdesktop
|
githubdesktop
|
||||||
golang
|
golang
|
||||||
|
googleadseditor
|
||||||
googlechrome
|
googlechrome
|
||||||
googlechromeenterprise
|
googlechromeenterprise
|
||||||
googlechromepkg
|
googlechromepkg
|
||||||
@@ -207,6 +218,7 @@ jetbrainswebstorm
|
|||||||
kap
|
kap
|
||||||
karabinerelements
|
karabinerelements
|
||||||
keepassxc
|
keepassxc
|
||||||
|
keepingyouawake
|
||||||
keka
|
keka
|
||||||
keybase
|
keybase
|
||||||
keyboardmaestro
|
keyboardmaestro
|
||||||
@@ -216,6 +228,7 @@ krisp
|
|||||||
krita
|
krita
|
||||||
lastpass
|
lastpass
|
||||||
launchbar
|
launchbar
|
||||||
|
lcadvancedvpnclient
|
||||||
lexarrecoverytool
|
lexarrecoverytool
|
||||||
libreoffice
|
libreoffice
|
||||||
linear
|
linear
|
||||||
@@ -235,8 +248,10 @@ malwarebytes
|
|||||||
marathon
|
marathon
|
||||||
marathon2
|
marathon2
|
||||||
marathoninfinity
|
marathoninfinity
|
||||||
|
masv
|
||||||
mattermost
|
mattermost
|
||||||
menumeters
|
menumeters
|
||||||
|
merlinproject
|
||||||
microsoftautoupdate
|
microsoftautoupdate
|
||||||
microsoftazuredatastudio
|
microsoftazuredatastudio
|
||||||
microsoftazurestorageexplorer
|
microsoftazurestorageexplorer
|
||||||
@@ -260,7 +275,6 @@ microsoftskypeforbusiness
|
|||||||
microsoftteams
|
microsoftteams
|
||||||
microsoftvisualstudiocode
|
microsoftvisualstudiocode
|
||||||
microsoftword
|
microsoftword
|
||||||
microsoftyammer
|
|
||||||
mightymike
|
mightymike
|
||||||
mindmanager
|
mindmanager
|
||||||
miro
|
miro
|
||||||
@@ -271,12 +285,14 @@ mochatelnet
|
|||||||
mochatn3270
|
mochatn3270
|
||||||
mochatn3812
|
mochatn3812
|
||||||
mochatn5250
|
mochatn5250
|
||||||
|
mongodbcompass
|
||||||
montereyblocker
|
montereyblocker
|
||||||
mowgliiitsycal
|
mowgliiitsycal
|
||||||
musescore
|
musescore
|
||||||
muzzle
|
muzzle
|
||||||
nanosaur
|
nanosaur
|
||||||
netnewswire
|
netnewswire
|
||||||
|
netspot
|
||||||
nextcloud
|
nextcloud
|
||||||
nomad
|
nomad
|
||||||
nomadlogin
|
nomadlogin
|
||||||
@@ -333,6 +349,7 @@ ramboxce
|
|||||||
rancherdesktop
|
rancherdesktop
|
||||||
rectangle
|
rectangle
|
||||||
redeye
|
redeye
|
||||||
|
relatel
|
||||||
remotedesktopmanagerenterprise
|
remotedesktopmanagerenterprise
|
||||||
remotedesktopmanagerfree
|
remotedesktopmanagerfree
|
||||||
remotix
|
remotix
|
||||||
@@ -377,6 +394,7 @@ snagit2020
|
|||||||
snagit2021
|
snagit2021
|
||||||
snagit2022
|
snagit2022
|
||||||
snapgeneviewer
|
snapgeneviewer
|
||||||
|
sonicvisualiser
|
||||||
sonobus
|
sonobus
|
||||||
sonos
|
sonos
|
||||||
sonoss1
|
sonoss1
|
||||||
@@ -387,6 +405,7 @@ spotify
|
|||||||
sqlpropostgres
|
sqlpropostgres
|
||||||
sqlprostudio
|
sqlprostudio
|
||||||
steelseriesengine
|
steelseriesengine
|
||||||
|
strongdm
|
||||||
strongsync
|
strongsync
|
||||||
sublimetext
|
sublimetext
|
||||||
superhuman
|
superhuman
|
||||||
@@ -395,6 +414,8 @@ suspiciouspackage
|
|||||||
swiftdialog
|
swiftdialog
|
||||||
swiftruntimeforcommandlinetools
|
swiftruntimeforcommandlinetools
|
||||||
sync
|
sync
|
||||||
|
synologyassistant
|
||||||
|
synologydriveclient
|
||||||
tableaudesktop
|
tableaudesktop
|
||||||
tableaupublic
|
tableaupublic
|
||||||
tableaureader
|
tableaureader
|
||||||
@@ -408,6 +429,7 @@ teamviewerqs
|
|||||||
techsmithcapture
|
techsmithcapture
|
||||||
telegram
|
telegram
|
||||||
tembo
|
tembo
|
||||||
|
tencentmeeting
|
||||||
textexpander
|
textexpander
|
||||||
textmate
|
textmate
|
||||||
theunarchiver
|
theunarchiver
|
||||||
@@ -421,6 +443,7 @@ torbrowser
|
|||||||
trex
|
trex
|
||||||
tunnelbear
|
tunnelbear
|
||||||
tunnelblick
|
tunnelblick
|
||||||
|
typinator
|
||||||
typora
|
typora
|
||||||
ultimakercura
|
ultimakercura
|
||||||
umbrellaroamingclient
|
umbrellaroamingclient
|
||||||
@@ -447,11 +470,10 @@ webexteams
|
|||||||
wechat
|
wechat
|
||||||
whatroute
|
whatroute
|
||||||
whatsapp
|
whatsapp
|
||||||
wickrme
|
|
||||||
wickrpro
|
|
||||||
wireshark
|
wireshark
|
||||||
wordservice
|
wordservice
|
||||||
wwdc
|
wwdc
|
||||||
|
xcreds
|
||||||
xeroxphaser7800
|
xeroxphaser7800
|
||||||
xeroxworkcentre7800
|
xeroxworkcentre7800
|
||||||
xink
|
xink
|
||||||
|
|||||||
Reference in New Issue
Block a user