Update Fleet-maintained apps (#39602)

Automated ingestion of latest Fleet-maintained app data.

---------

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
This commit is contained in:
fleet-release
2026-02-10 11:47:14 -06:00
committed by GitHub
co-authored by mostlikelee Allen Houchins
parent 0993f2eea7
commit 3d96b1a879
14 changed files with 39 additions and 39 deletions
@@ -1,14 +1,14 @@
{
"versions": [
{
"version": "1.1.2321",
"version": "1.1.2512",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.anthropic.claudefordesktop';"
},
"installer_url": "https://downloads.claude.ai/releases/darwin/universal/1.1.2321/Claude-495628f91fbfa276fabd6da835ba226fdf5ec68e.zip",
"installer_url": "https://downloads.claude.ai/releases/darwin/universal/1.1.2512/Claude-4d27082e7ea0c9cd9a59e334497a9ca397025cc5.zip",
"install_script_ref": "eef78d20",
"uninstall_script_ref": "4cfbec7d",
"sha256": "3fa29db427721c60e1a76f60f3c83da210eef97a138ae3f5d16d59bce57b6ba2",
"sha256": "14847f57af74b578fa5bd2a7952e98da4a305c607625aa319536cbfb5d79cd16",
"default_categories": [
"Developer tools"
]
@@ -1,14 +1,14 @@
{
"versions": [
{
"version": "2.4.28",
"version": "2.4.31",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.todesktop.230313mzl4w4u92';"
},
"installer_url": "https://downloads.cursor.com/production/f3f5cec40024283013878b50c4f9be4002e0b587/darwin/arm64/Cursor-darwin-arm64.zip",
"installer_url": "https://downloads.cursor.com/production/3578107fdf149b00059ddad37048220e4168100f/darwin/arm64/Cursor-darwin-arm64.zip",
"install_script_ref": "2db624c4",
"uninstall_script_ref": "f7561d44",
"sha256": "681e3b783116796103601cacb8b224019550b3b80837c9f47e49240ef8137b50",
"sha256": "b29b74536826caddf86cfccd6d78fd51032761169c741b4207cb136f58d31e25",
"default_categories": [
"Developer tools"
]
@@ -1,14 +1,14 @@
{
"versions": [
{
"version": "0.0.375",
"version": "0.0.376",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.hnc.Discord';"
},
"installer_url": "https://dl.discordapp.net/apps/osx/0.0.375/Discord.dmg",
"installer_url": "https://dl.discordapp.net/apps/osx/0.0.376/Discord.dmg",
"install_script_ref": "b66869e3",
"uninstall_script_ref": "8ed76f08",
"sha256": "a512f57c205740bde230d33fa68ef72abb4945085636f103ec7f0face0564da5",
"sha256": "01b82f23c549d6e4461708252f59aa38b1129620256c541d3f881c25ffadd4f6",
"default_categories": [
"Communication"
]
@@ -1,14 +1,14 @@
{
"versions": [
{
"version": "1.0.9223",
"version": "1.0.9224",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Discord' AND publisher = 'Discord Inc.';"
},
"installer_url": "https://stable.dl2.discordapp.net/distro/app/stable/win/x64/1.0.9223/DiscordSetup.exe",
"installer_url": "https://stable.dl2.discordapp.net/distro/app/stable/win/x64/1.0.9224/DiscordSetup.exe",
"install_script_ref": "fd04e860",
"uninstall_script_ref": "73fc6eff",
"sha256": "c26f64d469edcd92acec228d78282a59337b8bd918a33d1bb1adcb3c385846ac",
"sha256": "c49a34906bb29e1923356c6e7ecd5389acd4c53b1f90cdeed37f0dba0b23896f",
"default_categories": [
"Communication"
]
@@ -1,14 +1,14 @@
{
"versions": [
{
"version": "4.59.1",
"version": "4.60.0",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.dockerdesktop';"
},
"installer_url": "https://desktop.docker.com/mac/main/arm64/217750/Docker.dmg",
"installer_url": "https://desktop.docker.com/mac/main/arm64/218231/Docker.dmg",
"install_script_ref": "2fd921da",
"uninstall_script_ref": "876e899c",
"sha256": "18f70d06ebfb2ba15d488d85222aabb03c6cc68b594834717c863137a2237863",
"sha256": "bbc7a37d4152337b8dd8dce14583b5991eea9240859fc39434734f33d6d7317d",
"default_categories": [
"Developer tools"
]
@@ -1,14 +1,14 @@
{
"versions": [
{
"version": "2025.3.1.1",
"version": "2025.3.2",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.goland';"
},
"installer_url": "https://download.jetbrains.com/go/goland-2025.3.1.1-aarch64.dmg",
"installer_url": "https://download.jetbrains.com/go/goland-2025.3.2-aarch64.dmg",
"install_script_ref": "8af38bfd",
"uninstall_script_ref": "483ece2b",
"sha256": "bd5f13c4b1bf28452e01c37596c08a4fabf8b60e9499b514ed4e4e089f2b8574",
"sha256": "3a2440e4fdcb3b0c4fefb13645e311472d9b5a66fe7ffab362d790fd93881831",
"default_categories": [
"Developer tools"
]
@@ -1,7 +1,7 @@
{
"versions": [
{
"version": "1.98.824948",
"version": "1.99.834046",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.logi.optionsplus';"
},
@@ -1,14 +1,14 @@
{
"versions": [
{
"version": "7.3.1",
"version": "7.4.0",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'notion.id';"
},
"installer_url": "https://desktop-release.notion-static.com/Notion-7.3.1-arm64.dmg",
"installer_url": "https://desktop-release.notion-static.com/Notion-7.4.0-arm64.dmg",
"install_script_ref": "2c56ecc2",
"uninstall_script_ref": "21cd1000",
"sha256": "b1f26b90143ece61b6b137e06cc6ee87eb8a3a563edcba06c43c292cae07a2e4",
"sha256": "dd284f9e95dfa819e2c18c40c9d6c47d5975240bcc19fefaa99be9c6a62af02f",
"default_categories": [
"Productivity"
]
@@ -1,14 +1,14 @@
{
"versions": [
{
"version": "7.3.4",
"version": "7.4.0",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Notion 6.1.0' AND publisher = 'Notion Labs, Inc';"
},
"installer_url": "https://desktop-release.notion-static.com/Notion%20Setup%207.3.4.exe",
"installer_url": "https://desktop-release.notion-static.com/Notion%20Setup%207.4.0.exe",
"install_script_ref": "0803ad8c",
"uninstall_script_ref": "a8fdd9b7",
"sha256": "5ee061a897e321a2ec167f7a9bfc6f4a140e187492f81331aeddbec73a822c4c",
"sha256": "1dc2592491962e4ce92f933a3ccff5013142594f65811cd1faab6d9d3a6ada22",
"default_categories": [
"Productivity"
]
@@ -1,14 +1,14 @@
{
"versions": [
{
"version": "1.11.0",
"version": "1.12.1",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'ch.protonmail.desktop';"
},
"installer_url": "https://proton.me/download/mail/macos/1.11.0/ProtonMail-desktop.dmg",
"installer_url": "https://proton.me/download/mail/macos/1.12.1/ProtonMail-desktop.dmg",
"install_script_ref": "8c91dafe",
"uninstall_script_ref": "f42c8def",
"sha256": "20f3874921f175268b9185f475e1f5445a62d7b962ab4b5e9dfa4d9e20253547",
"sha256": "cbc2a01e6f2921b2d001bd7fa480293416ec6848b995d2276385573418934252",
"default_categories": [
"Communication"
]
@@ -1,14 +1,14 @@
{
"versions": [
{
"version": "18.6.6",
"version": "18.6.7",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'gravitational.teleport.connect';"
},
"installer_url": "https://cdn.teleport.dev/Teleport%20Connect-18.6.6.dmg",
"installer_url": "https://cdn.teleport.dev/Teleport%20Connect-18.6.7.dmg",
"install_script_ref": "c4abf467",
"uninstall_script_ref": "b6540188",
"sha256": "005bf51416e0e635e191feb6dad97a93f5b00b552e612fa3c73450a081e57750",
"sha256": "ab74df740aba8edf2b618965d4a6b12068361badf84afa20441bcc5d7fd6a439",
"default_categories": [
"Productivity"
]
@@ -1,21 +1,21 @@
{
"versions": [
{
"version": "18.6.6",
"version": "18.6.7",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.gravitational.teleport';"
},
"installer_url": "https://cdn.teleport.dev/teleport-18.6.6.pkg",
"install_script_ref": "d03bfd16",
"installer_url": "https://cdn.teleport.dev/teleport-18.6.7.pkg",
"install_script_ref": "0ce8cd77",
"uninstall_script_ref": "42474e69",
"sha256": "7d507c5d0038a72a24756676ceb703cd24390bfe432cb2d8b3a326fd48e4c3bf",
"sha256": "502f206cb7351f61d65241600413a355cf0a8b697097b703ac739dda9f3e698a",
"default_categories": [
"Developer tools"
]
}
],
"refs": {
"42474e69": "#!/bin/sh\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nexpand_pkgid_and_map() {\n local PKGID=\"$1\"\n local FUNC=\"$2\"\n if [[ \"$PKGID\" == *\"*\" ]]; then\n local prefix=\"${PKGID%\\*}\"\n # Convert (.*) to .* for regex matching to handle patterns like (.*).com.example.app\n local regex_pattern=$(echo \"$prefix\" | sed 's/(\\.\\*)/.*/g')\n echo \"Expanding wildcard for PKGID: $PKGID (pattern: ^${regex_pattern})\"\n for receipt in $(pkgutil --pkgs | grep -E \"^${regex_pattern}\"); do\n echo \"Processing $receipt\"\n \"$FUNC\" \"$receipt\"\n done\n else\n \"$FUNC\" \"$PKGID\"\n fi\n}\n\nforget_pkg() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" forget_receipt\n}\n\nforget_receipt() {\n local PKGID=\"$1\"\n sudo pkgutil --forget \"$PKGID\"\n}\n\nremove_pkg_files() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" remove_receipt_files\n}\n\nremove_receipt_files() {\n local PKGID=\"$1\"\n local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION\n\n echo \"pkgutil --pkg-info-plist \\\"$PKGID\\\"\"\n PKGINFO=$(pkgutil --pkg-info-plist \"$PKGID\")\n VOLUME=$(echo \"$PKGINFO\" | awk '/<key>volume<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/<key>install-location<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n\n if [ -z \"$INSTALL_LOCATION\" ] || [ \"$INSTALL_LOCATION\" = \"/\" ]; then\n FULL_INSTALL_LOCATION=\"$VOLUME\"\n else\n FULL_INSTALL_LOCATION=\"$VOLUME/$INSTALL_LOCATION\"\n FULL_INSTALL_LOCATION=$(echo \"$FULL_INSTALL_LOCATION\" | sed 's|//|/|g')\n fi\n\n echo \"sudo pkgutil --only-files --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n echo \"sudo pkgutil --only-dirs --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | grep '\\\\.app$' | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n root_app_dir=$(\n sudo pkgutil --only-dirs --files \"$PKGID\" \\\n | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" \\\n | grep 'Applications' \\\n | awk '{ print length, $0 }' \\\n | sort -n \\\n | head -n1 \\\n | cut -d' ' -f2-\n )\n if [ -n \"$root_app_dir\" ]; then\n echo \"sudo rmdir -p \\\"$root_app_dir\\\" 2>/dev/null || :\"\n sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :\n fi\n}\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\n# Remove teleport-suite packages (handles wildcard patterns with (.*))\nremove_pkg_files '(.*).com.gravitational.teleport.tctl'\nforget_pkg '(.*).com.gravitational.teleport.tctl'\nremove_pkg_files '(.*).com.gravitational.teleport.tsh'\nforget_pkg '(.*).com.gravitational.teleport.tsh'\nremove_pkg_files 'com.gravitational.teleport'\nforget_pkg 'com.gravitational.teleport'\n\n# Explicitly remove apps from /Applications (in case pkgutil removal didn't catch them)\nsudo rm -rf '/Applications/tctl.app'\nsudo rm -rf '/Applications/tsh.app'\n\n# Remove binaries\nsudo rm -rf '/usr/local/bin/fdpass-teleport'\nsudo rm -rf '/usr/local/bin/tbot'\nsudo rm -rf '/usr/local/bin/tctl'\nsudo rm -rf '/usr/local/bin/teleport'\nsudo rm -rf '/usr/local/bin/tsh'\n\n# Remove user data\ntrash $LOGGED_IN_USER '~/.tsh'\n\n",
"d03bfd16": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath $INSTALLER_PATH)\")\n# functions\n\nquit_and_track_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\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 eval \"export $var_name=0\"\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 eval \"export $var_name=0\"\n return\n fi\n\n # App was running, mark it for relaunch\n eval \"export $var_name=1\"\n echo \"Application '$bundle_id' was running; will relaunch after installation.\"\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\nrelaunch_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local was_running\n\n # Check if the app was running before installation\n eval \"was_running=\\$$var_name\"\n if [[ \"$was_running\" != \"1\" ]]; 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 relaunching application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Relaunching application '$bundle_id'...\"\n\n # Try to launch the application\n if osascript -e \"tell application id \\\"$bundle_id\\\" to activate\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' relaunched successfully.\"\n else\n echo \"Failed to relaunch application '$bundle_id'.\"\n fi\n}\n\n\n# install pkg files\nquit_and_track_application 'com.gravitational.teleport'\nsudo installer -pkg \"$TMPDIR/teleport-18.6.6.pkg\" -target /\nrelaunch_application 'com.gravitational.teleport'\n"
"0ce8cd77": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath $INSTALLER_PATH)\")\n# functions\n\nquit_and_track_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\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 eval \"export $var_name=0\"\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 eval \"export $var_name=0\"\n return\n fi\n\n # App was running, mark it for relaunch\n eval \"export $var_name=1\"\n echo \"Application '$bundle_id' was running; will relaunch after installation.\"\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\nrelaunch_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local was_running\n\n # Check if the app was running before installation\n eval \"was_running=\\$$var_name\"\n if [[ \"$was_running\" != \"1\" ]]; 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 relaunching application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Relaunching application '$bundle_id'...\"\n\n # Try to launch the application\n if osascript -e \"tell application id \\\"$bundle_id\\\" to activate\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' relaunched successfully.\"\n else\n echo \"Failed to relaunch application '$bundle_id'.\"\n fi\n}\n\n\n# install pkg files\nquit_and_track_application 'com.gravitational.teleport'\nsudo installer -pkg \"$TMPDIR/teleport-18.6.7.pkg\" -target /\nrelaunch_application 'com.gravitational.teleport'\n",
"42474e69": "#!/bin/sh\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nexpand_pkgid_and_map() {\n local PKGID=\"$1\"\n local FUNC=\"$2\"\n if [[ \"$PKGID\" == *\"*\" ]]; then\n local prefix=\"${PKGID%\\*}\"\n # Convert (.*) to .* for regex matching to handle patterns like (.*).com.example.app\n local regex_pattern=$(echo \"$prefix\" | sed 's/(\\.\\*)/.*/g')\n echo \"Expanding wildcard for PKGID: $PKGID (pattern: ^${regex_pattern})\"\n for receipt in $(pkgutil --pkgs | grep -E \"^${regex_pattern}\"); do\n echo \"Processing $receipt\"\n \"$FUNC\" \"$receipt\"\n done\n else\n \"$FUNC\" \"$PKGID\"\n fi\n}\n\nforget_pkg() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" forget_receipt\n}\n\nforget_receipt() {\n local PKGID=\"$1\"\n sudo pkgutil --forget \"$PKGID\"\n}\n\nremove_pkg_files() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" remove_receipt_files\n}\n\nremove_receipt_files() {\n local PKGID=\"$1\"\n local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION\n\n echo \"pkgutil --pkg-info-plist \\\"$PKGID\\\"\"\n PKGINFO=$(pkgutil --pkg-info-plist \"$PKGID\")\n VOLUME=$(echo \"$PKGINFO\" | awk '/<key>volume<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/<key>install-location<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n\n if [ -z \"$INSTALL_LOCATION\" ] || [ \"$INSTALL_LOCATION\" = \"/\" ]; then\n FULL_INSTALL_LOCATION=\"$VOLUME\"\n else\n FULL_INSTALL_LOCATION=\"$VOLUME/$INSTALL_LOCATION\"\n FULL_INSTALL_LOCATION=$(echo \"$FULL_INSTALL_LOCATION\" | sed 's|//|/|g')\n fi\n\n echo \"sudo pkgutil --only-files --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n echo \"sudo pkgutil --only-dirs --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | grep '\\\\.app$' | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n root_app_dir=$(\n sudo pkgutil --only-dirs --files \"$PKGID\" \\\n | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" \\\n | grep 'Applications' \\\n | awk '{ print length, $0 }' \\\n | sort -n \\\n | head -n1 \\\n | cut -d' ' -f2-\n )\n if [ -n \"$root_app_dir\" ]; then\n echo \"sudo rmdir -p \\\"$root_app_dir\\\" 2>/dev/null || :\"\n sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :\n fi\n}\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\n# Remove teleport-suite packages (handles wildcard patterns with (.*))\nremove_pkg_files '(.*).com.gravitational.teleport.tctl'\nforget_pkg '(.*).com.gravitational.teleport.tctl'\nremove_pkg_files '(.*).com.gravitational.teleport.tsh'\nforget_pkg '(.*).com.gravitational.teleport.tsh'\nremove_pkg_files 'com.gravitational.teleport'\nforget_pkg 'com.gravitational.teleport'\n\n# Explicitly remove apps from /Applications (in case pkgutil removal didn't catch them)\nsudo rm -rf '/Applications/tctl.app'\nsudo rm -rf '/Applications/tsh.app'\n\n# Remove binaries\nsudo rm -rf '/usr/local/bin/fdpass-teleport'\nsudo rm -rf '/usr/local/bin/tbot'\nsudo rm -rf '/usr/local/bin/tctl'\nsudo rm -rf '/usr/local/bin/teleport'\nsudo rm -rf '/usr/local/bin/tsh'\n\n# Remove user data\ntrash $LOGGED_IN_USER '~/.tsh'\n\n"
}
}
@@ -1,7 +1,7 @@
{
"versions": [
{
"version": "26.5.18",
"version": "26.6.23",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'net.whatsapp.WhatsApp';"
},
+1 -1
View File
@@ -1,7 +1,7 @@
{
"versions": [
{
"version": "6.7.2.72191",
"version": "6.7.5.75246",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'us.zoom.xos';"
},