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:
fleet-release 2025-12-09 23:33:34 -06:00 committed by GitHub
parent df475879e1
commit 50612d6c40
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 73 additions and 73 deletions

View file

@ -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';"
},

View file

@ -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"
}
}

View file

@ -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

View file

@ -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"
]

View file

@ -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"
}
}

View file

@ -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"
]

View file

@ -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"
]

View file

@ -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"
],

View file

@ -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"
]

View file

@ -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"
]

View file

@ -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"
]

View file

@ -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

View file

@ -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"
}
}

View file

@ -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"
]

View file

@ -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"
],