mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
Update Fleet-maintained apps (#37037)
Automated ingestion of latest Fleet-maintained app data. Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
This commit is contained in:
parent
df475879e1
commit
50612d6c40
20 changed files with 73 additions and 73 deletions
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "8.11.20",
|
||||
"version": "8.11.22",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.1password.1password';"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "8.11.20",
|
||||
"version": "8.11.22",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM programs WHERE name = '1Password' AND publisher = 'AgileBits Inc.';"
|
||||
},
|
||||
"installer_url": "https://c.1password.com/dist/1P/win8/1PasswordSetup-8.11.20.msi",
|
||||
"installer_url": "https://c.1password.com/dist/1P/win8/1PasswordSetup-8.11.22.msi",
|
||||
"install_script_ref": "8959087b",
|
||||
"uninstall_script_ref": "0f0686f0",
|
||||
"sha256": "43d9ead13972ef932444b247ba29c5859b209082b907dca69d1572629da31cc9",
|
||||
"uninstall_script_ref": "1dc6ae7b",
|
||||
"sha256": "5cce5a4ed4caed51482b9a966200d42be5adbf40ad537d1b06a2092dc8f054cf",
|
||||
"default_categories": [
|
||||
"Productivity"
|
||||
]
|
||||
}
|
||||
],
|
||||
"refs": {
|
||||
"0f0686f0": "# 1Password Uninstall Script\n# Closes running processes before uninstalling to prevent hangs\n\n$product_code = \"{AAA57F98-EABE-452E-8DA3-9FF6D9DBEDE6}\"\n$timeoutSeconds = 300 # 5 minute timeout\n\n# Close any running 1Password processes\nGet-Process -Name \"1Password*\" -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue\nStart-Sleep -Seconds 2\n\n# Fleet uninstalls app using product code that's extracted on upload\n$process = Start-Process msiexec -ArgumentList @(\"/quiet\", \"/x\", $product_code, \"/norestart\") -PassThru\n\n# Wait for process with timeout\n$completed = $process.WaitForExit($timeoutSeconds * 1000)\n\nif (-not $completed) {\n Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue\n Exit 1603 # ERROR_INSTALL_FAILURE\n}\n\n# Check exit code and output result\nif ($process.ExitCode -eq 0) {\n Write-Output \"Exit 0\"\n Exit 0\n} else {\n Write-Output \"Exit $($process.ExitCode)\"\n Exit $process.ExitCode\n}\n\n",
|
||||
"1dc6ae7b": "# 1Password Uninstall Script\n# Closes running processes before uninstalling to prevent hangs\n\n$product_code = \"{2432CE8D-7DBC-454D-9BFC-44983C0F21FD}\"\n$timeoutSeconds = 300 # 5 minute timeout\n\n# Close any running 1Password processes\nGet-Process -Name \"1Password*\" -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue\nStart-Sleep -Seconds 2\n\n# Fleet uninstalls app using product code that's extracted on upload\n$process = Start-Process msiexec -ArgumentList @(\"/quiet\", \"/x\", $product_code, \"/norestart\") -PassThru\n\n# Wait for process with timeout\n$completed = $process.WaitForExit($timeoutSeconds * 1000)\n\nif (-not $completed) {\n Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue\n Exit 1603 # ERROR_INSTALL_FAILURE\n}\n\n# Check exit code and output result\nif ($process.ExitCode -eq 0) {\n Write-Output \"Exit 0\"\n Exit 0\n} else {\n Write-Output \"Exit $($process.ExitCode)\"\n Exit $process.ExitCode\n}\n\n",
|
||||
"8959087b": "$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv ${logFile} /i `\"${env:INSTALLER_PATH}`\"\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "8.28.2",
|
||||
"version": "8.29.1",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.8x8---virtual-office';"
|
||||
},
|
||||
"installer_url": "https://work-desktop-assets.8x8.com/prod-publish/ga/work-arm64-dmg-v8.28.2-3.dmg",
|
||||
"installer_url": "https://work-desktop-assets.8x8.com/prod-publish/ga/work-arm64-dmg-v8.29.1-3.dmg",
|
||||
"install_script_ref": "72ba3751",
|
||||
"uninstall_script_ref": "7ed20ad7",
|
||||
"sha256": "0c29e0de06a9a785e0f95987dc498b9c77aa7a27f21ddd8910e7d78dd430bdce",
|
||||
"sha256": "c6aa78d0911a0cb504a21bcf8421de703cc7dd07b7388903cf29227ca5955737",
|
||||
"default_categories": [
|
||||
"Communication"
|
||||
]
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "25.001.20937",
|
||||
"version": "25.001.20982",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM programs WHERE name = 'Adobe Acrobat (64-bit)' AND publisher = 'Adobe';"
|
||||
},
|
||||
"installer_url": "https://ardownload3.adobe.com/pub/adobe/acrobat/win/AcrobatDC/2500120937/AcroRdrDCx642500120937_MUI.exe",
|
||||
"installer_url": "https://ardownload2.adobe.com/pub/adobe/acrobat/win/AcrobatDC/2500120982/AcroRdrDCx642500120982_MUI.exe",
|
||||
"install_script_ref": "7dc0b065",
|
||||
"uninstall_script_ref": "3bb10c80",
|
||||
"sha256": "f1b0911bbcea02bc899d0e2c03932675daf2be711f29e6d88f465e990123c525",
|
||||
"sha256": "cbfb05fd9dca496cf0a14a8d596f02cd87d58faae227ab0a2c39139c72c2c380",
|
||||
"default_categories": [
|
||||
"Productivity"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
{
|
||||
"version": "5.23.22475",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.runningwithcrayons.Alfred';"
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.amazon.Amazon-Chime';"
|
||||
},
|
||||
"installer_url": "https://clients.chime.aws/mac-nme/AmazonChime-5.23.22475.dmg",
|
||||
"install_script_ref": "75f175f9",
|
||||
"install_script_ref": "8cc67a87",
|
||||
"uninstall_script_ref": "8071c6a5",
|
||||
"sha256": "f10e338a5f02df7f4c308a8c8aa3f7985977f5583659d391d3267a6cbeb7a6eb",
|
||||
"default_categories": [
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
}
|
||||
],
|
||||
"refs": {
|
||||
"75f175f9": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath $INSTALLER_PATH)\")\n# functions\n\nquit_application() {\n local bundle_id=\"$1\"\n local timeout_duration=10\n\n # check if the application is running\n if ! osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ $EUID -eq 0 && \"$console_user\" == \"root\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\n# extract contents\nMOUNT_POINT=$(mktemp -d /tmp/dmg_mount_XXXXXX)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\n# copy to the applications folder\nquit_application 'com.runningwithcrayons.Alfred'\nif [ -d \"$APPDIR/Amazon Chime.app\" ]; then\n\tsudo mv \"$APPDIR/Amazon Chime.app\" \"$TMPDIR/Amazon Chime.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/Amazon Chime.app\" \"$APPDIR\"\n",
|
||||
"8071c6a5": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/Amazon Chime.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Support/Amazon Chime'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.amazon.Amazon-Chime'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.amazon.Amazon-Chime'\ntrash $LOGGED_IN_USER '~/Library/Logs/Amazon Chime'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.amazon.Amazon-Chime.plist'\ntrash $LOGGED_IN_USER '~/Library/WebKit/com.amazon.Amazon-Chime'\n"
|
||||
"8071c6a5": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/Amazon Chime.app\"\ntrash $LOGGED_IN_USER '~/Library/Application Support/Amazon Chime'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.amazon.Amazon-Chime'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.amazon.Amazon-Chime'\ntrash $LOGGED_IN_USER '~/Library/Logs/Amazon Chime'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.amazon.Amazon-Chime.plist'\ntrash $LOGGED_IN_USER '~/Library/WebKit/com.amazon.Amazon-Chime'\n",
|
||||
"8cc67a87": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath $INSTALLER_PATH)\")\n# functions\n\nquit_application() {\n local bundle_id=\"$1\"\n local timeout_duration=10\n\n # check if the application is running\n if ! osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ $EUID -eq 0 && \"$console_user\" == \"root\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\n# extract contents\nMOUNT_POINT=$(mktemp -d /tmp/dmg_mount_XXXXXX)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\n# copy to the applications folder\nquit_application 'com.amazon.Amazon-Chime'\nif [ -d \"$APPDIR/Amazon Chime.app\" ]; then\n\tsudo mv \"$APPDIR/Amazon Chime.app\" \"$TMPDIR/Amazon Chime.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/Amazon Chime.app\" \"$APPDIR\"\n"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.2025.323.6",
|
||||
"version": "1.2025.337.4",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.openai.atlas';"
|
||||
},
|
||||
"installer_url": "https://persistent.oaistatic.com/atlas/public/ChatGPT_Atlas_Desktop_public_1.2025.323.6_20251124201745000.dmg",
|
||||
"installer_url": "https://persistent.oaistatic.com/atlas/public/ChatGPT_Atlas_Desktop_public_1.2025.337.4_20251208174454000.dmg",
|
||||
"install_script_ref": "5f1fd25a",
|
||||
"uninstall_script_ref": "eb68389d",
|
||||
"sha256": "6b06c7045f972b45abe0c7ec88c27cb9a3a20fdac212a70643af46899ef73125",
|
||||
"sha256": "8c3ae0855fca9cf949b8f0184751e7c730c790f205bc66ad544257b5d7a27420",
|
||||
"default_categories": [
|
||||
"Browsers"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "9.3.0",
|
||||
"version": "9.3.1",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'ch.sudo.cyberduck';"
|
||||
},
|
||||
"installer_url": "https://update.cyberduck.io/Cyberduck-9.3.0.44071.zip",
|
||||
"installer_url": "https://update.cyberduck.io/Cyberduck-9.3.1.44136.zip",
|
||||
"install_script_ref": "0cf46de4",
|
||||
"uninstall_script_ref": "481dc73b",
|
||||
"sha256": "820fdb608c54bb3d7beaa35a18a5abdef1efbeecb25c16446c4e6e0b17164572",
|
||||
"sha256": "2298a820dd6bd252cc5dce39c75a9c65f490fd11f9f1af3198e3e721cf03b3fc",
|
||||
"default_categories": [
|
||||
"Productivity"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "9.3.0.44071",
|
||||
"version": "9.3.1.44136",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM programs WHERE name = 'Cyberduck' AND publisher = 'iterate GmbH';"
|
||||
},
|
||||
"installer_url": "https://update.cyberduck.io//Cyberduck-Installer-9.3.0.44071.msi",
|
||||
"installer_url": "https://update.cyberduck.io//Cyberduck-Installer-9.3.1.44136.msi",
|
||||
"install_script_ref": "8959087b",
|
||||
"uninstall_script_ref": "5afbd60e",
|
||||
"sha256": "01123311a1aeadc81906857ac4bd63dc78f4057832baef3dd70ab44f24851e52",
|
||||
"sha256": "5d84b2c0fa8394a6667c49b1e781afc63d70a53b8f45e1c6e8a64e82f8259a86",
|
||||
"default_categories": [
|
||||
"Productivity"
|
||||
],
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "237.4.5655",
|
||||
"version": "238.4.6075",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.getdropbox.dropbox';"
|
||||
},
|
||||
"installer_url": "https://edge.dropboxstatic.com/dbx-releng/client/Dropbox%20237.4.5655.arm64.dmg",
|
||||
"installer_url": "https://edge.dropboxstatic.com/dbx-releng/client/Dropbox%20238.4.6075.arm64.dmg",
|
||||
"install_script_ref": "53778616",
|
||||
"uninstall_script_ref": "c86e5f6d",
|
||||
"sha256": "8413875f02a837820c790ae6785b5f1d61646bebb1f3ad51317f1089fec56351",
|
||||
"sha256": "874f56c399655f500397a2ebc1378e91ff63305ecfc825cbe0344704b1b0219a",
|
||||
"default_categories": [
|
||||
"Productivity"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "145.0.2",
|
||||
"version": "146.0",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'org.mozilla.firefox';"
|
||||
},
|
||||
"installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/145.0.2/mac/en-US/Firefox%20145.0.2.dmg",
|
||||
"installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/146.0/mac/en-US/Firefox%20146.0.dmg",
|
||||
"install_script_ref": "75ff0f18",
|
||||
"uninstall_script_ref": "824ca465",
|
||||
"sha256": "80f5851f90de88d1b8d27299cb0a3ff3b9ff3774c275de2675f651834bd9228b",
|
||||
"sha256": "4b1645313887972d466cd82166ea571485c2c40a167f84624e3f3ca739993cc9",
|
||||
"default_categories": [
|
||||
"Browsers"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "6.377.0",
|
||||
"version": "6.399.0",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.granola.app';"
|
||||
},
|
||||
"installer_url": "https://dr2v7l5emb758.cloudfront.net/6.377.0/Granola-6.377.0-mac-universal.dmg",
|
||||
"installer_url": "https://dr2v7l5emb758.cloudfront.net/6.399.0/Granola-6.399.0-mac-universal.dmg",
|
||||
"install_script_ref": "1223720b",
|
||||
"uninstall_script_ref": "9f1ed248",
|
||||
"sha256": "1411c194043ffd943c1ea19d66d5dfec111ea06d65a85365f45c03827b7dd16e",
|
||||
"sha256": "d6aed1e48d0d8fc1c845e541f06365c1a28425c42b2db58c9bc754e28bd3b72e",
|
||||
"default_categories": [
|
||||
"Productivity"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "143.0.3650.66",
|
||||
"version": "143.0.3650.75",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.microsoft.edgemac';"
|
||||
},
|
||||
"installer_url": "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/9e924095-3a4c-4774-88ac-506a58d34f76/MicrosoftEdge-143.0.3650.66.dmg",
|
||||
"installer_url": "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/aa2c6167-45e6-4f86-94f9-7f6303b52cd6/MicrosoftEdge-143.0.3650.75.dmg",
|
||||
"install_script_ref": "b9ba259a",
|
||||
"uninstall_script_ref": "6ee9d9a4",
|
||||
"sha256": "bf33e72763b4e4b7506532e92de2df2b1345ba8df0ecc5d66e3fa5bf5801d8db",
|
||||
"sha256": "c117962655bafbee348c18f5778d7bd90b8bcb01738d9c636c403e74f7efab91",
|
||||
"default_categories": [
|
||||
"Browsers"
|
||||
]
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "2025.2.5",
|
||||
"version": "2025.3",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.rustrover';"
|
||||
},
|
||||
"installer_url": "https://download.jetbrains.com/rustrover/RustRover-2025.2.5-aarch64.dmg",
|
||||
"installer_url": "https://download.jetbrains.com/rustrover/RustRover-2025.3-aarch64.dmg",
|
||||
"install_script_ref": "2aa641c6",
|
||||
"uninstall_script_ref": "ab64d483",
|
||||
"sha256": "7927f48c24ff1e9b235f3f6bbcd74fb1fad907035146a04c55ef62ccdf90c087",
|
||||
"uninstall_script_ref": "5c287f74",
|
||||
"sha256": "7fb3793813e69fb49e7bc7bb5ce8549cb2d12416c52a877b87cf731e39643cfa",
|
||||
"default_categories": [
|
||||
"Developer tools"
|
||||
]
|
||||
|
|
@ -16,6 +16,6 @@
|
|||
],
|
||||
"refs": {
|
||||
"2aa641c6": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath $INSTALLER_PATH)\")\n# functions\n\nquit_application() {\n local bundle_id=\"$1\"\n local timeout_duration=10\n\n # check if the application is running\n if ! osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ $EUID -eq 0 && \"$console_user\" == \"root\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\n# extract contents\nMOUNT_POINT=$(mktemp -d /tmp/dmg_mount_XXXXXX)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\n# copy to the applications folder\nquit_application 'com.jetbrains.rustrover'\nif [ -d \"$APPDIR/RustRover.app\" ]; then\n\tsudo mv \"$APPDIR/RustRover.app\" \"$TMPDIR/RustRover.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/RustRover.app\" \"$APPDIR\"\n",
|
||||
"ab64d483": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/RustRover.app\"\nsudo rm -rf 'rustrover'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/RustRover2025.2'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/RustRover2025.2'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/RustRover2025.2'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.rustrover.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.rustrover.savedState'\n"
|
||||
"5c287f74": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/RustRover.app\"\nsudo rm -rf 'rustrover'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/RustRover2025.3'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/RustRover2025.3'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/RustRover2025.3'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.rustrover.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.rustrover.savedState'\n"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@
|
|||
"queries": {
|
||||
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.torusknot.SourceTreeNotMAS';"
|
||||
},
|
||||
"installer_url": "https://product-downloads.atlassian.com/software/sourcetree/ga/Sourcetree_4.2.15_303.zip",
|
||||
"installer_url": "https://product-downloads.atlassian.com/software/sourcetree/ga/Sourcetree_4.2.15_305.zip",
|
||||
"install_script_ref": "353de658",
|
||||
"uninstall_script_ref": "639d4333",
|
||||
"sha256": "3c57050057715e6473151eab0aa144822c7337377e9d810c849e3f68655f1b5b",
|
||||
"sha256": "51817848ec375ee084bc23f1fdc197d2c1734f0bd56925993cec3aeabac45a5a",
|
||||
"default_categories": [
|
||||
"Developer tools"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "20.25.322.1319",
|
||||
"version": "20.25.330.1627",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM programs WHERE name = 'Twingate' AND publisher = 'Twingate Inc.';"
|
||||
},
|
||||
"installer_url": "https://binaries.twingate.com/client/windows/versions/2025.322.1319/TwingateWindowsInstaller.msi",
|
||||
"installer_url": "https://binaries.twingate.com/client/windows/versions/2025.330.1627/TwingateWindowsInstaller.msi",
|
||||
"install_script_ref": "8959087b",
|
||||
"uninstall_script_ref": "0684eac9",
|
||||
"sha256": "104d5868868ab63c90777c992a93e74bab7498c64a61cebba76d9d6a84f56374",
|
||||
"sha256": "26b9cac96735ea324c634b175d958f1d72197d782911c744e73981de5d678976",
|
||||
"default_categories": [
|
||||
"Productivity"
|
||||
],
|
||||
|
|
|
|||
Loading…
Reference in a new issue