Skip to content

Instantly share code, notes, and snippets.

@junkblocker
Last active April 17, 2024 21:33
Show Gist options
  • Select an option

  • Save junkblocker/ae66b724e3893f4cde93e188eeac8b26 to your computer and use it in GitHub Desktop.

Select an option

Save junkblocker/ae66b724e3893f4cde93e188eeac8b26 to your computer and use it in GitHub Desktop.

Revisions

  1. junkblocker revised this gist Jul 6, 2020. 2 changed files with 31 additions and 51 deletions.
    62 changes: 16 additions & 46 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,6 @@
    # RUNNING THESE WILL MESS UP YOUR COMPUTER IN MYSTERIOUS AND USUALLY UNRECOVERABLE WAYS.
    ############################################################################################


    if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    echo "This is only meant to run on macOS 10.15.* Catalina" >&2
    exit 1
    @@ -24,8 +23,6 @@ fi
    LC_ALL=C
    export LC_ALL

    me="${0##*/}"

    set -o errexit
    set -o nounset
    set -o pipefail
    @@ -59,7 +56,8 @@ sudo mount -uw /

    # This script needs to be run from the volume you wish to use.
    # E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/disable.sh
    full_dir="$(cd "$(dirname $BASH_SOURCE)" && pwd)"
    # shellcheck disable=SC2128
    full_dir="$(cd "$(dirname "$BASH_SOURCE")" && pwd)"
    cd "/Volumes/Macintosh HD"
    if [[ "${1-}" != "execed" ]]; then
    exec "/Volumes/Macintosh HD${full_dir}/${BASH_SOURCE##*/}" execed
    @@ -71,48 +69,9 @@ disable() {
    kind="$2"

    cd "/Volumes/Macintosh HD"
    # if [[ -e "./System/Library/Launch${kind}s/${what}.plist" ]]; then
    # if [[ -e "./System/Library/Launch${kind}s/${what}.plist.org" ]]; then
    # if ! cmp "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    # echo "INFO : Backup ./System/Library/Launch${kind}s/${what}.plist.org"
    # echo "INFO : Original ./System/Library/Launch${kind}s/${what}.plist"
    # echo "INFO : are different"
    # sudo diff -Naup "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"
    # printf "INFO : Overwrite backup (y/N)? "
    # reply=
    # read -r reply
    # case "$reply" in
    # y* | Y*)
    # if ! sudo cp -f "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    # echo "FAILURE: Backup failed" >&2
    # return
    # fi
    # ;;
    # esac
    # fi
    # fi

    # Yes, both without and with sudo - See https://www.chromium.org/developers/how-tos/debugging-on-os-x
    launchctl unload -wF "System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl unload -wF "System/Library/Launch${kind}s/${what}.plist" || true
    # if [[ ! -e "./System/Library/Launch${kind}s/${what}.plist.prg" ]]; then
    # if sudo mv "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    # echo "SUCCESS: ${kind} ${what} disabled"
    # return
    # fi
    # echo "FAILURE: ${kind} ${what} could not be disabled"
    # else
    # echo "SUCCESS: ${kind} ${what} already disabled"
    # return
    # fi
    # else
    # if [[ -e "./System/Library/Launch${kind}s/${what}.plist.org" ]]; then
    # echo "SUCCESS: $kind $what already disabled"
    # return
    # else
    # echo "[??] ${kind} ${what} not present"
    # fi
    # fi
    }
    # WARNING: It might disable things that you may not like. Please double check the services in the various TO_DISABLE vars.

    @@ -241,13 +200,20 @@ AGENTS_TO_DISABLE+=(
    'com.apple.parentalcontrols.check'
    )

    # Apple Music/Music.app
    AGENTS_TO_DISABLE+=(
    'com.apple.AMPDeviceDiscoveryAgent'
    'com.apple.AMPDevicesAgent'
    'com.apple.AMPLibraryAgent'
    'com.apple.AMPArtworkAgent'
    'com.apple.AOSHeartbeat'
    'com.apple.AOSPushRelay'
    )

    # Others
    AGENTS_TO_DISABLE+=(
    # 'com.apple.telephonyutilities.callservicesd'
    # 'com.apple.photoanalysisd'
    # 'com.apple.AOSPushRelay' # Needed for Music.app
    # 'com.apple.AOSHeartbeat' # Needed for Music.app
    # 'com.apple.AMPArtworkAgent' # Needed for Music.app
    'com.apple.AirPlayUIAgent'
    'com.apple.AirPortBaseStationAgent'
    'com.apple.SocialPushAgent'
    @@ -309,6 +275,10 @@ DAEMONS_TO_DISABLE+=(
    'com.apple.analyticsd'
    )

    # Game Center / Passbook / Apple TV / Homekit...
    DAEMONS_TO_DISABLE+=(
    'com.apple.GameController.gamecontrollerd'
    )
    # Others
    DAEMONS_TO_DISABLE+=(
    # 'com.apple.netbiosd'
    20 changes: 15 additions & 5 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -4,13 +4,11 @@
    # RUNNING THESE WILL MESS UP YOUR COMPUTER IN MYSTERIOUS AND USUALLY UNRECOVERABLE WAYS.
    #


    ############################################################################################
    # WARNING: THESE SCRIPTS AND CHANGES ARE NOT MEANT FOR ANYBODY BUT ME.
    # RUNNING THESE WILL MESS UP YOUR COMPUTER IN MYSTERIOUS AND USUALLY UNRECOVERABLE WAYS.
    ############################################################################################


    if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    echo "This is only meant to run on macOS 10.15.* Catalina" >&2
    exit 1
    @@ -202,13 +200,20 @@ AGENTS_TO_ENABLE+=(
    'com.apple.parentalcontrols.check'
    )

    # Apple Music/Music.app
    AGENTS_TO_ENABLE+=(
    'com.apple.AMPDeviceDiscoveryAgent'
    'com.apple.AMPDevicesAgent'
    'com.apple.AMPLibraryAgent'
    'com.apple.AMPArtworkAgent'
    'com.apple.AOSHeartbeat'
    'com.apple.AOSPushRelay'
    )

    # Others
    AGENTS_TO_ENABLE+=(
    'com.apple.telephonyutilities.callservicesd'
    'com.apple.photoanalysisd'
    'com.apple.AOSPushRelay' # Needed for Music.app
    'com.apple.AOSHeartbeat' # Needed for Music.app
    'com.apple.AMPArtworkAgent' # Needed for Music.app
    'com.apple.AirPlayUIAgent'
    'com.apple.AirPortBaseStationAgent'
    'com.apple.SocialPushAgent'
    @@ -270,6 +275,11 @@ DAEMONS_TO_ENABLE+=(
    'com.apple.analyticsd'
    )

    # Game Center / Passbook / Apple TV / Homekit...
    DAEMONS_TO_ENABLE+=(
    'com.apple.GameController.gamecontrollerd'
    )

    # Others
    DAEMONS_TO_ENABLE+=(
    'com.apple.netbiosd'
  2. junkblocker revised this gist Jun 8, 2020. 2 changed files with 14 additions and 3 deletions.
    9 changes: 6 additions & 3 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,11 @@
    #!/bin/bash
    #
    # THESE SCRIPTS AND CHANGES ARE NOT MEANT FOR ANYBODY BUT ME.

    ############################################################################################
    # WARNING: THESE SCRIPTS AND CHANGES ARE NOT MEANT FOR ANYBODY BUT ME.
    # RUNNING THESE WILL MESS UP YOUR COMPUTER IN MYSTERIOUS AND USUALLY UNRECOVERABLE WAYS.
    #
    ############################################################################################


    if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    echo "This is only meant to run on macOS 10.15.* Catalina" >&2
    exit 1
    8 changes: 8 additions & 0 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,14 @@
    # THESE SCRIPTS AND CHANGES ARE NOT MEANT FOR ANYBODY BUT ME.
    # RUNNING THESE WILL MESS UP YOUR COMPUTER IN MYSTERIOUS AND USUALLY UNRECOVERABLE WAYS.
    #


    ############################################################################################
    # WARNING: THESE SCRIPTS AND CHANGES ARE NOT MEANT FOR ANYBODY BUT ME.
    # RUNNING THESE WILL MESS UP YOUR COMPUTER IN MYSTERIOUS AND USUALLY UNRECOVERABLE WAYS.
    ############################################################################################


    if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    echo "This is only meant to run on macOS 10.15.* Catalina" >&2
    exit 1
  3. junkblocker revised this gist Jun 8, 2020. 2 changed files with 8 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,8 @@
    #!/bin/bash
    #
    # THESE SCRIPTS AND CHANGES ARE NOT MEANT FOR ANYBODY BUT ME.
    # RUNNING THESE WILL MESS UP YOUR COMPUTER IN MYSTERIOUS AND USUALLY UNRECOVERABLE WAYS.
    #
    if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    echo "This is only meant to run on macOS 10.15.* Catalina" >&2
    exit 1
    4 changes: 4 additions & 0 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,8 @@
    #!/bin/bash
    #
    # THESE SCRIPTS AND CHANGES ARE NOT MEANT FOR ANYBODY BUT ME.
    # RUNNING THESE WILL MESS UP YOUR COMPUTER IN MYSTERIOUS AND USUALLY UNRECOVERABLE WAYS.
    #
    if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    echo "This is only meant to run on macOS 10.15.* Catalina" >&2
    exit 1
  4. junkblocker revised this gist Apr 21, 2020. 2 changed files with 43 additions and 40 deletions.
    61 changes: 32 additions & 29 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,10 @@ if [[ "${1-}" == "execed" ]]; then
    reply=
    printf "Are you pretty damn sure you want to run this? (Yes/No) "
    read -r reply
    [[ $reply != Yes ]] && exit 1
    if [[ $reply != Yes ]]; then
    echo "Needed a Yes to proceed" >&2
    exit 1
    fi
    fi

    LC_ALL=C
    @@ -83,8 +86,8 @@ disable() {
    # fi

    # Yes, both without and with sudo - See https://www.chromium.org/developers/how-tos/debugging-on-os-x
    launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    launchctl unload -wF "System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl unload -wF "System/Library/Launch${kind}s/${what}.plist" || true
    # if [[ ! -e "./System/Library/Launch${kind}s/${what}.plist.prg" ]]; then
    # if sudo mv "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    # echo "SUCCESS: ${kind} ${what} disabled"
    @@ -301,34 +304,34 @@ DAEMONS_TO_DISABLE+=(

    # Others
    DAEMONS_TO_DISABLE+=(
    # 'com.apple.netbiosd'
    # 'com.apple.preferences.timezone.admintool'
    # 'com.apple.remotepairtool'
    # 'com.apple.mobileassetd'
    # 'com.apple.netbiosd'
    # 'com.apple.preferences.timezone.admintool'
    # 'com.apple.remotepairtool'
    # 'com.apple.mobileassetd'
    # Not in Catalina
    # 'com.apple.SubmitDiagInfo'
    # Full Disk Encryption Key Recovery Transmission Agent
    # sends encrypted CoreStorage key recovery information to Apple. It is run
    # only when "Store the recovery key with Apple" is selected, and even then only if the infor-
    # mation could not be transmitted when that option was first selected.
    # 'com.apple.security.FDERecoveryAgent'
    # 'com.apple.screensharing'
    # 'com.apple.appleseed.fbahelperd'
    # apsd ApplePushService daemon for Apple Push Notification service. This is part of the
    # ApplePushService framework.
    # 'com.apple.apsd'
    # Device Enollment
    # 'com.apple.ManagedClient.cloudconfigurationd'
    # 'com.apple.ManagedClient.enroll'
    # 'com.apple.ManagedClient'
    # 'com.apple.ManagedClient.startup'
    # 'com.apple.locate'
    # 'com.apple.locationd'
    # eapolcfg_auth daemon used to configure EAP over LAN (EAPOL).
    # allows an authorized process to perform privileged EAPOL configuration operations.
    # 'com.apple.eapolcfg_auth'
    # 'com.apple.RemoteDesktop.PrivilegeProxy'
    # 'com.apple.mediaremoted'
    # Full Disk Encryption Key Recovery Transmission Agent
    # sends encrypted CoreStorage key recovery information to Apple. It is run
    # only when "Store the recovery key with Apple" is selected, and even then only if the infor-
    # mation could not be transmitted when that option was first selected.
    # 'com.apple.security.FDERecoveryAgent'
    # 'com.apple.screensharing'
    # 'com.apple.appleseed.fbahelperd'
    # apsd ApplePushService daemon for Apple Push Notification service. This is part of the
    # ApplePushService framework.
    # 'com.apple.apsd'
    # Device Enollment
    # 'com.apple.ManagedClient.cloudconfigurationd'
    # 'com.apple.ManagedClient.enroll'
    # 'com.apple.ManagedClient'
    # 'com.apple.ManagedClient.startup'
    # 'com.apple.locate'
    # 'com.apple.locationd'
    # eapolcfg_auth daemon used to configure EAP over LAN (EAPOL).
    # allows an authorized process to perform privileged EAPOL configuration operations.
    # 'com.apple.eapolcfg_auth'
    # 'com.apple.RemoteDesktop.PrivilegeProxy'
    # 'com.apple.mediaremoted'
    )

    # Phone Call Handoff
    22 changes: 11 additions & 11 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -58,8 +58,8 @@ enable() {
    # if [[ -e ./System/Library/Launch${kind}s/${what}.plist.org ]]; then
    # if sudo mv "./System/Library/Launch${kind}s/${what}.plist.org" "./System/Library/Launch${kind}s/${what}.plist"; then
    # echo "SUCCESS: ${kind} ${what} enabled"
    launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    launchctl load -w "System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl load -w "System/Library/Launch${kind}s/${what}.plist" || true
    return
    # fi
    # fi
    @@ -266,25 +266,25 @@ DAEMONS_TO_ENABLE+=(
    'com.apple.mobileassetd'
    # Not in Catalina
    # 'com.apple.SubmitDiagInfo'
    # Full Disk Encryption Key Recovery Transmission Agent
    # sends encrypted CoreStorage key recovery information to Apple. It is run
    # only when "Store the recovery key with Apple" is selected, and even then only if the infor-
    # mation could not be transmitted when that option was first selected.
    # Full Disk Encryption Key Recovery Transmission Agent
    # sends encrypted CoreStorage key recovery information to Apple. It is run
    # only when "Store the recovery key with Apple" is selected, and even then only if the infor-
    # mation could not be transmitted when that option was first selected.
    'com.apple.security.FDERecoveryAgent'
    'com.apple.screensharing'
    'com.apple.appleseed.fbahelperd'
    # apsd ApplePushService daemon for Apple Push Notification service. This is part of the
    # ApplePushService framework.
    # apsd ApplePushService daemon for Apple Push Notification service. This is part of the
    # ApplePushService framework.
    'com.apple.apsd'
    # Device Enollment
    # Device Enollment
    'com.apple.ManagedClient.cloudconfigurationd'
    'com.apple.ManagedClient.enroll'
    'com.apple.ManagedClient'
    'com.apple.ManagedClient.startup'
    'com.apple.locate'
    'com.apple.locationd'
    # eapolcfg_auth daemon used to configure EAP over LAN (EAPOL).
    # allows an authorized process to perform privileged EAPOL configuration operations.
    # eapolcfg_auth daemon used to configure EAP over LAN (EAPOL).
    # allows an authorized process to perform privileged EAPOL configuration operations.
    'com.apple.eapolcfg_auth'
    'com.apple.RemoteDesktop.PrivilegeProxy'
    'com.apple.mediaremoted'
  5. junkblocker revised this gist Apr 18, 2020. 2 changed files with 124 additions and 52 deletions.
    106 changes: 66 additions & 40 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,4 @@
    #!/bin/bash
    set -x
    if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    echo "This is only meant to run on macOS 10.15.* Catalina" >&2
    exit 1
    @@ -164,32 +163,41 @@ AGENTS_TO_DISABLE+=(
    )

    ## Screensharing
    #AGENTS_TO_DISABLE+=('com.apple.screensharing.MessagesAgent' \
    # 'com.apple.screensharing.agent' \
    # 'com.apple.screensharing.menuextra')
    #AGENTS_TO_DISABLE+=(
    # 'com.apple.screensharing.MessagesAgent'
    # 'com.apple.screensharing.agent'
    # 'com.apple.screensharing.menuextra'
    # )

    # Siri
    AGENTS_TO_DISABLE+=(
    'com.apple.siriknowledged'
    'com.apple.assistant_service'
    'com.apple.assistantd'
    'com.apple.siri-distributed-evaluation'
    'com.apple.siri.context.service'
    'com.apple.Siri.agent'
    # parsecd is location-based suggestions for Siri.
    'com.apple.parsecd'
    'com.apple.parsec-fbf'
    'com.apple.knowledge-agent'
    )

    ## VoiceOver / accessibility-related stuff
    #AGENTS_TO_DISABLE+=('com.apple.VoiceOver' \
    # 'com.apple.voicememod' \
    # 'com.apple.accessibility.AXVisualSupportAgent' \
    # 'com.apple.accessibility.dfrhud' \
    # 'com.apple.accessibility.heard')
    #AGENTS_TO_DISABLE+=(
    # 'com.apple.VoiceOver'
    # 'com.apple.voicememod'
    # 'com.apple.accessibility.AXVisualSupportAgent'
    # 'com.apple.accessibility.dfrhud'
    # 'com.apple.accessibility.heard'
    # )

    # Quicklook
    #AGENTS_TO_DISABLE+=(
    # 'com.apple.quicklook.ui.helper'
    # 'com.apple.quicklook.ThumbnailsAgent'
    # 'com.apple.quicklook')
    # 'com.apple.quicklook'
    # )

    # Sidecar
    AGENTS_TO_DISABLE+=(
    @@ -201,8 +209,10 @@ AGENTS_TO_DISABLE+=(
    AGENTS_TO_DISABLE+=(
    'com.apple.spindump_agent'
    'com.apple.ReportCrash'
    'com.apple.ReportCrash.Root'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    'com.apple.diagnostics_agent'
    # 'com.apple.DiagnosticReportCleanup'
    # 'com.apple.TrustEvaluationAgent'
    )
    @@ -213,28 +223,28 @@ AGENTS_TO_DISABLE+=(
    'com.apple.UsageTrackingAgent'
    )

    # Others
    # Parental controls
    AGENTS_TO_DISABLE+=(
    'com.apple.AirPlayUIAgent'
    'com.apple.AirPortBaseStationAgent'
    'com.apple.familycircled'
    'com.apple.familycontrols.useragent'
    'com.apple.familynotificationd'
    # parsecd is location-based suggestions for Siri.
    'com.apple.parsecd'
    'com.apple.SocialPushAgent'
    'com.apple.parentalcontrols.check'
    )

    # Others
    AGENTS_TO_DISABLE+=(
    # 'com.apple.telephonyutilities.callservicesd'
    # 'com.apple.photoanalysisd'
    # 'com.apple.AOSPushRelay' # Needed for Music.app
    # 'com.apple.AOSHeartbeat' # Needed for Music.app
    # 'com.apple.AMPArtworkAgent' # Needed for Music.app
    # 'com.apple.findmymacmessenger'
    # 'com.apple.photoanalysisd'
    # 'com.apple.AOSPushRelay' # Needed for Music.app
    # 'com.apple.AOSHeartbeat' # Needed for Music.app
    # 'com.apple.AMPArtworkAgent' # Needed for Music.app
    'com.apple.AirPlayUIAgent'
    'com.apple.AirPortBaseStationAgent'
    'com.apple.SocialPushAgent'
    # 'com.apple.findmymacmessenger'
    # sharingd is used by the Finder to enable AirDrop file sharing, connecting to
    # shared computers, and accessing Remote Discs from other computers.
    # 'com.apple.sharingd'
    # 'com.apple.sharingd'
    # identityservicesd is a background process (Identity Services Daemon) that deals with
    # third-party credentials.
    # 'com.apple.identityservicesd'
    @@ -270,6 +280,11 @@ AGENTS_TO_DISABLE+=(
    'com.apple.CalendarAgent'
    )

    # Phone Call Handoff
    AGENTS_TO_DISABLE+=(
    'com.apple.rapportd-user' # There's a daemon too
    )

    for agent in "${AGENTS_TO_DISABLE[@]}"; do
    disable "$agent" Agent
    done
    @@ -286,35 +301,46 @@ DAEMONS_TO_DISABLE+=(

    # Others
    DAEMONS_TO_DISABLE+=(
    # 'com.apple.netbiosd'
    # 'com.apple.preferences.timezone.admintool'
    # 'com.apple.remotepairtool'
    # 'com.apple.mobileassetd'
    # Not in Catalina
    # 'com.apple.SubmitDiagInfo'
    )
    # 'com.apple.mobileassetd' \
    # 'com.apple.netbiosd' \
    # 'com.apple.preferences.timezone.admintool' \
    # 'com.apple.remotepairtool' \
    # Full Disk Encryption Key Recovery Transmission Agent
    # sends encrypted CoreStorage key recovery information to Apple. It is run
    # only when "Store the recovery key with Apple" is selected, and even then only if the infor-
    # mation could not be transmitted when that option was first selected.
    # 'com.apple.security.FDERecoveryAgent' \
    # 'com.apple.screensharing' \
    # 'com.apple.appleseed.fbahelperd' \
    # 'com.apple.security.FDERecoveryAgent'
    # 'com.apple.screensharing'
    # 'com.apple.appleseed.fbahelperd'
    # apsd ApplePushService daemon for Apple Push Notification service. This is part of the
    # ApplePushService framework.
    # 'com.apple.apsd' \
    # 'com.apple.apsd'
    # Device Enollment
    # 'com.apple.ManagedClient.cloudconfigurationd' \
    # 'com.apple.ManagedClient.enroll' \
    # 'com.apple.ManagedClient' \
    # 'com.apple.ManagedClient.startup' \
    # 'com.apple.locate' \
    # 'com.apple.locationd' \
    # 'com.apple.ManagedClient.cloudconfigurationd'
    # 'com.apple.ManagedClient.enroll'
    # 'com.apple.ManagedClient'
    # 'com.apple.ManagedClient.startup'
    # 'com.apple.locate'
    # 'com.apple.locationd'
    # eapolcfg_auth daemon used to configure EAP over LAN (EAPOL).
    # allows an authorized process to perform privileged EAPOL configuration operations.
    # 'com.apple.eapolcfg_auth' \
    # 'com.apple.RemoteDesktop.PrivilegeProxy' \
    # 'com.apple.mediaremoted')
    # 'com.apple.eapolcfg_auth'
    # 'com.apple.RemoteDesktop.PrivilegeProxy'
    # 'com.apple.mediaremoted'
    )

    # Phone Call Handoff
    DAEMONS_TO_DISABLE+=(
    'com.apple.rapportd' # There's an agent too
    )

    # Time Machine
    DAEMONS_TO_DISABLE+=(
    'com.apple.backupd-helper'
    'com.apple.backupd'
    )

    for daemon in "${DAEMONS_TO_DISABLE[@]}"; do
    disable "$daemon" Daemon
    70 changes: 58 additions & 12 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -82,6 +82,7 @@ AGENTS_TO_ENABLE+=(
    'com.apple.icloud.searchpartyuseragent'
    'com.apple.cloudd'
    'com.apple.cloudpaird'
    # cloudphotod is the iCloud Photos agent. It is responsible for all iCloud Photos activity.
    'com.apple.cloudphotod'
    'com.apple.followupd'
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing'
    @@ -110,6 +111,7 @@ AGENTS_TO_ENABLE+=(
    'com.apple.Maps.pushdaemon'
    'com.apple.videosubscriptionsd'
    'com.apple.CommCenter-osx'
    # homed is a daemon that manages home state and controls HomeKit accessories.
    'com.apple.homed'
    )

    @@ -131,7 +133,11 @@ AGENTS_TO_ENABLE+=(
    'com.apple.siriknowledged'
    'com.apple.assistant_service'
    'com.apple.assistantd'
    'com.apple.siri-distributed-evaluation'
    'com.apple.siri.context.service'
    'com.apple.Siri.agent'
    # parsecd is location-based suggestions for Siri.
    'com.apple.parsecd'
    'com.apple.parsec-fbf'
    'com.apple.knowledge-agent'
    )
    @@ -165,6 +171,7 @@ AGENTS_TO_ENABLE+=(
    'com.apple.ReportCrash.Root'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    'com.apple.diagnostics_agent'
    'com.apple.DiagnosticReportCleanup'
    'com.apple.TrustEvaluationAgent'
    )
    @@ -175,50 +182,68 @@ AGENTS_TO_ENABLE+=(
    'com.apple.UsageTrackingAgent'
    )

    # Parental controls
    AGENTS_TO_ENABLE+=(
    'com.apple.familycircled'
    'com.apple.familycontrols.useragent'
    'com.apple.familynotificationd'
    'com.apple.parentalcontrols.check'
    )

    # Others
    AGENTS_TO_ENABLE+=(
    'com.apple.telephonyutilities.callservicesd'
    'com.apple.photoanalysisd'
    'com.apple.parsecd'
    'com.apple.AOSPushRelay'
    'com.apple.AOSHeartbeat'
    'com.apple.AMPArtworkAgent'
    'com.apple.AOSPushRelay' # Needed for Music.app
    'com.apple.AOSHeartbeat' # Needed for Music.app
    'com.apple.AMPArtworkAgent' # Needed for Music.app
    'com.apple.AirPlayUIAgent'
    'com.apple.AirPortBaseStationAgent'
    'com.apple.familycircled'
    'com.apple.familycontrols.useragent'
    'com.apple.familynotificationd'
    'com.apple.SocialPushAgent'
    'com.apple.findmymacmessenger'
    # sharingd is used by the Finder to enable AirDrop file sharing, connecting to
    # shared computers, and accessing Remote Discs from other computers.
    'com.apple.sharingd'
    # identityservicesd is a background process (Identity Services Daemon) that deals with
    # third-party credentials.
    'com.apple.identityservicesd'
    'com.apple.java.InstallOnDemand'
    'com.apple.parentalcontrols.check'
    'com.apple.security.keychain-circle-notification'
    # syncdefaultsd is the system daemon backing the NSUbiquitousKeyValueStore feature.
    'com.apple.syncdefaultsd'
    'com.apple.appleseed.seedusaged'
    'com.apple.appleseed.seedusaged.postinstall'
    'com.apple.CallHistorySyncHelper'
    'com.apple.RemoteDesktop'
    'com.apple.CallHistoryPluginHelper'
    'com.apple.SocialPushAgent'
    'com.apple.touristd'
    'com.apple.macos.studentd'
    'com.apple.KeyboardAccessAgent'
    'com.apple.exchange.exchangesyncd'
    # suggestd -- daemon that processes user content in order to detect contacts, events, named entities, etc.
    'com.apple.suggestd'
    'com.apple.AddressBook.abd'
    # helpd is a macOS agent that manages software documentation.
    'com.apple.helpd'
    # mediasharingd is a per-user daemon which manages the user's media library sharing.
    'com.apple.amp.mediasharingd'
    # mediaanalysisd photos that's identifying faces and objects. It is CPU intensive process
    'com.apple.mediaanalysisd'
    'com.apple.mediaremoteagent'
    'com.apple.remindd'
    'com.apple.touristd'
    'com.apple.touristd' # Shows what's new but keeps lingering around talking back to apple
    'com.apple.keyboardservicesd'
    'com.apple.AddressBook.SourceSync'
    'com.apple.telephonyutilities.callservicesd'
    'com.apple.CalendarAgent'
    )

    # Phone Call Handoff
    AGENTS_TO_ENABLE+=(
    'com.apple.rapportd-user' # There's a daemon too
    )

    for agent in "${AGENTS_TO_ENABLE[@]}"; do
    enable "${agent}" Agent
    done
    @@ -228,33 +253,54 @@ DAEMONS_TO_ENABLE=()

    # iCloud
    DAEMONS_TO_ENABLE+=(
    # It's a data logging daemon. It collects your usage data and
    # sends it to apple and/or app devs for analytics.
    'com.apple.analyticsd'
    )

    # Others
    DAEMONS_TO_ENABLE+=(
    'com.apple.mobileassetd'
    'com.apple.netbiosd'
    'com.apple.preferences.timezone.admintool'
    'com.apple.remotepairtool'
    'com.apple.security.FDERecoveryAgent'
    'com.apple.mobileassetd'
    # Not in Catalina
    # 'com.apple.SubmitDiagInfo'
    'com.apple.mobileassetd'
    # Full Disk Encryption Key Recovery Transmission Agent
    # sends encrypted CoreStorage key recovery information to Apple. It is run
    # only when "Store the recovery key with Apple" is selected, and even then only if the infor-
    # mation could not be transmitted when that option was first selected.
    'com.apple.security.FDERecoveryAgent'
    'com.apple.screensharing'
    'com.apple.appleseed.fbahelperd'
    # apsd ApplePushService daemon for Apple Push Notification service. This is part of the
    # ApplePushService framework.
    'com.apple.apsd'
    # Device Enollment
    'com.apple.ManagedClient.cloudconfigurationd'
    'com.apple.ManagedClient.enroll'
    'com.apple.ManagedClient'
    'com.apple.ManagedClient.startup'
    'com.apple.locate'
    'com.apple.locationd'
    # eapolcfg_auth daemon used to configure EAP over LAN (EAPOL).
    # allows an authorized process to perform privileged EAPOL configuration operations.
    'com.apple.eapolcfg_auth'
    'com.apple.RemoteDesktop.PrivilegeProxy'
    'com.apple.mediaremoted'
    )

    # Phone Call Handoff
    DAEMONS_TO_ENABLE+=(
    'com.apple.rapportd'
    )

    # Time Machine
    DAEMONS_TO_ENABLE+=(
    'com.apple.backupd-helper'
    'com.apple.backupd'
    )

    for daemon in "${DAEMONS_TO_ENABLE[@]}"; do
    enable "${daemon}" Daemon
    done
  6. junkblocker revised this gist Apr 11, 2020. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -139,11 +139,11 @@ AGENTS_TO_DISABLE+=(

    # iMessage / Facetime
    AGENTS_TO_DISABLE+=(
    'com.apple.imagent'
    'com.apple.imautomatichistorydeletionagent'
    'com.apple.imklaunchagent'
    'com.apple.imtransferagent'
    'com.apple.avconferenced'
    # 'com.apple.imagent'
    # 'com.apple.imautomatichistorydeletionagent'
    # 'com.apple.imklaunchagent'
    # 'com.apple.imtransferagent'
    # 'com.apple.avconferenced'
    )

    # Game Center / Passbook / Apple TV / Homekit...
  7. junkblocker revised this gist Apr 4, 2020. 2 changed files with 48 additions and 17 deletions.
    6 changes: 6 additions & 0 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -175,6 +175,7 @@ AGENTS_TO_DISABLE+=(
    'com.apple.assistantd'
    'com.apple.Siri.agent'
    'com.apple.parsec-fbf'
    'com.apple.knowledge-agent'
    )

    ## VoiceOver / accessibility-related stuff
    @@ -263,6 +264,10 @@ AGENTS_TO_DISABLE+=(
    # 'com.apple.mediaremoteagent'
    'com.apple.remindd'
    'com.apple.touristd' # Shows what's new but keeps lingering around talking back to apple
    'com.apple.keyboardservicesd'
    'com.apple.AddressBook.SourceSync'
    'com.apple.telephonyutilities.callservicesd'
    'com.apple.CalendarAgent'
    )

    for agent in "${AGENTS_TO_DISABLE[@]}"; do
    @@ -284,6 +289,7 @@ DAEMONS_TO_DISABLE+=(
    # Not in Catalina
    # 'com.apple.SubmitDiagInfo'
    )
    # 'com.apple.mobileassetd' \
    # 'com.apple.netbiosd' \
    # 'com.apple.preferences.timezone.admintool' \
    # 'com.apple.remotepairtool' \
    59 changes: 42 additions & 17 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -74,7 +74,8 @@ enable() {
    AGENTS_TO_ENABLE=()

    # iCloud
    AGENTS_TO_ENABLE+=('com.apple.security.cloudkeychainproxy3'
    AGENTS_TO_ENABLE+=(
    'com.apple.security.cloudkeychainproxy3'
    'com.apple.iCloudUserNotifications'
    'com.apple.icloud.findmydeviced.findmydevice-user-agent'
    'com.apple.icloud.fmfd'
    @@ -83,43 +84,57 @@ AGENTS_TO_ENABLE+=('com.apple.security.cloudkeychainproxy3'
    'com.apple.cloudpaird'
    'com.apple.cloudphotod'
    'com.apple.followupd'
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing'
    )

    # Safari useless stuff
    AGENTS_TO_ENABLE+=('com.apple.SafariBookmarksSyncAgent'
    AGENTS_TO_ENABLE+=(
    'com.apple.SafariBookmarksSyncAgent'
    'com.apple.SafariCloudHistoryPushAgent'
    'com.apple.WebKit.PluginAgent')
    'com.apple.WebKit.PluginAgent'
    )

    # iMessage / Facetime
    AGENTS_TO_ENABLE+=('com.apple.imagent'
    AGENTS_TO_ENABLE+=(
    'com.apple.imagent'
    'com.apple.imautomatichistorydeletionagent'
    'com.apple.imklaunchagent'
    'com.apple.imtransferagent'
    'com.apple.avconferenced')
    'com.apple.avconferenced'
    )

    # Game Center / Passbook / Apple TV / Homekit...
    AGENTS_TO_ENABLE+=('com.apple.gamed'
    AGENTS_TO_ENABLE+=(
    'com.apple.gamed'
    'com.apple.passd'
    'com.apple.Maps.pushdaemon'
    'com.apple.videosubscriptionsd'
    'com.apple.CommCenter-osx'
    'com.apple.homed')
    'com.apple.homed'
    )

    # Ad-related
    AGENTS_TO_ENABLE+=('com.apple.ap.adprivacyd'
    'com.apple.ap.adservicesd')
    AGENTS_TO_ENABLE+=(
    'com.apple.ap.adprivacyd'
    'com.apple.ap.adservicesd'
    )

    # Screensharing
    AGENTS_TO_ENABLE+=('com.apple.screensharing.MessagesAgent'
    AGENTS_TO_ENABLE+=(
    'com.apple.screensharing.MessagesAgent'
    'com.apple.screensharing.agent'
    'com.apple.screensharing.menuextra')
    'com.apple.screensharing.menuextra'
    )

    # Siri
    AGENTS_TO_ENABLE+=('com.apple.siriknowledged'
    AGENTS_TO_ENABLE+=(
    'com.apple.siriknowledged'
    'com.apple.assistant_service'
    'com.apple.assistantd'
    'com.apple.Siri.agent'
    'com.apple.parsec-fbf')
    'com.apple.parsec-fbf'
    'com.apple.knowledge-agent'
    )

    # VoiceOver / accessibility-related stuff
    AGENTS_TO_ENABLE+=(
    @@ -198,6 +213,10 @@ AGENTS_TO_ENABLE+=(
    'com.apple.mediaremoteagent'
    'com.apple.remindd'
    'com.apple.touristd'
    'com.apple.keyboardservicesd'
    'com.apple.AddressBook.SourceSync'
    'com.apple.telephonyutilities.callservicesd'
    'com.apple.CalendarAgent'
    )

    for agent in "${AGENTS_TO_ENABLE[@]}"; do
    @@ -208,15 +227,20 @@ done
    DAEMONS_TO_ENABLE=()

    # iCloud
    DAEMONS_TO_ENABLE+=('com.apple.analyticsd')
    DAEMONS_TO_ENABLE+=(
    'com.apple.analyticsd'
    )

    # Others
    DAEMONS_TO_ENABLE+=('com.apple.netbiosd'
    DAEMONS_TO_ENABLE+=(
    'com.apple.mobileassetd'
    'com.apple.netbiosd'
    'com.apple.preferences.timezone.admintool'
    'com.apple.remotepairtool'
    'com.apple.security.FDERecoveryAgent'
    # Not in Catalina
    # 'com.apple.SubmitDiagInfo'
    'com.apple.mobileassetd'
    'com.apple.screensharing'
    'com.apple.appleseed.fbahelperd'
    'com.apple.apsd'
    @@ -228,7 +252,8 @@ DAEMONS_TO_ENABLE+=('com.apple.netbiosd'
    'com.apple.locationd'
    'com.apple.eapolcfg_auth'
    'com.apple.RemoteDesktop.PrivilegeProxy'
    'com.apple.mediaremoted')
    'com.apple.mediaremoted'
    )

    for daemon in "${DAEMONS_TO_ENABLE[@]}"; do
    enable "${daemon}" Daemon
  8. junkblocker revised this gist Mar 20, 2020. 2 changed files with 151 additions and 118 deletions.
    212 changes: 116 additions & 96 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -1,13 +1,16 @@
    #!/bin/bash
    set -x
    if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    echo "This is only meant to run on macOS 10.15.* Catalina" >&2
    exit 1
    fi

    reply=
    printf "Are you pretty damn sure you want to run this? (Yes/No) "
    read -r reply
    [[ $reply != Yes ]] && exit 1
    if [[ "${1-}" == "execed" ]]; then
    reply=
    printf "Are you pretty damn sure you want to run this? (Yes/No) "
    read -r reply
    [[ $reply != Yes ]] && exit 1
    fi

    LC_ALL=C
    export LC_ALL
    @@ -58,48 +61,49 @@ disable() {
    what="$1"
    kind="$2"

    if [[ -e "./System/Library/Launch${kind}s/${what}.plist" ]]; then
    if [[ -e "./System/Library/Launch${kind}s/${what}.plist.org" ]]; then
    if ! cmp "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    echo "INFO : Backup ./System/Library/Launch${kind}s/${what}.plist.org"
    echo "INFO : Original ./System/Library/Launch${kind}s/${what}.plist"
    echo "INFO : are different"
    sudo diff -Naup "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"
    printf "INFO : Overwrite backup (y/N)? "
    reply=
    read -r reply
    case "$reply" in
    y* | Y*)
    if ! sudo cp -f "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    echo "FAILURE: Backup failed" >&2
    return
    fi
    ;;
    esac
    fi
    fi

    # Yes, both without and with sudo - See https://www.chromium.org/developers/how-tos/debugging-on-os-x
    launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    if [[ ! -e "./System/Library/Launch${kind}s/${what}.plist.prg" ]]; then
    if sudo mv "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    echo "SUCCESS: ${kind} ${what} disabled"
    return
    fi
    echo "FAILURE: ${kind} ${what} could not be disabled"
    else
    echo "SUCCESS: ${kind} ${what} already disabled"
    return
    fi
    else
    if [[ -e "./System/Library/Launch${kind}s/${what}.plist.org" ]]; then
    echo "SUCCESS: $kind $what already disabled"
    return
    else
    echo "[??] ${kind} ${what} not present"
    fi
    fi
    cd "/Volumes/Macintosh HD"
    # if [[ -e "./System/Library/Launch${kind}s/${what}.plist" ]]; then
    # if [[ -e "./System/Library/Launch${kind}s/${what}.plist.org" ]]; then
    # if ! cmp "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    # echo "INFO : Backup ./System/Library/Launch${kind}s/${what}.plist.org"
    # echo "INFO : Original ./System/Library/Launch${kind}s/${what}.plist"
    # echo "INFO : are different"
    # sudo diff -Naup "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"
    # printf "INFO : Overwrite backup (y/N)? "
    # reply=
    # read -r reply
    # case "$reply" in
    # y* | Y*)
    # if ! sudo cp -f "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    # echo "FAILURE: Backup failed" >&2
    # return
    # fi
    # ;;
    # esac
    # fi
    # fi

    # Yes, both without and with sudo - See https://www.chromium.org/developers/how-tos/debugging-on-os-x
    launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    # if [[ ! -e "./System/Library/Launch${kind}s/${what}.plist.prg" ]]; then
    # if sudo mv "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    # echo "SUCCESS: ${kind} ${what} disabled"
    # return
    # fi
    # echo "FAILURE: ${kind} ${what} could not be disabled"
    # else
    # echo "SUCCESS: ${kind} ${what} already disabled"
    # return
    # fi
    # else
    # if [[ -e "./System/Library/Launch${kind}s/${what}.plist.org" ]]; then
    # echo "SUCCESS: $kind $what already disabled"
    # return
    # else
    # echo "[??] ${kind} ${what} not present"
    # fi
    # fi
    }
    # WARNING: It might disable things that you may not like. Please double check the services in the various TO_DISABLE vars.

    @@ -112,7 +116,8 @@ disable() {
    AGENTS_TO_DISABLE=()

    # iCloud
    AGENTS_TO_DISABLE+=('com.apple.security.cloudkeychainproxy3'
    AGENTS_TO_DISABLE+=(
    'com.apple.security.cloudkeychainproxy3'
    'com.apple.iCloudUserNotifications'
    'com.apple.icloud.findmydeviced.findmydevice-user-agent'
    'com.apple.icloud.fmfd'
    @@ -122,45 +127,55 @@ AGENTS_TO_DISABLE+=('com.apple.security.cloudkeychainproxy3'
    # cloudphotod is the iCloud Photos agent. It is responsible for all iCloud Photos activity.
    'com.apple.cloudphotod'
    'com.apple.followupd'
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing'
    )

    # Safari useless stuff
    AGENTS_TO_DISABLE+=('com.apple.SafariBookmarksSyncAgent'
    AGENTS_TO_DISABLE+=(
    'com.apple.SafariBookmarksSyncAgent'
    'com.apple.SafariCloudHistoryPushAgent'
    # 'com.apple.WebKit.PluginAgent'
    )

    # iMessage / Facetime
    AGENTS_TO_DISABLE+=('com.apple.imagent'
    AGENTS_TO_DISABLE+=(
    'com.apple.imagent'
    'com.apple.imautomatichistorydeletionagent'
    'com.apple.imklaunchagent'
    'com.apple.imtransferagent'
    'com.apple.avconferenced')
    'com.apple.avconferenced'
    )

    # Game Center / Passbook / Apple TV / Homekit...
    AGENTS_TO_DISABLE+=('com.apple.gamed'
    AGENTS_TO_DISABLE+=(
    'com.apple.gamed'
    'com.apple.passd'
    'com.apple.Maps.pushdaemon'
    'com.apple.videosubscriptionsd'
    'com.apple.CommCenter-osx'
    # homed is a daemon that manages home state and controls HomeKit accessories.
    'com.apple.homed')
    'com.apple.homed'
    )

    # Ad-related
    AGENTS_TO_DISABLE+=('com.apple.ap.adprivacyd'
    'com.apple.ap.adservicesd')
    AGENTS_TO_DISABLE+=(
    'com.apple.ap.adprivacyd'
    'com.apple.ap.adservicesd'
    )

    ## Screensharing
    #AGENTS_TO_DISABLE+=('com.apple.screensharing.MessagesAgent' \
    # 'com.apple.screensharing.agent' \
    # 'com.apple.screensharing.menuextra')

    # Siri
    AGENTS_TO_DISABLE+=('com.apple.siriknowledged'
    AGENTS_TO_DISABLE+=(
    'com.apple.siriknowledged'
    'com.apple.assistant_service'
    'com.apple.assistantd'
    'com.apple.Siri.agent'
    'com.apple.parsec-fbf')
    'com.apple.parsec-fbf'
    )

    ## VoiceOver / accessibility-related stuff
    #AGENTS_TO_DISABLE+=('com.apple.VoiceOver' \
    @@ -192,8 +207,10 @@ AGENTS_TO_DISABLE+=(
    )

    # Screentime
    AGENTS_TO_DISABLE+=('com.apple.ScreenTimeAgent'
    'com.apple.UsageTrackingAgent')
    AGENTS_TO_DISABLE+=(
    'com.apple.ScreenTimeAgent'
    'com.apple.UsageTrackingAgent'
    )

    # Others
    AGENTS_TO_DISABLE+=(
    @@ -207,43 +224,46 @@ AGENTS_TO_DISABLE+=(
    'com.apple.SocialPushAgent'
    )

    #AGENTS_TO_DISABLE+=('com.apple.telephonyutilities.callservicesd' \
    # 'com.apple.photoanalysisd' \
    # 'com.apple.AOSPushRelay' # Needed for Music.app
    # 'com.apple.AOSHeartbeat' # Needed for Music.app
    # 'com.apple.AMPArtworkAgent' # Needed for Music.app
    # 'com.apple.findmymacmessenger' \
    # sharingd is used by the Finder to enable AirDrop file sharing, connecting to
    # shared computers, and accessing Remote Discs from other computers.
    # 'com.apple.sharingd' \
    # identityservicesd is a background process (Identity Services Daemon) that deals with
    # third-party credentials.
    # 'com.apple.identityservicesd' \
    # 'com.apple.java.InstallOnDemand' \
    # 'com.apple.parentalcontrols.check' \
    # 'com.apple.security.keychain-circle-notification' \
    # syncdefaultsd is the system daemon backing the NSUbiquitousKeyValueStore feature.
    # 'com.apple.syncdefaultsd' \
    # 'com.apple.appleseed.seedusaged' \
    # 'com.apple.appleseed.seedusaged.postinstall' \
    # 'com.apple.CallHistorySyncHelper' \
    # 'com.apple.RemoteDesktop' \
    # 'com.apple.CallHistoryPluginHelper' \
    # 'com.apple.touristd' \
    # 'com.apple.macos.studentd' \
    # 'com.apple.KeyboardAccessAgent' \
    # 'com.apple.exchange.exchangesyncd' \
    # suggestd -- daemon that processes user content in order to detect contacts, events, named entities, etc.
    # 'com.apple.suggestd' \
    # 'com.apple.AddressBook.abd' \
    # helpd is a macOS agent that manages software documentation.
    # 'com.apple.helpd' \
    # mediasharingd is a per-user daemon which manages the user's media library sharing.
    # 'com.apple.amp.mediasharingd' \
    # mediaanalysisd photos that's identifying faces and objects. It is CPU intensive process
    # 'com.apple.mediaanalysisd' \
    # 'com.apple.mediaremoteagent' \
    # 'com.apple.remindd')
    AGENTS_TO_DISABLE+=(
    # 'com.apple.telephonyutilities.callservicesd'
    # 'com.apple.photoanalysisd'
    # 'com.apple.AOSPushRelay' # Needed for Music.app
    # 'com.apple.AOSHeartbeat' # Needed for Music.app
    # 'com.apple.AMPArtworkAgent' # Needed for Music.app
    # 'com.apple.findmymacmessenger'
    # sharingd is used by the Finder to enable AirDrop file sharing, connecting to
    # shared computers, and accessing Remote Discs from other computers.
    # 'com.apple.sharingd'
    # identityservicesd is a background process (Identity Services Daemon) that deals with
    # third-party credentials.
    # 'com.apple.identityservicesd'
    # 'com.apple.java.InstallOnDemand'
    # 'com.apple.parentalcontrols.check'
    # 'com.apple.security.keychain-circle-notification'
    # syncdefaultsd is the system daemon backing the NSUbiquitousKeyValueStore feature.
    # 'com.apple.syncdefaultsd'
    # 'com.apple.appleseed.seedusaged'
    # 'com.apple.appleseed.seedusaged.postinstall'
    # 'com.apple.CallHistorySyncHelper'
    # 'com.apple.RemoteDesktop'
    # 'com.apple.CallHistoryPluginHelper'
    # 'com.apple.touristd'
    'com.apple.macos.studentd'
    # 'com.apple.KeyboardAccessAgent'
    # 'com.apple.exchange.exchangesyncd'
    # suggestd -- daemon that processes user content in order to detect contacts, events, named entities, etc.
    # 'com.apple.suggestd'
    # 'com.apple.AddressBook.abd'
    # helpd is a macOS agent that manages software documentation.
    # 'com.apple.helpd'
    # mediasharingd is a per-user daemon which manages the user's media library sharing.
    # 'com.apple.amp.mediasharingd'
    # mediaanalysisd photos that's identifying faces and objects. It is CPU intensive process
    # 'com.apple.mediaanalysisd'
    # 'com.apple.mediaremoteagent'
    'com.apple.remindd'
    'com.apple.touristd' # Shows what's new but keeps lingering around talking back to apple
    )

    for agent in "${AGENTS_TO_DISABLE[@]}"; do
    disable "$agent" Agent
    57 changes: 35 additions & 22 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -53,17 +53,18 @@ enable() {
    what="$1"
    kind="$2"

    if [[ ! -e ./System/Library/Launch${kind}s/${what}.plist ]]; then
    if [[ -e ./System/Library/Launch${kind}s/${what}.plist.org ]]; then
    if sudo mv "./System/Library/Launch${kind}s/${what}.plist.org" "./System/Library/Launch${kind}s/${what}.plist"; then
    echo "SUCCESS: ${kind} ${what} enabled"
    launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    return
    fi
    fi
    echo "FAILURE: ${kind} ${what} could not be enabled"
    fi
    cd "/Volumes/Macintosh HD"
    # if [[ ! -e ./System/Library/Launch${kind}s/${what}.plist ]]; then
    # if [[ -e ./System/Library/Launch${kind}s/${what}.plist.org ]]; then
    # if sudo mv "./System/Library/Launch${kind}s/${what}.plist.org" "./System/Library/Launch${kind}s/${what}.plist"; then
    # echo "SUCCESS: ${kind} ${what} enabled"
    launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    return
    # fi
    # fi
    # echo "FAILURE: ${kind} ${what} could not be enabled"
    # fi
    }

    # Get active services: launchctl list | grep -v "\-\t0"
    @@ -121,20 +122,26 @@ AGENTS_TO_ENABLE+=('com.apple.siriknowledged'
    'com.apple.parsec-fbf')

    # VoiceOver / accessibility-related stuff
    AGENTS_TO_ENABLE+=('com.apple.VoiceOver'
    AGENTS_TO_ENABLE+=(
    'com.apple.VoiceOver'
    'com.apple.voicememod'
    'com.apple.accessibility.AXVisualSupportAgent'
    'com.apple.accessibility.dfrhud'
    'com.apple.accessibility.heard')
    'com.apple.accessibility.heard'
    )

    # Quicklook
    AGENTS_TO_ENABLE+=('com.apple.quicklook.ui.helper'
    AGENTS_TO_ENABLE+=(
    'com.apple.quicklook.ui.helper'
    'com.apple.quicklook.ThumbnailsAgent'
    'com.apple.quicklook')
    'com.apple.quicklook'
    )

    # Sidecar
    AGENTS_TO_ENABLE+=('com.apple.sidecar-hid-relay'
    'com.apple.sidecar-relay')
    AGENTS_TO_ENABLE+=(
    'com.apple.sidecar-hid-relay'
    'com.apple.sidecar-relay'
    )

    # Debugging process
    AGENTS_TO_ENABLE+=(
    @@ -144,14 +151,18 @@ AGENTS_TO_ENABLE+=(
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    'com.apple.DiagnosticReportCleanup'
    'com.apple.TrustEvaluationAgent')
    'com.apple.TrustEvaluationAgent'
    )

    # Screentime
    AGENTS_TO_ENABLE+=('com.apple.ScreenTimeAgent'
    'com.apple.UsageTrackingAgent')
    AGENTS_TO_ENABLE+=(
    'com.apple.ScreenTimeAgent'
    'com.apple.UsageTrackingAgent'
    )

    # Others
    AGENTS_TO_ENABLE+=('com.apple.telephonyutilities.callservicesd'
    AGENTS_TO_ENABLE+=(
    'com.apple.telephonyutilities.callservicesd'
    'com.apple.photoanalysisd'
    'com.apple.parsecd'
    'com.apple.AOSPushRelay'
    @@ -185,7 +196,9 @@ AGENTS_TO_ENABLE+=('com.apple.telephonyutilities.callservicesd'
    'com.apple.amp.mediasharingd'
    'com.apple.mediaanalysisd'
    'com.apple.mediaremoteagent'
    'com.apple.remindd')
    'com.apple.remindd'
    'com.apple.touristd'
    )

    for agent in "${AGENTS_TO_ENABLE[@]}"; do
    enable "${agent}" Agent
  9. junkblocker revised this gist Dec 12, 2019. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -4,6 +4,11 @@ if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    exit 1
    fi

    reply=
    printf "Are you pretty damn sure you want to run this? (Yes/No) "
    read -r reply
    [[ $reply != Yes ]] && exit 1

    LC_ALL=C
    export LC_ALL

  10. junkblocker revised this gist Dec 10, 2019. 2 changed files with 8 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,8 @@
    #!/bin/bash
    if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    echo "This is only meant to run on macOS 10.15.* Catalina" >&2
    exit 1
    fi

    LC_ALL=C
    export LC_ALL
    4 changes: 4 additions & 0 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,8 @@
    #!/bin/bash
    if [[ "$(sw_vers -productVersion)" != 10\.15* ]]; then
    echo "This is only meant to run on macOS 10.15.* Catalina" >&2
    exit 1
    fi

    LC_ALL=C
    export LC_ALL
  11. junkblocker revised this gist Dec 10, 2019. 2 changed files with 30 additions and 15 deletions.
    38 changes: 25 additions & 13 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -110,6 +110,7 @@ AGENTS_TO_DISABLE+=('com.apple.security.cloudkeychainproxy3'
    'com.apple.icloud.searchpartyuseragent'
    'com.apple.cloudd'
    'com.apple.cloudpaird'
    # cloudphotod is the iCloud Photos agent. It is responsible for all iCloud Photos activity.
    'com.apple.cloudphotod'
    'com.apple.followupd'
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')
    @@ -159,17 +160,21 @@ AGENTS_TO_DISABLE+=('com.apple.siriknowledged'
    # 'com.apple.accessibility.dfrhud' \
    # 'com.apple.accessibility.heard')

    ## Quicklook
    #AGENTS_TO_DISABLE+=('com.apple.quicklook.ui.helper' \
    # 'com.apple.quicklook.ThumbnailsAgent' \
    # Quicklook
    #AGENTS_TO_DISABLE+=(
    # 'com.apple.quicklook.ui.helper'
    # 'com.apple.quicklook.ThumbnailsAgent'
    # 'com.apple.quicklook')

    # Sidecar
    AGENTS_TO_DISABLE+=('com.apple.sidecar-hid-relay'
    'com.apple.sidecar-relay')
    AGENTS_TO_DISABLE+=(
    'com.apple.sidecar-hid-relay'
    'com.apple.sidecar-relay'
    )

    # Debugging process
    AGENTS_TO_DISABLE+=('com.apple.spindump_agent'
    AGENTS_TO_DISABLE+=(
    'com.apple.spindump_agent'
    'com.apple.ReportCrash'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    @@ -192,10 +197,12 @@ AGENTS_TO_DISABLE+=(
    'com.apple.parsecd'
    'com.apple.SocialPushAgent'
    )

    #AGENTS_TO_DISABLE+=('com.apple.telephonyutilities.callservicesd' \
    # 'com.apple.photoanalysisd' \
    # 'com.apple.AOSPushRelay' \
    # 'com.apple.AOSHeartbeat' \
    # 'com.apple.AOSPushRelay' # Needed for Music.app
    # 'com.apple.AOSHeartbeat' # Needed for Music.app
    # 'com.apple.AMPArtworkAgent' # Needed for Music.app
    # 'com.apple.findmymacmessenger' \
    # sharingd is used by the Finder to enable AirDrop file sharing, connecting to
    # shared computers, and accessing Remote Discs from other computers.
    @@ -236,12 +243,17 @@ done
    # Daemons to disable
    DAEMONS_TO_DISABLE=()

    ## iCloud
    #DAEMONS_TO_DISABLE+=('com.apple.analyticsd')
    #
    ## Others
    # iCloud
    DAEMONS_TO_DISABLE+=(
    # It's a data logging daemon. It collects your usage data and
    # sends it to apple and/or app devs for analytics.
    'com.apple.analyticsd'
    )

    # Others
    DAEMONS_TO_DISABLE+=(
    'com.apple.SubmitDiagInfo'
    # Not in Catalina
    # 'com.apple.SubmitDiagInfo'
    )
    # 'com.apple.netbiosd' \
    # 'com.apple.preferences.timezone.admintool' \
    7 changes: 5 additions & 2 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -133,7 +133,8 @@ AGENTS_TO_ENABLE+=('com.apple.sidecar-hid-relay'
    'com.apple.sidecar-relay')

    # Debugging process
    AGENTS_TO_ENABLE+=('com.apple.spindump_agent'
    AGENTS_TO_ENABLE+=(
    'com.apple.spindump_agent'
    'com.apple.ReportCrash'
    'com.apple.ReportCrash.Root'
    'com.apple.ReportGPURestart'
    @@ -151,6 +152,7 @@ AGENTS_TO_ENABLE+=('com.apple.telephonyutilities.callservicesd'
    'com.apple.parsecd'
    'com.apple.AOSPushRelay'
    'com.apple.AOSHeartbeat'
    'com.apple.AMPArtworkAgent'
    'com.apple.AirPlayUIAgent'
    'com.apple.AirPortBaseStationAgent'
    'com.apple.familycircled'
    @@ -196,7 +198,8 @@ DAEMONS_TO_ENABLE+=('com.apple.netbiosd'
    'com.apple.preferences.timezone.admintool'
    'com.apple.remotepairtool'
    'com.apple.security.FDERecoveryAgent'
    'com.apple.SubmitDiagInfo'
    # Not in Catalina
    # 'com.apple.SubmitDiagInfo'
    'com.apple.screensharing'
    'com.apple.appleseed.fbahelperd'
    'com.apple.apsd'
  12. junkblocker revised this gist Dec 1, 2019. 1 changed file with 24 additions and 4 deletions.
    28 changes: 24 additions & 4 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -117,8 +117,8 @@ AGENTS_TO_DISABLE+=('com.apple.security.cloudkeychainproxy3'
    # Safari useless stuff
    AGENTS_TO_DISABLE+=('com.apple.SafariBookmarksSyncAgent'
    'com.apple.SafariCloudHistoryPushAgent'
    # 'com.apple.WebKit.PluginAgent'
    )
    # 'com.apple.WebKit.PluginAgent')

    # iMessage / Facetime
    AGENTS_TO_DISABLE+=('com.apple.imagent'
    @@ -133,6 +133,7 @@ AGENTS_TO_DISABLE+=('com.apple.gamed'
    'com.apple.Maps.pushdaemon'
    'com.apple.videosubscriptionsd'
    'com.apple.CommCenter-osx'
    # homed is a daemon that manages home state and controls HomeKit accessories.
    'com.apple.homed')

    # Ad-related
    @@ -172,9 +173,9 @@ AGENTS_TO_DISABLE+=('com.apple.spindump_agent'
    'com.apple.ReportCrash'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    # 'com.apple.DiagnosticReportCleanup'
    # 'com.apple.TrustEvaluationAgent'
    )
    # 'com.apple.DiagnosticReportCleanup'
    # 'com.apple.TrustEvaluationAgent')

    # Screentime
    AGENTS_TO_DISABLE+=('com.apple.ScreenTimeAgent'
    @@ -187,19 +188,25 @@ AGENTS_TO_DISABLE+=(
    'com.apple.familycircled'
    'com.apple.familycontrols.useragent'
    'com.apple.familynotificationd'
    # parsecd is location-based suggestions for Siri.
    'com.apple.parsecd'
    'com.apple.SocialPushAgent'
    )
    #AGENTS_TO_DISABLE+=('com.apple.telephonyutilities.callservicesd' \
    # 'com.apple.photoanalysisd' \
    # 'com.apple.parsecd' \
    # 'com.apple.AOSPushRelay' \
    # 'com.apple.AOSHeartbeat' \
    # 'com.apple.findmymacmessenger' \
    # sharingd is used by the Finder to enable AirDrop file sharing, connecting to
    # shared computers, and accessing Remote Discs from other computers.
    # 'com.apple.sharingd' \
    # identityservicesd is a background process (Identity Services Daemon) that deals with
    # third-party credentials.
    # 'com.apple.identityservicesd' \
    # 'com.apple.java.InstallOnDemand' \
    # 'com.apple.parentalcontrols.check' \
    # 'com.apple.security.keychain-circle-notification' \
    # syncdefaultsd is the system daemon backing the NSUbiquitousKeyValueStore feature.
    # 'com.apple.syncdefaultsd' \
    # 'com.apple.appleseed.seedusaged' \
    # 'com.apple.appleseed.seedusaged.postinstall' \
    @@ -210,10 +217,14 @@ AGENTS_TO_DISABLE+=(
    # 'com.apple.macos.studentd' \
    # 'com.apple.KeyboardAccessAgent' \
    # 'com.apple.exchange.exchangesyncd' \
    # suggestd -- daemon that processes user content in order to detect contacts, events, named entities, etc.
    # 'com.apple.suggestd' \
    # 'com.apple.AddressBook.abd' \
    # helpd is a macOS agent that manages software documentation.
    # 'com.apple.helpd' \
    # mediasharingd is a per-user daemon which manages the user's media library sharing.
    # 'com.apple.amp.mediasharingd' \
    # mediaanalysisd photos that's identifying faces and objects. It is CPU intensive process
    # 'com.apple.mediaanalysisd' \
    # 'com.apple.mediaremoteagent' \
    # 'com.apple.remindd')
    @@ -235,16 +246,25 @@ DAEMONS_TO_DISABLE+=(
    # 'com.apple.netbiosd' \
    # 'com.apple.preferences.timezone.admintool' \
    # 'com.apple.remotepairtool' \
    # Full Disk Encryption Key Recovery Transmission Agent
    # sends encrypted CoreStorage key recovery information to Apple. It is run
    # only when "Store the recovery key with Apple" is selected, and even then only if the infor-
    # mation could not be transmitted when that option was first selected.
    # 'com.apple.security.FDERecoveryAgent' \
    # 'com.apple.screensharing' \
    # 'com.apple.appleseed.fbahelperd' \
    # apsd ApplePushService daemon for Apple Push Notification service. This is part of the
    # ApplePushService framework.
    # 'com.apple.apsd' \
    # Device Enollment
    # 'com.apple.ManagedClient.cloudconfigurationd' \
    # 'com.apple.ManagedClient.enroll' \
    # 'com.apple.ManagedClient' \
    # 'com.apple.ManagedClient.startup' \
    # 'com.apple.locate' \
    # 'com.apple.locationd' \
    # eapolcfg_auth daemon used to configure EAP over LAN (EAPOL).
    # allows an authorized process to perform privileged EAPOL configuration operations.
    # 'com.apple.eapolcfg_auth' \
    # 'com.apple.RemoteDesktop.PrivilegeProxy' \
    # 'com.apple.mediaremoted')
  13. junkblocker revised this gist Oct 31, 2019. 2 changed files with 47 additions and 51 deletions.
    50 changes: 24 additions & 26 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -5,11 +5,9 @@ export LC_ALL

    me="${0##*/}"

    if [ -n "$BASH" ]; then
    set -o errexit
    set -o nounset
    set -o pipefail
    fi
    set -o errexit
    set -o nounset
    set -o pipefail

    IFS=$'\n\t'

    @@ -94,18 +92,18 @@ disable() {
    fi
    fi
    }
    # WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.
    # WARNING: It might disable things that you may not like. Please double check the services in the various TO_DISABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to disable
    # 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' will freeze Edit menus
    # 'com.apple.bird' will prevent saving prompt from being shown
    TODISABLE=()
    AGENTS_TO_DISABLE=()

    # iCloud
    TODISABLE+=('com.apple.security.cloudkeychainproxy3'
    AGENTS_TO_DISABLE+=('com.apple.security.cloudkeychainproxy3'
    'com.apple.iCloudUserNotifications'
    'com.apple.icloud.findmydeviced.findmydevice-user-agent'
    'com.apple.icloud.fmfd'
    @@ -117,60 +115,60 @@ TODISABLE+=('com.apple.security.cloudkeychainproxy3'
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')

    # Safari useless stuff
    TODISABLE+=('com.apple.SafariBookmarksSyncAgent'
    AGENTS_TO_DISABLE+=('com.apple.SafariBookmarksSyncAgent'
    'com.apple.SafariCloudHistoryPushAgent'
    )
    # 'com.apple.WebKit.PluginAgent')

    # iMessage / Facetime
    TODISABLE+=('com.apple.imagent'
    AGENTS_TO_DISABLE+=('com.apple.imagent'
    'com.apple.imautomatichistorydeletionagent'
    'com.apple.imklaunchagent'
    'com.apple.imtransferagent'
    'com.apple.avconferenced')

    # Game Center / Passbook / Apple TV / Homekit...
    TODISABLE+=('com.apple.gamed'
    AGENTS_TO_DISABLE+=('com.apple.gamed'
    'com.apple.passd'
    'com.apple.Maps.pushdaemon'
    'com.apple.videosubscriptionsd'
    'com.apple.CommCenter-osx'
    'com.apple.homed')

    # Ad-related
    TODISABLE+=('com.apple.ap.adprivacyd'
    AGENTS_TO_DISABLE+=('com.apple.ap.adprivacyd'
    'com.apple.ap.adservicesd')

    ## Screensharing
    #TODISABLE+=('com.apple.screensharing.MessagesAgent' \
    #AGENTS_TO_DISABLE+=('com.apple.screensharing.MessagesAgent' \
    # 'com.apple.screensharing.agent' \
    # 'com.apple.screensharing.menuextra')

    # Siri
    TODISABLE+=('com.apple.siriknowledged'
    AGENTS_TO_DISABLE+=('com.apple.siriknowledged'
    'com.apple.assistant_service'
    'com.apple.assistantd'
    'com.apple.Siri.agent'
    'com.apple.parsec-fbf')

    ## VoiceOver / accessibility-related stuff
    #TODISABLE+=('com.apple.VoiceOver' \
    #AGENTS_TO_DISABLE+=('com.apple.VoiceOver' \
    # 'com.apple.voicememod' \
    # 'com.apple.accessibility.AXVisualSupportAgent' \
    # 'com.apple.accessibility.dfrhud' \
    # 'com.apple.accessibility.heard')

    ## Quicklook
    #TODISABLE+=('com.apple.quicklook.ui.helper' \
    #AGENTS_TO_DISABLE+=('com.apple.quicklook.ui.helper' \
    # 'com.apple.quicklook.ThumbnailsAgent' \
    # 'com.apple.quicklook')

    # Sidecar
    TODISABLE+=('com.apple.sidecar-hid-relay'
    AGENTS_TO_DISABLE+=('com.apple.sidecar-hid-relay'
    'com.apple.sidecar-relay')

    # Debugging process
    TODISABLE+=('com.apple.spindump_agent'
    AGENTS_TO_DISABLE+=('com.apple.spindump_agent'
    'com.apple.ReportCrash'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    @@ -179,19 +177,19 @@ TODISABLE+=('com.apple.spindump_agent'
    # 'com.apple.TrustEvaluationAgent')

    # Screentime
    TODISABLE+=('com.apple.ScreenTimeAgent'
    AGENTS_TO_DISABLE+=('com.apple.ScreenTimeAgent'
    'com.apple.UsageTrackingAgent')

    # Others
    TODISABLE+=(
    AGENTS_TO_DISABLE+=(
    'com.apple.AirPlayUIAgent'
    'com.apple.AirPortBaseStationAgent'
    'com.apple.familycircled'
    'com.apple.familycontrols.useragent'
    'com.apple.familynotificationd'
    'com.apple.SocialPushAgent'
    )
    #TODISABLE+=('com.apple.telephonyutilities.callservicesd' \
    #AGENTS_TO_DISABLE+=('com.apple.telephonyutilities.callservicesd' \
    # 'com.apple.photoanalysisd' \
    # 'com.apple.parsecd' \
    # 'com.apple.AOSPushRelay' \
    @@ -220,18 +218,18 @@ TODISABLE+=(
    # 'com.apple.mediaremoteagent' \
    # 'com.apple.remindd')

    for agent in "${TODISABLE[@]}"; do
    for agent in "${AGENTS_TO_DISABLE[@]}"; do
    disable "$agent" Agent
    done

    # Daemons to disable
    TODISABLE=()
    DAEMONS_TO_DISABLE=()

    ## iCloud
    #TODISABLE+=('com.apple.analyticsd')
    #DAEMONS_TO_DISABLE+=('com.apple.analyticsd')
    #
    ## Others
    TODISABLE+=(
    DAEMONS_TO_DISABLE+=(
    'com.apple.SubmitDiagInfo'
    )
    # 'com.apple.netbiosd' \
    @@ -251,7 +249,7 @@ TODISABLE+=(
    # 'com.apple.RemoteDesktop.PrivilegeProxy' \
    # 'com.apple.mediaremoted')

    for daemon in "${TODISABLE[@]}"; do
    for daemon in "${DAEMONS_TO_DISABLE[@]}"; do
    disable "$daemon" Daemon
    done
    # vim: set et fdm=manual fenc=utf-8 ff=unix ft=sh ft=sh sts=0 sw=4 ts=4 tw=0 nowrap :
    48 changes: 23 additions & 25 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -5,11 +5,9 @@ export LC_ALL

    me="${0##*/}"

    if [ -n "$BASH" ]; then
    set -o errexit
    set -o nounset
    set -o pipefail
    fi
    set -o errexit
    set -o nounset
    set -o pipefail

    IFS=$'\n\t'

    @@ -53,7 +51,7 @@ enable() {

    if [[ ! -e ./System/Library/Launch${kind}s/${what}.plist ]]; then
    if [[ -e ./System/Library/Launch${kind}s/${what}.plist.org ]]; then
    if mv "./System/Library/Launch${kind}s/${what}.plist.org" "./System/Library/Launch${kind}s/${what}.plist"; then
    if sudo mv "./System/Library/Launch${kind}s/${what}.plist.org" "./System/Library/Launch${kind}s/${what}.plist"; then
    echo "SUCCESS: ${kind} ${what} enabled"
    launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    @@ -68,10 +66,10 @@ enable() {
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to enable
    TOENABLE=()
    AGENTS_TO_ENABLE=()

    # iCloud
    TOENABLE+=('com.apple.security.cloudkeychainproxy3'
    AGENTS_TO_ENABLE+=('com.apple.security.cloudkeychainproxy3'
    'com.apple.iCloudUserNotifications'
    'com.apple.icloud.findmydeviced.findmydevice-user-agent'
    'com.apple.icloud.fmfd'
    @@ -83,59 +81,59 @@ TOENABLE+=('com.apple.security.cloudkeychainproxy3'
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')

    # Safari useless stuff
    TOENABLE+=('com.apple.SafariBookmarksSyncAgent'
    AGENTS_TO_ENABLE+=('com.apple.SafariBookmarksSyncAgent'
    'com.apple.SafariCloudHistoryPushAgent'
    'com.apple.WebKit.PluginAgent')

    # iMessage / Facetime
    TOENABLE+=('com.apple.imagent'
    AGENTS_TO_ENABLE+=('com.apple.imagent'
    'com.apple.imautomatichistorydeletionagent'
    'com.apple.imklaunchagent'
    'com.apple.imtransferagent'
    'com.apple.avconferenced')

    # Game Center / Passbook / Apple TV / Homekit...
    TOENABLE+=('com.apple.gamed'
    AGENTS_TO_ENABLE+=('com.apple.gamed'
    'com.apple.passd'
    'com.apple.Maps.pushdaemon'
    'com.apple.videosubscriptionsd'
    'com.apple.CommCenter-osx'
    'com.apple.homed')

    # Ad-related
    TOENABLE+=('com.apple.ap.adprivacyd'
    AGENTS_TO_ENABLE+=('com.apple.ap.adprivacyd'
    'com.apple.ap.adservicesd')

    # Screensharing
    TOENABLE+=('com.apple.screensharing.MessagesAgent'
    AGENTS_TO_ENABLE+=('com.apple.screensharing.MessagesAgent'
    'com.apple.screensharing.agent'
    'com.apple.screensharing.menuextra')

    # Siri
    TOENABLE+=('com.apple.siriknowledged'
    AGENTS_TO_ENABLE+=('com.apple.siriknowledged'
    'com.apple.assistant_service'
    'com.apple.assistantd'
    'com.apple.Siri.agent'
    'com.apple.parsec-fbf')

    # VoiceOver / accessibility-related stuff
    TOENABLE+=('com.apple.VoiceOver'
    AGENTS_TO_ENABLE+=('com.apple.VoiceOver'
    'com.apple.voicememod'
    'com.apple.accessibility.AXVisualSupportAgent'
    'com.apple.accessibility.dfrhud'
    'com.apple.accessibility.heard')

    # Quicklook
    TOENABLE+=('com.apple.quicklook.ui.helper'
    AGENTS_TO_ENABLE+=('com.apple.quicklook.ui.helper'
    'com.apple.quicklook.ThumbnailsAgent'
    'com.apple.quicklook')

    # Sidecar
    TOENABLE+=('com.apple.sidecar-hid-relay'
    AGENTS_TO_ENABLE+=('com.apple.sidecar-hid-relay'
    'com.apple.sidecar-relay')

    # Debugging process
    TOENABLE+=('com.apple.spindump_agent'
    AGENTS_TO_ENABLE+=('com.apple.spindump_agent'
    'com.apple.ReportCrash'
    'com.apple.ReportCrash.Root'
    'com.apple.ReportGPURestart'
    @@ -144,11 +142,11 @@ TOENABLE+=('com.apple.spindump_agent'
    'com.apple.TrustEvaluationAgent')

    # Screentime
    TOENABLE+=('com.apple.ScreenTimeAgent'
    AGENTS_TO_ENABLE+=('com.apple.ScreenTimeAgent'
    'com.apple.UsageTrackingAgent')

    # Others
    TOENABLE+=('com.apple.telephonyutilities.callservicesd'
    AGENTS_TO_ENABLE+=('com.apple.telephonyutilities.callservicesd'
    'com.apple.photoanalysisd'
    'com.apple.parsecd'
    'com.apple.AOSPushRelay'
    @@ -183,18 +181,18 @@ TOENABLE+=('com.apple.telephonyutilities.callservicesd'
    'com.apple.mediaremoteagent'
    'com.apple.remindd')

    for agent in "${TOENABLE[@]}"; do
    for agent in "${AGENTS_TO_ENABLE[@]}"; do
    enable "${agent}" Agent
    done

    # Daemons to enable
    TOENABLE=()
    DAEMONS_TO_ENABLE=()

    # iCloud
    TOENABLE+=('com.apple.analyticsd')
    DAEMONS_TO_ENABLE+=('com.apple.analyticsd')

    # Others
    TOENABLE+=('com.apple.netbiosd'
    DAEMONS_TO_ENABLE+=('com.apple.netbiosd'
    'com.apple.preferences.timezone.admintool'
    'com.apple.remotepairtool'
    'com.apple.security.FDERecoveryAgent'
    @@ -212,7 +210,7 @@ TOENABLE+=('com.apple.netbiosd'
    'com.apple.RemoteDesktop.PrivilegeProxy'
    'com.apple.mediaremoted')

    for daemon in "${TOENABLE[@]}"; do
    for daemon in "${DAEMONS_TO_ENABLE[@]}"; do
    enable "${daemon}" Daemon
    done
    # vim: set et fdm=manual fenc=utf-8 ff=unix ft=sh ft=sh sts=0 sw=4 ts=4 tw=0 nowrap :
  14. junkblocker revised this gist Oct 29, 2019. 2 changed files with 34 additions and 18 deletions.
    36 changes: 27 additions & 9 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -52,10 +52,30 @@ disable() {
    kind="$2"

    if [[ -e "./System/Library/Launch${kind}s/${what}.plist" ]]; then
    if [[ -e "./System/Library/Launch${kind}s/${what}.plist.org" ]]; then
    if ! cmp "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    echo "INFO : Backup ./System/Library/Launch${kind}s/${what}.plist.org"
    echo "INFO : Original ./System/Library/Launch${kind}s/${what}.plist"
    echo "INFO : are different"
    sudo diff -Naup "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"
    printf "INFO : Overwrite backup (y/N)? "
    reply=
    read -r reply
    case "$reply" in
    y* | Y*)
    if ! sudo cp -f "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    echo "FAILURE: Backup failed" >&2
    return
    fi
    ;;
    esac
    fi
    fi

    # Yes, both without and with sudo - See https://www.chromium.org/developers/how-tos/debugging-on-os-x
    launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    if [[ ! -e "./System/Library/Launch${kind}s/${what}.plist.bak" && ! -e "./System/Library/Launch${kind}s/${what}.plist.prg" ]]; then
    if [[ ! -e "./System/Library/Launch${kind}s/${what}.plist.prg" ]]; then
    if sudo mv "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    echo "SUCCESS: ${kind} ${what} disabled"
    return
    @@ -66,13 +86,12 @@ disable() {
    return
    fi
    else
    for ext in bak org; do
    if [[ -e "./System/Library/Launch${kind}s/${what}.plist.$ext" ]]; then
    echo "SUCCESS: $kind $what already disabled"
    return
    fi
    done
    echo "[??] ${kind} ${what} not present"
    if [[ -e "./System/Library/Launch${kind}s/${what}.plist.org" ]]; then
    echo "SUCCESS: $kind $what already disabled"
    return
    else
    echo "[??] ${kind} ${what} not present"
    fi
    fi
    }
    # WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.
    @@ -153,7 +172,6 @@ TODISABLE+=('com.apple.sidecar-hid-relay'
    # Debugging process
    TODISABLE+=('com.apple.spindump_agent'
    'com.apple.ReportCrash'
    'com.apple.ReportCrash.Root'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    )
    16 changes: 7 additions & 9 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -52,16 +52,14 @@ enable() {
    kind="$2"

    if [[ ! -e ./System/Library/Launch${kind}s/${what}.plist ]]; then
    for ext in bak org; do
    if [[ -e ./System/Library/Launch${kind}s/${what}.plist.$ext ]]; then
    if mv "./System/Library/Launch${kind}s/${what}.plist.$ext" "./System/Library/Launch${kind}s/${what}.plist"; then
    echo "SUCCESS: ${kind} ${what} enabled"
    launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    return
    fi
    if [[ -e ./System/Library/Launch${kind}s/${what}.plist.org ]]; then
    if mv "./System/Library/Launch${kind}s/${what}.plist.org" "./System/Library/Launch${kind}s/${what}.plist"; then
    echo "SUCCESS: ${kind} ${what} enabled"
    launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    return
    fi
    done
    fi
    echo "FAILURE: ${kind} ${what} could not be enabled"
    fi
    }
  15. junkblocker revised this gist Oct 28, 2019. 2 changed files with 11 additions and 2 deletions.
    8 changes: 6 additions & 2 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -94,6 +94,7 @@ TODISABLE+=('com.apple.security.cloudkeychainproxy3'
    'com.apple.cloudd'
    'com.apple.cloudpaird'
    'com.apple.cloudphotod'
    'com.apple.followupd'
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')

    # Safari useless stuff
    @@ -150,16 +151,19 @@ TODISABLE+=('com.apple.sidecar-hid-relay'
    'com.apple.sidecar-relay')

    # Debugging process
    TODISABLE+=(
    TODISABLE+=('com.apple.spindump_agent'
    'com.apple.ReportCrash'
    'com.apple.ReportCrash.Root'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    )
    # 'com.apple.DiagnosticReportCleanup'
    # 'com.apple.spindump_agent' \
    # 'com.apple.TrustEvaluationAgent')

    # Screentime
    TODISABLE+=('com.apple.ScreenTimeAgent'
    'com.apple.UsageTrackingAgent')

    # Others
    TODISABLE+=(
    'com.apple.AirPlayUIAgent'
    5 changes: 5 additions & 0 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -81,6 +81,7 @@ TOENABLE+=('com.apple.security.cloudkeychainproxy3'
    'com.apple.cloudd'
    'com.apple.cloudpaird'
    'com.apple.cloudphotod'
    'com.apple.followupd'
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')

    # Safari useless stuff
    @@ -144,6 +145,10 @@ TOENABLE+=('com.apple.spindump_agent'
    'com.apple.DiagnosticReportCleanup'
    'com.apple.TrustEvaluationAgent')

    # Screentime
    TOENABLE+=('com.apple.ScreenTimeAgent'
    'com.apple.UsageTrackingAgent')

    # Others
    TOENABLE+=('com.apple.telephonyutilities.callservicesd'
    'com.apple.photoanalysisd'
  16. junkblocker revised this gist Oct 27, 2019. 2 changed files with 4 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion disable.sh
    Original file line number Diff line number Diff line change
    @@ -52,6 +52,7 @@ disable() {
    kind="$2"

    if [[ -e "./System/Library/Launch${kind}s/${what}.plist" ]]; then
    # Yes, both without and with sudo - See https://www.chromium.org/developers/how-tos/debugging-on-os-x
    launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    if [[ ! -e "./System/Library/Launch${kind}s/${what}.plist.bak" && ! -e "./System/Library/Launch${kind}s/${what}.plist.prg" ]]; then
    @@ -151,10 +152,11 @@ TODISABLE+=('com.apple.sidecar-hid-relay'
    # Debugging process
    TODISABLE+=(
    'com.apple.ReportCrash'
    'com.apple.ReportCrash.Root'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    'com.apple.DiagnosticReportCleanup'
    )
    # 'com.apple.DiagnosticReportCleanup'
    # 'com.apple.spindump_agent' \
    # 'com.apple.TrustEvaluationAgent')

    1 change: 1 addition & 0 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -138,6 +138,7 @@ TOENABLE+=('com.apple.sidecar-hid-relay'
    # Debugging process
    TOENABLE+=('com.apple.spindump_agent'
    'com.apple.ReportCrash'
    'com.apple.ReportCrash.Root'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    'com.apple.DiagnosticReportCleanup'
  17. junkblocker revised this gist Oct 27, 2019. 2 changed files with 53 additions and 39 deletions.
    57 changes: 31 additions & 26 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -45,10 +45,35 @@ cd "/Volumes/Macintosh HD"
    if [[ "${1-}" != "execed" ]]; then
    exec "/Volumes/Macintosh HD${full_dir}/${BASH_SOURCE##*/}" execed
    fi
    if [[ $(id -u) != 0 ]]; then
    exec sudo "$0" "$@"
    fi

    disable() {
    local what kind
    what="$1"
    kind="$2"

    if [[ -e "./System/Library/Launch${kind}s/${what}.plist" ]]; then
    launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl unload -wF "./System/Library/Launch${kind}s/${what}.plist" || true
    if [[ ! -e "./System/Library/Launch${kind}s/${what}.plist.bak" && ! -e "./System/Library/Launch${kind}s/${what}.plist.prg" ]]; then
    if sudo mv "./System/Library/Launch${kind}s/${what}.plist" "./System/Library/Launch${kind}s/${what}.plist.org"; then
    echo "SUCCESS: ${kind} ${what} disabled"
    return
    fi
    echo "FAILURE: ${kind} ${what} could not be disabled"
    else
    echo "SUCCESS: ${kind} ${what} already disabled"
    return
    fi
    else
    for ext in bak org; do
    if [[ -e "./System/Library/Launch${kind}s/${what}.plist.$ext" ]]; then
    echo "SUCCESS: $kind $what already disabled"
    return
    fi
    done
    echo "[??] ${kind} ${what} not present"
    fi
    }
    # WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
    @@ -128,9 +153,9 @@ TODISABLE+=(
    'com.apple.ReportCrash'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    'com.apple.DiagnosticReportCleanup'
    )
    # 'com.apple.spindump_agent' \
    # 'com.apple.DiagnosticReportCleanup' \
    # 'com.apple.TrustEvaluationAgent')

    # Others
    @@ -172,17 +197,7 @@ TODISABLE+=(
    # 'com.apple.remindd')

    for agent in "${TODISABLE[@]}"; do
    if [[ -e ./System/Library/LaunchAgents/${agent}.plist ]]; then
    if mv ./System/Library/LaunchAgents/${agent}.plist ./System/Library/LaunchAgents/${agent}.plist.bak; then
    echo "[OK] Agent ${agent} disabled"
    else
    echo "[NO] Agent ${agent} could not be disabled"
    fi
    elif [[ -e "./System/Library/LaunchAgents/${agent}.plist.bak" ]]; then
    echo "[OK] Agent ${agent} disabled"
    else
    echo "[??] Agent ${agent} not present"
    fi
    disable "$agent" Agent
    done

    # Daemons to disable
    @@ -213,16 +228,6 @@ TODISABLE+=(
    # 'com.apple.mediaremoted')

    for daemon in "${TODISABLE[@]}"; do
    if [[ -e "./System/Library/LaunchDaemons/${daemon}.plist" ]]; then
    if mv "./System/Library/LaunchDaemons/${daemon}.plist" "./System/Library/LaunchDaemons/${daemon}.plist.bak"; then
    echo "[OK] Daemon ${daemon} disabled"
    else
    echo "[NO] Daemon ${daemon} could not be disabled"
    fi
    elif [[ -e "./System/Library/LaunchDaemons/${daemon}.plist.bak" ]]; then
    echo "[OK] Daemon ${daemon} disabled"
    else
    echo "[??] Daemon ${daemon} not present"
    fi
    disable "$daemon" Daemon
    done
    # vim: set et fdm=manual fenc=utf-8 ff=unix ft=sh ft=sh sts=0 sw=4 ts=4 tw=0 nowrap :
    35 changes: 22 additions & 13 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -45,9 +45,26 @@ cd "/Volumes/Macintosh HD"
    if [[ "${1-}" != "execed" ]]; then
    exec "/Volumes/Macintosh HD${full_dir}/${BASH_SOURCE##*/}" execed
    fi
    if [[ $(id -u) != 0 ]]; then
    exec sudo "$0" "$@"
    fi

    enable() {
    local what kind
    what="$1"
    kind="$2"

    if [[ ! -e ./System/Library/Launch${kind}s/${what}.plist ]]; then
    for ext in bak org; do
    if [[ -e ./System/Library/Launch${kind}s/${what}.plist.$ext ]]; then
    if mv "./System/Library/Launch${kind}s/${what}.plist.$ext" "./System/Library/Launch${kind}s/${what}.plist"; then
    echo "SUCCESS: ${kind} ${what} enabled"
    launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    sudo launchctl load -w "./System/Library/Launch${kind}s/${what}.plist" || true
    return
    fi
    fi
    done
    echo "FAILURE: ${kind} ${what} could not be enabled"
    fi
    }

    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents
    @@ -163,11 +180,7 @@ TOENABLE+=('com.apple.telephonyutilities.callservicesd'
    'com.apple.remindd')

    for agent in "${TOENABLE[@]}"; do
    if [[ -e ./System/Library/LaunchAgents/${agent}.plist.bak && ! -e ./System/Library/LaunchAgents/${agent}.plist ]]; then
    if mv ./System/Library/LaunchAgents/${agent}.plist.bak ./System/Library/LaunchAgents/${agent}.plist; then
    echo "[OK] Agent ${agent} enabled"
    fi
    fi
    enable "${agent}" Agent
    done

    # Daemons to enable
    @@ -196,10 +209,6 @@ TOENABLE+=('com.apple.netbiosd'
    'com.apple.mediaremoted')

    for daemon in "${TOENABLE[@]}"; do
    if [[ -e ./System/Library/LaunchDaemons/${daemon}.plist.bak && ! -e ./System/Library/LaunchDaemons/${daemon}.plist ]]; then
    if mv ./System/Library/LaunchDaemons/${daemon}.plist.bak ./System/Library/LaunchDaemons/${daemon}.plist; then
    echo "[OK] Daemon ${daemon} disabled"
    fi
    fi
    enable "${daemon}" Daemon
    done
    # vim: set et fdm=manual fenc=utf-8 ff=unix ft=sh ft=sh sts=0 sw=4 ts=4 tw=0 nowrap :
  18. junkblocker revised this gist Oct 27, 2019. 2 changed files with 347 additions and 229 deletions.
    307 changes: 188 additions & 119 deletions disable.sh
    100644 → 100755
    Original file line number Diff line number Diff line change
    @@ -1,9 +1,54 @@
    #!/bin/bash

    LC_ALL=C
    export LC_ALL

    me="${0##*/}"

    if [ -n "$BASH" ]; then
    set -o errexit
    set -o nounset
    set -o pipefail
    fi

    IFS=$'\n\t'

    # IMPORTANT: Don't forget to logout from your Apple ID in the settings before running it!
    signed_out=false
    if [[ -z "$(command -v mas)" && -n "$(command -v brew)" ]]; then
    brew install mas
    fi
    if ! mas signout; then
    echo "Could not sign out of the apple store automatically." >&2
    else
    signed_out=true
    fi
    if ! $signed_out; then
    reply=
    while [[ "$reply" != "OK" ]]; do
    echo "Please sign out of apple store before proceeding. Type OK when ready or press Ctrl+c to abort."
    read -r reply
    done
    fi

    # IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
    if ! csrutil status | grep -q ' disabled.$'; then
    echo "System Integrity Protection is enabled. Can not proceed." >&2
    exit 1
    fi
    sudo mount -uw /

    # This script needs to be run from the volume you wish to use.
    # E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/disable.sh
    full_dir="$(cd "$(dirname $BASH_SOURCE)" && pwd)"
    cd "/Volumes/Macintosh HD"
    if [[ "${1-}" != "execed" ]]; then
    exec "/Volumes/Macintosh HD${full_dir}/${BASH_SOURCE##*/}" execed
    fi
    if [[ $(id -u) != 0 ]]; then
    exec sudo "$0" "$@"
    fi

    # WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
    @@ -15,145 +60,169 @@
    TODISABLE=()

    # iCloud
    TODISABLE+=('com.apple.security.cloudkeychainproxy3' \
    'com.apple.iCloudUserNotifications' \
    'com.apple.icloud.findmydeviced.findmydevice-user-agent' \
    'com.apple.icloud.fmfd' \
    'com.apple.icloud.searchpartyuseragent' \
    'com.apple.cloudd' \
    'com.apple.cloudpaird' \
    'com.apple.cloudphotod' \
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')
    TODISABLE+=('com.apple.security.cloudkeychainproxy3'
    'com.apple.iCloudUserNotifications'
    'com.apple.icloud.findmydeviced.findmydevice-user-agent'
    'com.apple.icloud.fmfd'
    'com.apple.icloud.searchpartyuseragent'
    'com.apple.cloudd'
    'com.apple.cloudpaird'
    'com.apple.cloudphotod'
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')

    # Safari useless stuff
    TODISABLE+=('com.apple.SafariBookmarksSyncAgent' \
    'com.apple.SafariCloudHistoryPushAgent' \
    'com.apple.WebKit.PluginAgent')
    TODISABLE+=('com.apple.SafariBookmarksSyncAgent'
    'com.apple.SafariCloudHistoryPushAgent'
    )
    # 'com.apple.WebKit.PluginAgent')

    # iMessage / Facetime
    TODISABLE+=('com.apple.imagent' \
    'com.apple.imautomatichistorydeletionagent' \
    'com.apple.imklaunchagent' \
    'com.apple.imtransferagent' \
    'com.apple.avconferenced')
    TODISABLE+=('com.apple.imagent'
    'com.apple.imautomatichistorydeletionagent'
    'com.apple.imklaunchagent'
    'com.apple.imtransferagent'
    'com.apple.avconferenced')

    # Game Center / Passbook / Apple TV / Homekit...
    TODISABLE+=('com.apple.gamed' \
    'com.apple.passd' \
    'com.apple.Maps.pushdaemon' \
    'com.apple.videosubscriptionsd' \
    'com.apple.CommCenter-osx' \
    'com.apple.homed')
    TODISABLE+=('com.apple.gamed'
    'com.apple.passd'
    'com.apple.Maps.pushdaemon'
    'com.apple.videosubscriptionsd'
    'com.apple.CommCenter-osx'
    'com.apple.homed')

    # Ad-related
    TODISABLE+=('com.apple.ap.adprivacyd' \
    'com.apple.ap.adservicesd')
    TODISABLE+=('com.apple.ap.adprivacyd'
    'com.apple.ap.adservicesd')

    # Screensharing
    TODISABLE+=('com.apple.screensharing.MessagesAgent' \
    'com.apple.screensharing.agent' \
    'com.apple.screensharing.menuextra')
    ## Screensharing
    #TODISABLE+=('com.apple.screensharing.MessagesAgent' \
    # 'com.apple.screensharing.agent' \
    # 'com.apple.screensharing.menuextra')

    # Siri
    TODISABLE+=('com.apple.siriknowledged' \
    'com.apple.assistant_service' \
    'com.apple.assistantd' \
    'com.apple.Siri.agent' \
    'com.apple.parsec-fbf')

    # VoiceOver / accessibility-related stuff
    TODISABLE+=('com.apple.VoiceOver' \
    'com.apple.voicememod' \
    'com.apple.accessibility.AXVisualSupportAgent' \
    'com.apple.accessibility.dfrhud' \
    'com.apple.accessibility.heard')

    # Quicklook
    TODISABLE+=('com.apple.quicklook.ui.helper' \
    'com.apple.quicklook.ThumbnailsAgent' \
    'com.apple.quicklook')
    TODISABLE+=('com.apple.siriknowledged'
    'com.apple.assistant_service'
    'com.apple.assistantd'
    'com.apple.Siri.agent'
    'com.apple.parsec-fbf')

    ## VoiceOver / accessibility-related stuff
    #TODISABLE+=('com.apple.VoiceOver' \
    # 'com.apple.voicememod' \
    # 'com.apple.accessibility.AXVisualSupportAgent' \
    # 'com.apple.accessibility.dfrhud' \
    # 'com.apple.accessibility.heard')

    ## Quicklook
    #TODISABLE+=('com.apple.quicklook.ui.helper' \
    # 'com.apple.quicklook.ThumbnailsAgent' \
    # 'com.apple.quicklook')

    # Sidecar
    TODISABLE+=('com.apple.sidecar-hid-relay' \
    'com.apple.sidecar-relay')
    TODISABLE+=('com.apple.sidecar-hid-relay'
    'com.apple.sidecar-relay')

    # Debugging process
    TODISABLE+=('com.apple.spindump_agent' \
    'com.apple.ReportCrash' \
    'com.apple.ReportGPURestart' \
    'com.apple.ReportPanic' \
    'com.apple.DiagnosticReportCleanup' \
    'com.apple.TrustEvaluationAgent')
    TODISABLE+=(
    'com.apple.ReportCrash'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    )
    # 'com.apple.spindump_agent' \
    # 'com.apple.DiagnosticReportCleanup' \
    # 'com.apple.TrustEvaluationAgent')

    # Others
    TODISABLE+=('com.apple.telephonyutilities.callservicesd' \
    'com.apple.photoanalysisd' \
    'com.apple.parsecd' \
    'com.apple.AOSPushRelay' \
    'com.apple.AOSHeartbeat' \
    'com.apple.AirPlayUIAgent' \
    'com.apple.AirPortBaseStationAgent' \
    'com.apple.familycircled' \
    'com.apple.familycontrols.useragent' \
    'com.apple.familynotificationd' \
    'com.apple.findmymacmessenger' \
    'com.apple.sharingd' \
    'com.apple.identityservicesd' \
    'com.apple.java.InstallOnDemand' \
    'com.apple.parentalcontrols.check' \
    'com.apple.security.keychain-circle-notification' \
    'com.apple.syncdefaultsd' \
    'com.apple.appleseed.seedusaged' \
    'com.apple.appleseed.seedusaged.postinstall' \
    'com.apple.CallHistorySyncHelper' \
    'com.apple.RemoteDesktop' \
    'com.apple.CallHistoryPluginHelper' \
    'com.apple.SocialPushAgent' \
    'com.apple.touristd' \
    'com.apple.macos.studentd' \
    'com.apple.KeyboardAccessAgent' \
    'com.apple.exchange.exchangesyncd' \
    'com.apple.suggestd' \
    'com.apple.AddressBook.abd' \
    'com.apple.helpd' \
    'com.apple.amp.mediasharingd' \
    'com.apple.mediaanalysisd' \
    'com.apple.mediaremoteagent' \
    'com.apple.remindd')

    for agent in "${TODISABLE[@]}"
    do
    mv ./System/Library/LaunchAgents/${agent}.plist ./System/Library/LaunchAgents/${agent}.plist.bak
    echo "[OK] Agent ${agent} disabled"
    TODISABLE+=(
    'com.apple.AirPlayUIAgent'
    'com.apple.AirPortBaseStationAgent'
    'com.apple.familycircled'
    'com.apple.familycontrols.useragent'
    'com.apple.familynotificationd'
    'com.apple.SocialPushAgent'
    )
    #TODISABLE+=('com.apple.telephonyutilities.callservicesd' \
    # 'com.apple.photoanalysisd' \
    # 'com.apple.parsecd' \
    # 'com.apple.AOSPushRelay' \
    # 'com.apple.AOSHeartbeat' \
    # 'com.apple.findmymacmessenger' \
    # 'com.apple.sharingd' \
    # 'com.apple.identityservicesd' \
    # 'com.apple.java.InstallOnDemand' \
    # 'com.apple.parentalcontrols.check' \
    # 'com.apple.security.keychain-circle-notification' \
    # 'com.apple.syncdefaultsd' \
    # 'com.apple.appleseed.seedusaged' \
    # 'com.apple.appleseed.seedusaged.postinstall' \
    # 'com.apple.CallHistorySyncHelper' \
    # 'com.apple.RemoteDesktop' \
    # 'com.apple.CallHistoryPluginHelper' \
    # 'com.apple.touristd' \
    # 'com.apple.macos.studentd' \
    # 'com.apple.KeyboardAccessAgent' \
    # 'com.apple.exchange.exchangesyncd' \
    # 'com.apple.suggestd' \
    # 'com.apple.AddressBook.abd' \
    # 'com.apple.helpd' \
    # 'com.apple.amp.mediasharingd' \
    # 'com.apple.mediaanalysisd' \
    # 'com.apple.mediaremoteagent' \
    # 'com.apple.remindd')

    for agent in "${TODISABLE[@]}"; do
    if [[ -e ./System/Library/LaunchAgents/${agent}.plist ]]; then
    if mv ./System/Library/LaunchAgents/${agent}.plist ./System/Library/LaunchAgents/${agent}.plist.bak; then
    echo "[OK] Agent ${agent} disabled"
    else
    echo "[NO] Agent ${agent} could not be disabled"
    fi
    elif [[ -e "./System/Library/LaunchAgents/${agent}.plist.bak" ]]; then
    echo "[OK] Agent ${agent} disabled"
    else
    echo "[??] Agent ${agent} not present"
    fi
    done

    # Daemons to disable
    TODISABLE=()

    # iCloud
    TODISABLE+=('com.apple.analyticsd')

    # Others
    TODISABLE+=('com.apple.netbiosd' \
    'com.apple.preferences.timezone.admintool' \
    'com.apple.remotepairtool' \
    'com.apple.security.FDERecoveryAgent' \
    'com.apple.SubmitDiagInfo' \
    'com.apple.screensharing' \
    'com.apple.appleseed.fbahelperd' \
    'com.apple.apsd' \
    'com.apple.ManagedClient.cloudconfigurationd' \
    'com.apple.ManagedClient.enroll' \
    'com.apple.ManagedClient' \
    'com.apple.ManagedClient.startup' \
    'com.apple.locate' \
    'com.apple.locationd' \
    'com.apple.eapolcfg_auth' \
    'com.apple.RemoteDesktop.PrivilegeProxy' \
    'com.apple.mediaremoted')

    for daemon in "${TODISABLE[@]}"
    do
    mv ./System/Library/LaunchDaemons/${daemon}.plist ./System/Library/LaunchDaemons/${daemon}.plist.bak
    echo "[OK] Daemon ${daemon} disabled"
    ## iCloud
    #TODISABLE+=('com.apple.analyticsd')
    #
    ## Others
    TODISABLE+=(
    'com.apple.SubmitDiagInfo'
    )
    # 'com.apple.netbiosd' \
    # 'com.apple.preferences.timezone.admintool' \
    # 'com.apple.remotepairtool' \
    # 'com.apple.security.FDERecoveryAgent' \
    # 'com.apple.screensharing' \
    # 'com.apple.appleseed.fbahelperd' \
    # 'com.apple.apsd' \
    # 'com.apple.ManagedClient.cloudconfigurationd' \
    # 'com.apple.ManagedClient.enroll' \
    # 'com.apple.ManagedClient' \
    # 'com.apple.ManagedClient.startup' \
    # 'com.apple.locate' \
    # 'com.apple.locationd' \
    # 'com.apple.eapolcfg_auth' \
    # 'com.apple.RemoteDesktop.PrivilegeProxy' \
    # 'com.apple.mediaremoted')

    for daemon in "${TODISABLE[@]}"; do
    if [[ -e "./System/Library/LaunchDaemons/${daemon}.plist" ]]; then
    if mv "./System/Library/LaunchDaemons/${daemon}.plist" "./System/Library/LaunchDaemons/${daemon}.plist.bak"; then
    echo "[OK] Daemon ${daemon} disabled"
    else
    echo "[NO] Daemon ${daemon} could not be disabled"
    fi
    elif [[ -e "./System/Library/LaunchDaemons/${daemon}.plist.bak" ]]; then
    echo "[OK] Daemon ${daemon} disabled"
    else
    echo "[??] Daemon ${daemon} not present"
    fi
    done
    # vim: set et fdm=manual fenc=utf-8 ff=unix ft=sh ft=sh sts=0 sw=4 ts=4 tw=0 nowrap :
    269 changes: 159 additions & 110 deletions enable.sh
    100644 → 100755
    Original file line number Diff line number Diff line change
    @@ -1,9 +1,53 @@
    #!/bin/bash

    LC_ALL=C
    export LC_ALL

    me="${0##*/}"

    if [ -n "$BASH" ]; then
    set -o errexit
    set -o nounset
    set -o pipefail
    fi

    IFS=$'\n\t'

    # IMPORTANT: Don't forget to logout from your Apple ID in the settings before running it!
    signed_out=false
    if [[ -z "$(command -v mas)" && -n "$(command -v brew)" ]]; then
    brew install mas
    fi
    if ! mas signout; then
    echo "Could not sign out of the apple store automatically." >&2
    else
    signed_out=true
    fi
    if ! $signed_out; then
    reply=
    while [[ "$reply" != "OK" ]]; do
    echo "Please sign out of apple store before proceeding. Type OK when ready or press Ctrl+c to abort."
    read -r reply
    done
    fi

    # IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
    if ! csrutil status | grep -q ' disabled.$'; then
    echo "System Integrity Protection is enabled. Can not proceed." >&2
    exit 1
    fi
    sudo mount -uw /

    # This script needs to be run from the volume you wish to use.
    # E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/disable.sh
    full_dir="$(cd "$(dirname $BASH_SOURCE)" && pwd)"
    cd "/Volumes/Macintosh HD"
    if [[ "${1-}" != "execed" ]]; then
    exec "/Volumes/Macintosh HD${full_dir}/${BASH_SOURCE##*/}" execed
    fi
    if [[ $(id -u) != 0 ]]; then
    exec sudo "$0" "$@"
    fi

    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents
    @@ -12,116 +56,118 @@
    TOENABLE=()

    # iCloud
    TOENABLE+=('com.apple.security.cloudkeychainproxy3' \
    'com.apple.iCloudUserNotifications' \
    'com.apple.icloud.findmydeviced.findmydevice-user-agent' \
    'com.apple.icloud.fmfd' \
    'com.apple.icloud.searchpartyuseragent' \
    'com.apple.cloudd' \
    'com.apple.cloudpaird' \
    'com.apple.cloudphotod' \
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')
    TOENABLE+=('com.apple.security.cloudkeychainproxy3'
    'com.apple.iCloudUserNotifications'
    'com.apple.icloud.findmydeviced.findmydevice-user-agent'
    'com.apple.icloud.fmfd'
    'com.apple.icloud.searchpartyuseragent'
    'com.apple.cloudd'
    'com.apple.cloudpaird'
    'com.apple.cloudphotod'
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')

    # Safari useless stuff
    TOENABLE+=('com.apple.SafariBookmarksSyncAgent' \
    'com.apple.SafariCloudHistoryPushAgent' \
    'com.apple.WebKit.PluginAgent')
    TOENABLE+=('com.apple.SafariBookmarksSyncAgent'
    'com.apple.SafariCloudHistoryPushAgent'
    'com.apple.WebKit.PluginAgent')

    # iMessage / Facetime
    TOENABLE+=('com.apple.imagent' \
    'com.apple.imautomatichistorydeletionagent' \
    'com.apple.imklaunchagent' \
    'com.apple.imtransferagent' \
    'com.apple.avconferenced')
    TOENABLE+=('com.apple.imagent'
    'com.apple.imautomatichistorydeletionagent'
    'com.apple.imklaunchagent'
    'com.apple.imtransferagent'
    'com.apple.avconferenced')

    # Game Center / Passbook / Apple TV / Homekit...
    TOENABLE+=('com.apple.gamed' \
    'com.apple.passd' \
    'com.apple.Maps.pushdaemon' \
    'com.apple.videosubscriptionsd' \
    'com.apple.CommCenter-osx' \
    'com.apple.homed')
    TOENABLE+=('com.apple.gamed'
    'com.apple.passd'
    'com.apple.Maps.pushdaemon'
    'com.apple.videosubscriptionsd'
    'com.apple.CommCenter-osx'
    'com.apple.homed')

    # Ad-related
    TOENABLE+=('com.apple.ap.adprivacyd' \
    'com.apple.ap.adservicesd')
    TOENABLE+=('com.apple.ap.adprivacyd'
    'com.apple.ap.adservicesd')

    # Screensharing
    TOENABLE+=('com.apple.screensharing.MessagesAgent' \
    'com.apple.screensharing.agent' \
    'com.apple.screensharing.menuextra')
    TOENABLE+=('com.apple.screensharing.MessagesAgent'
    'com.apple.screensharing.agent'
    'com.apple.screensharing.menuextra')

    # Siri
    TOENABLE+=('com.apple.siriknowledged' \
    'com.apple.assistant_service' \
    'com.apple.assistantd' \
    'com.apple.Siri.agent' \
    'com.apple.parsec-fbf')
    TOENABLE+=('com.apple.siriknowledged'
    'com.apple.assistant_service'
    'com.apple.assistantd'
    'com.apple.Siri.agent'
    'com.apple.parsec-fbf')

    # VoiceOver / accessibility-related stuff
    TOENABLE+=('com.apple.VoiceOver' \
    'com.apple.voicememod' \
    'com.apple.accessibility.AXVisualSupportAgent' \
    'com.apple.accessibility.dfrhud' \
    'com.apple.accessibility.heard')
    TOENABLE+=('com.apple.VoiceOver'
    'com.apple.voicememod'
    'com.apple.accessibility.AXVisualSupportAgent'
    'com.apple.accessibility.dfrhud'
    'com.apple.accessibility.heard')

    # Quicklook
    TOENABLE+=('com.apple.quicklook.ui.helper' \
    'com.apple.quicklook.ThumbnailsAgent' \
    'com.apple.quicklook')
    TOENABLE+=('com.apple.quicklook.ui.helper'
    'com.apple.quicklook.ThumbnailsAgent'
    'com.apple.quicklook')

    # Sidecar
    TOENABLE+=('com.apple.sidecar-hid-relay' \
    'com.apple.sidecar-relay')
    TOENABLE+=('com.apple.sidecar-hid-relay'
    'com.apple.sidecar-relay')

    # Debugging process
    TOENABLE+=('com.apple.spindump_agent' \
    'com.apple.ReportCrash' \
    'com.apple.ReportGPURestart' \
    'com.apple.ReportPanic' \
    'com.apple.DiagnosticReportCleanup' \
    'com.apple.TrustEvaluationAgent')
    TOENABLE+=('com.apple.spindump_agent'
    'com.apple.ReportCrash'
    'com.apple.ReportGPURestart'
    'com.apple.ReportPanic'
    'com.apple.DiagnosticReportCleanup'
    'com.apple.TrustEvaluationAgent')

    # Others
    TOENABLE+=('com.apple.telephonyutilities.callservicesd' \
    'com.apple.photoanalysisd' \
    'com.apple.parsecd' \
    'com.apple.AOSPushRelay' \
    'com.apple.AOSHeartbeat' \
    'com.apple.AirPlayUIAgent' \
    'com.apple.AirPortBaseStationAgent' \
    'com.apple.familycircled' \
    'com.apple.familycontrols.useragent' \
    'com.apple.familynotificationd' \
    'com.apple.findmymacmessenger' \
    'com.apple.sharingd' \
    'com.apple.identityservicesd' \
    'com.apple.java.InstallOnDemand' \
    'com.apple.parentalcontrols.check' \
    'com.apple.security.keychain-circle-notification' \
    'com.apple.syncdefaultsd' \
    'com.apple.appleseed.seedusaged' \
    'com.apple.appleseed.seedusaged.postinstall' \
    'com.apple.CallHistorySyncHelper' \
    'com.apple.RemoteDesktop' \
    'com.apple.CallHistoryPluginHelper' \
    'com.apple.SocialPushAgent' \
    'com.apple.touristd' \
    'com.apple.macos.studentd' \
    'com.apple.KeyboardAccessAgent' \
    'com.apple.exchange.exchangesyncd' \
    'com.apple.suggestd' \
    'com.apple.AddressBook.abd' \
    'com.apple.helpd' \
    'com.apple.amp.mediasharingd' \
    'com.apple.mediaanalysisd' \
    'com.apple.mediaremoteagent' \
    'com.apple.remindd')

    for agent in "${TOENABLE[@]}"
    do
    mv ./System/Library/LaunchAgents/${agent}.plist.bak ./System/Library/LaunchAgents/${agent}.plist
    echo "[OK] Agent ${agent} disabled"
    TOENABLE+=('com.apple.telephonyutilities.callservicesd'
    'com.apple.photoanalysisd'
    'com.apple.parsecd'
    'com.apple.AOSPushRelay'
    'com.apple.AOSHeartbeat'
    'com.apple.AirPlayUIAgent'
    'com.apple.AirPortBaseStationAgent'
    'com.apple.familycircled'
    'com.apple.familycontrols.useragent'
    'com.apple.familynotificationd'
    'com.apple.findmymacmessenger'
    'com.apple.sharingd'
    'com.apple.identityservicesd'
    'com.apple.java.InstallOnDemand'
    'com.apple.parentalcontrols.check'
    'com.apple.security.keychain-circle-notification'
    'com.apple.syncdefaultsd'
    'com.apple.appleseed.seedusaged'
    'com.apple.appleseed.seedusaged.postinstall'
    'com.apple.CallHistorySyncHelper'
    'com.apple.RemoteDesktop'
    'com.apple.CallHistoryPluginHelper'
    'com.apple.SocialPushAgent'
    'com.apple.touristd'
    'com.apple.macos.studentd'
    'com.apple.KeyboardAccessAgent'
    'com.apple.exchange.exchangesyncd'
    'com.apple.suggestd'
    'com.apple.AddressBook.abd'
    'com.apple.helpd'
    'com.apple.amp.mediasharingd'
    'com.apple.mediaanalysisd'
    'com.apple.mediaremoteagent'
    'com.apple.remindd')

    for agent in "${TOENABLE[@]}"; do
    if [[ -e ./System/Library/LaunchAgents/${agent}.plist.bak && ! -e ./System/Library/LaunchAgents/${agent}.plist ]]; then
    if mv ./System/Library/LaunchAgents/${agent}.plist.bak ./System/Library/LaunchAgents/${agent}.plist; then
    echo "[OK] Agent ${agent} enabled"
    fi
    fi
    done

    # Daemons to enable
    @@ -131,26 +177,29 @@ TOENABLE=()
    TOENABLE+=('com.apple.analyticsd')

    # Others
    TOENABLE+=('com.apple.netbiosd' \
    'com.apple.preferences.timezone.admintool' \
    'com.apple.remotepairtool' \
    'com.apple.security.FDERecoveryAgent' \
    'com.apple.SubmitDiagInfo' \
    'com.apple.screensharing' \
    'com.apple.appleseed.fbahelperd' \
    'com.apple.apsd' \
    'com.apple.ManagedClient.cloudconfigurationd' \
    'com.apple.ManagedClient.enroll' \
    'com.apple.ManagedClient' \
    'com.apple.ManagedClient.startup' \
    'com.apple.locate' \
    'com.apple.locationd' \
    'com.apple.eapolcfg_auth' \
    'com.apple.RemoteDesktop.PrivilegeProxy' \
    'com.apple.mediaremoted')

    for daemon in "${TOENABLE[@]}"
    do
    mv ./System/Library/LaunchDaemons/${daemon}.plist.bak ./System/Library/LaunchDaemons/${daemon}.plist
    echo "[OK] Daemon ${daemon} disabled"
    TOENABLE+=('com.apple.netbiosd'
    'com.apple.preferences.timezone.admintool'
    'com.apple.remotepairtool'
    'com.apple.security.FDERecoveryAgent'
    'com.apple.SubmitDiagInfo'
    'com.apple.screensharing'
    'com.apple.appleseed.fbahelperd'
    'com.apple.apsd'
    'com.apple.ManagedClient.cloudconfigurationd'
    'com.apple.ManagedClient.enroll'
    'com.apple.ManagedClient'
    'com.apple.ManagedClient.startup'
    'com.apple.locate'
    'com.apple.locationd'
    'com.apple.eapolcfg_auth'
    'com.apple.RemoteDesktop.PrivilegeProxy'
    'com.apple.mediaremoted')

    for daemon in "${TOENABLE[@]}"; do
    if [[ -e ./System/Library/LaunchDaemons/${daemon}.plist.bak && ! -e ./System/Library/LaunchDaemons/${daemon}.plist ]]; then
    if mv ./System/Library/LaunchDaemons/${daemon}.plist.bak ./System/Library/LaunchDaemons/${daemon}.plist; then
    echo "[OK] Daemon ${daemon} disabled"
    fi
    fi
    done
    # vim: set et fdm=manual fenc=utf-8 ff=unix ft=sh ft=sh sts=0 sw=4 ts=4 tw=0 nowrap :
  19. @pwnsdx pwnsdx revised this gist Oct 8, 2019. No changes.
  20. @pwnsdx pwnsdx revised this gist Sep 18, 2019. 1 changed file with 2 additions and 4 deletions.
    6 changes: 2 additions & 4 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -8,9 +8,7 @@
    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to disable
    # 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' will freeze Edit menus
    # 'com.apple.bird' will prevent saving prompt from being shown
    # Agents to enable
    TOENABLE=()

    # iCloud
    @@ -126,7 +124,7 @@ do
    echo "[OK] Agent ${agent} disabled"
    done

    # Daemons to disable
    # Daemons to enable
    TOENABLE=()

    # iCloud
  21. @pwnsdx pwnsdx revised this gist Sep 18, 2019. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion enable.sh
    Original file line number Diff line number Diff line change
    @@ -4,7 +4,6 @@
    # IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
    # This script needs to be run from the volume you wish to use.
    # E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/disable.sh
    # WARNING: It might disable things that you may not like. Please double check the services in the TOENABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents
  22. @pwnsdx pwnsdx revised this gist Sep 18, 2019. 2 changed files with 0 additions and 8 deletions.
    4 changes: 0 additions & 4 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -133,10 +133,6 @@ TODISABLE=()
    # iCloud
    TODISABLE+=('com.apple.analyticsd')

    # Ad-related
    TODISABLE+=('com.apple.ap.adprivacyd' \
    'com.apple.ap.adservicesd')

    # Others
    TODISABLE+=('com.apple.netbiosd' \
    'com.apple.preferences.timezone.admintool' \
    4 changes: 0 additions & 4 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -133,10 +133,6 @@ TOENABLE=()
    # iCloud
    TOENABLE+=('com.apple.analyticsd')

    # Ad-related
    TOENABLE+=('com.apple.ap.adprivacyd' \
    'com.apple.ap.adservicesd')

    # Others
    TOENABLE+=('com.apple.netbiosd' \
    'com.apple.preferences.timezone.admintool' \
  23. @pwnsdx pwnsdx revised this gist Sep 18, 2019. 2 changed files with 281 additions and 13 deletions.
    139 changes: 136 additions & 3 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -11,8 +11,115 @@

    # Agents to disable
    # 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' will freeze Edit menus
    # 'com.apple.quicklook.ui.helper' will prevent saving prompt
    TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')
    # 'com.apple.bird' will prevent saving prompt from being shown
    TODISABLE=()

    # iCloud
    TODISABLE+=('com.apple.security.cloudkeychainproxy3' \
    'com.apple.iCloudUserNotifications' \
    'com.apple.icloud.findmydeviced.findmydevice-user-agent' \
    'com.apple.icloud.fmfd' \
    'com.apple.icloud.searchpartyuseragent' \
    'com.apple.cloudd' \
    'com.apple.cloudpaird' \
    'com.apple.cloudphotod' \
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')

    # Safari useless stuff
    TODISABLE+=('com.apple.SafariBookmarksSyncAgent' \
    'com.apple.SafariCloudHistoryPushAgent' \
    'com.apple.WebKit.PluginAgent')

    # iMessage / Facetime
    TODISABLE+=('com.apple.imagent' \
    'com.apple.imautomatichistorydeletionagent' \
    'com.apple.imklaunchagent' \
    'com.apple.imtransferagent' \
    'com.apple.avconferenced')

    # Game Center / Passbook / Apple TV / Homekit...
    TODISABLE+=('com.apple.gamed' \
    'com.apple.passd' \
    'com.apple.Maps.pushdaemon' \
    'com.apple.videosubscriptionsd' \
    'com.apple.CommCenter-osx' \
    'com.apple.homed')

    # Ad-related
    TODISABLE+=('com.apple.ap.adprivacyd' \
    'com.apple.ap.adservicesd')

    # Screensharing
    TODISABLE+=('com.apple.screensharing.MessagesAgent' \
    'com.apple.screensharing.agent' \
    'com.apple.screensharing.menuextra')

    # Siri
    TODISABLE+=('com.apple.siriknowledged' \
    'com.apple.assistant_service' \
    'com.apple.assistantd' \
    'com.apple.Siri.agent' \
    'com.apple.parsec-fbf')

    # VoiceOver / accessibility-related stuff
    TODISABLE+=('com.apple.VoiceOver' \
    'com.apple.voicememod' \
    'com.apple.accessibility.AXVisualSupportAgent' \
    'com.apple.accessibility.dfrhud' \
    'com.apple.accessibility.heard')

    # Quicklook
    TODISABLE+=('com.apple.quicklook.ui.helper' \
    'com.apple.quicklook.ThumbnailsAgent' \
    'com.apple.quicklook')

    # Sidecar
    TODISABLE+=('com.apple.sidecar-hid-relay' \
    'com.apple.sidecar-relay')

    # Debugging process
    TODISABLE+=('com.apple.spindump_agent' \
    'com.apple.ReportCrash' \
    'com.apple.ReportGPURestart' \
    'com.apple.ReportPanic' \
    'com.apple.DiagnosticReportCleanup' \
    'com.apple.TrustEvaluationAgent')

    # Others
    TODISABLE+=('com.apple.telephonyutilities.callservicesd' \
    'com.apple.photoanalysisd' \
    'com.apple.parsecd' \
    'com.apple.AOSPushRelay' \
    'com.apple.AOSHeartbeat' \
    'com.apple.AirPlayUIAgent' \
    'com.apple.AirPortBaseStationAgent' \
    'com.apple.familycircled' \
    'com.apple.familycontrols.useragent' \
    'com.apple.familynotificationd' \
    'com.apple.findmymacmessenger' \
    'com.apple.sharingd' \
    'com.apple.identityservicesd' \
    'com.apple.java.InstallOnDemand' \
    'com.apple.parentalcontrols.check' \
    'com.apple.security.keychain-circle-notification' \
    'com.apple.syncdefaultsd' \
    'com.apple.appleseed.seedusaged' \
    'com.apple.appleseed.seedusaged.postinstall' \
    'com.apple.CallHistorySyncHelper' \
    'com.apple.RemoteDesktop' \
    'com.apple.CallHistoryPluginHelper' \
    'com.apple.SocialPushAgent' \
    'com.apple.touristd' \
    'com.apple.macos.studentd' \
    'com.apple.KeyboardAccessAgent' \
    'com.apple.exchange.exchangesyncd' \
    'com.apple.suggestd' \
    'com.apple.AddressBook.abd' \
    'com.apple.helpd' \
    'com.apple.amp.mediasharingd' \
    'com.apple.mediaanalysisd' \
    'com.apple.mediaremoteagent' \
    'com.apple.remindd')

    for agent in "${TODISABLE[@]}"
    do
    @@ -21,7 +128,33 @@ do
    done

    # Daemons to disable
    TODISABLE=('com.apple.netbiosd' 'com.apple.preferences.timezone.admintool' 'com.apple.remotepairtool' 'com.apple.security.FDERecoveryAgent' 'com.apple.icloud.findmydeviced' 'com.apple.icloud.searchpartyd' 'com.apple.familycontrols' 'com.apple.findmymac' 'com.apple.findmymacmessenger' 'com.apple.SubmitDiagInfo' 'com.apple.screensharing' 'com.apple.appleseed.fbahelperd' 'com.apple.apsd' 'com.apple.ManagedClient.cloudconfigurationd' 'com.apple.ManagedClient.enroll' 'com.apple.ManagedClient' 'com.apple.ManagedClient.startup' 'com.apple.locate' 'com.apple.locationd' 'com.apple.eapolcfg_auth' 'com.apple.RemoteDesktop.PrivilegeProxy' 'com.apple.mediaremoted' 'com.apple.analyticsd')
    TODISABLE=()

    # iCloud
    TODISABLE+=('com.apple.analyticsd')

    # Ad-related
    TODISABLE+=('com.apple.ap.adprivacyd' \
    'com.apple.ap.adservicesd')

    # Others
    TODISABLE+=('com.apple.netbiosd' \
    'com.apple.preferences.timezone.admintool' \
    'com.apple.remotepairtool' \
    'com.apple.security.FDERecoveryAgent' \
    'com.apple.SubmitDiagInfo' \
    'com.apple.screensharing' \
    'com.apple.appleseed.fbahelperd' \
    'com.apple.apsd' \
    'com.apple.ManagedClient.cloudconfigurationd' \
    'com.apple.ManagedClient.enroll' \
    'com.apple.ManagedClient' \
    'com.apple.ManagedClient.startup' \
    'com.apple.locate' \
    'com.apple.locationd' \
    'com.apple.eapolcfg_auth' \
    'com.apple.RemoteDesktop.PrivilegeProxy' \
    'com.apple.mediaremoted')

    for daemon in "${TODISABLE[@]}"
    do
    155 changes: 145 additions & 10 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -4,25 +4,160 @@
    # IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
    # This script needs to be run from the volume you wish to use.
    # E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/disable.sh
    # WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.
    # WARNING: It might disable things that you may not like. Please double check the services in the TOENABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to enable
    TOENABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')
    # Agents to disable
    # 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' will freeze Edit menus
    # 'com.apple.bird' will prevent saving prompt from being shown
    TOENABLE=()

    # iCloud
    TOENABLE+=('com.apple.security.cloudkeychainproxy3' \
    'com.apple.iCloudUserNotifications' \
    'com.apple.icloud.findmydeviced.findmydevice-user-agent' \
    'com.apple.icloud.fmfd' \
    'com.apple.icloud.searchpartyuseragent' \
    'com.apple.cloudd' \
    'com.apple.cloudpaird' \
    'com.apple.cloudphotod' \
    'com.apple.protectedcloudstorage.protectedcloudkeysyncing')

    # Safari useless stuff
    TOENABLE+=('com.apple.SafariBookmarksSyncAgent' \
    'com.apple.SafariCloudHistoryPushAgent' \
    'com.apple.WebKit.PluginAgent')

    # iMessage / Facetime
    TOENABLE+=('com.apple.imagent' \
    'com.apple.imautomatichistorydeletionagent' \
    'com.apple.imklaunchagent' \
    'com.apple.imtransferagent' \
    'com.apple.avconferenced')

    # Game Center / Passbook / Apple TV / Homekit...
    TOENABLE+=('com.apple.gamed' \
    'com.apple.passd' \
    'com.apple.Maps.pushdaemon' \
    'com.apple.videosubscriptionsd' \
    'com.apple.CommCenter-osx' \
    'com.apple.homed')

    # Ad-related
    TOENABLE+=('com.apple.ap.adprivacyd' \
    'com.apple.ap.adservicesd')

    # Screensharing
    TOENABLE+=('com.apple.screensharing.MessagesAgent' \
    'com.apple.screensharing.agent' \
    'com.apple.screensharing.menuextra')

    # Siri
    TOENABLE+=('com.apple.siriknowledged' \
    'com.apple.assistant_service' \
    'com.apple.assistantd' \
    'com.apple.Siri.agent' \
    'com.apple.parsec-fbf')

    # VoiceOver / accessibility-related stuff
    TOENABLE+=('com.apple.VoiceOver' \
    'com.apple.voicememod' \
    'com.apple.accessibility.AXVisualSupportAgent' \
    'com.apple.accessibility.dfrhud' \
    'com.apple.accessibility.heard')

    # Quicklook
    TOENABLE+=('com.apple.quicklook.ui.helper' \
    'com.apple.quicklook.ThumbnailsAgent' \
    'com.apple.quicklook')

    # Sidecar
    TOENABLE+=('com.apple.sidecar-hid-relay' \
    'com.apple.sidecar-relay')

    # Debugging process
    TOENABLE+=('com.apple.spindump_agent' \
    'com.apple.ReportCrash' \
    'com.apple.ReportGPURestart' \
    'com.apple.ReportPanic' \
    'com.apple.DiagnosticReportCleanup' \
    'com.apple.TrustEvaluationAgent')

    # Others
    TOENABLE+=('com.apple.telephonyutilities.callservicesd' \
    'com.apple.photoanalysisd' \
    'com.apple.parsecd' \
    'com.apple.AOSPushRelay' \
    'com.apple.AOSHeartbeat' \
    'com.apple.AirPlayUIAgent' \
    'com.apple.AirPortBaseStationAgent' \
    'com.apple.familycircled' \
    'com.apple.familycontrols.useragent' \
    'com.apple.familynotificationd' \
    'com.apple.findmymacmessenger' \
    'com.apple.sharingd' \
    'com.apple.identityservicesd' \
    'com.apple.java.InstallOnDemand' \
    'com.apple.parentalcontrols.check' \
    'com.apple.security.keychain-circle-notification' \
    'com.apple.syncdefaultsd' \
    'com.apple.appleseed.seedusaged' \
    'com.apple.appleseed.seedusaged.postinstall' \
    'com.apple.CallHistorySyncHelper' \
    'com.apple.RemoteDesktop' \
    'com.apple.CallHistoryPluginHelper' \
    'com.apple.SocialPushAgent' \
    'com.apple.touristd' \
    'com.apple.macos.studentd' \
    'com.apple.KeyboardAccessAgent' \
    'com.apple.exchange.exchangesyncd' \
    'com.apple.suggestd' \
    'com.apple.AddressBook.abd' \
    'com.apple.helpd' \
    'com.apple.amp.mediasharingd' \
    'com.apple.mediaanalysisd' \
    'com.apple.mediaremoteagent' \
    'com.apple.remindd')

    for agent in "${TOENABLE[@]}"
    do
    mv /System/Library/LaunchAgents/${agent}.plist.bak /System/Library/LaunchAgents/${agent}.plist
    echo "[OK] Agent ${agent} enabled"
    mv ./System/Library/LaunchAgents/${agent}.plist.bak ./System/Library/LaunchAgents/${agent}.plist
    echo "[OK] Agent ${agent} disabled"
    done

    # Daemons to enable
    TOENABLE=('com.apple.netbiosd' 'com.apple.preferences.timezone.admintool' 'com.apple.remotepairtool' 'com.apple.security.FDERecoveryAgent' 'com.apple.icloud.findmydeviced' 'com.apple.icloud.searchpartyd' 'com.apple.familycontrols' 'com.apple.findmymac' 'com.apple.findmymacmessenger' 'com.apple.SubmitDiagInfo' 'com.apple.screensharing' 'com.apple.appleseed.fbahelperd' 'com.apple.apsd' 'com.apple.ManagedClient.cloudconfigurationd' 'com.apple.ManagedClient.enroll' 'com.apple.ManagedClient' 'com.apple.ManagedClient.startup' 'com.apple.locate' 'com.apple.locationd' 'com.apple.eapolcfg_auth' 'com.apple.RemoteDesktop.PrivilegeProxy' 'com.apple.mediaremoted' 'com.apple.analyticsd')
    # Daemons to disable
    TOENABLE=()

    # iCloud
    TOENABLE+=('com.apple.analyticsd')

    # Ad-related
    TOENABLE+=('com.apple.ap.adprivacyd' \
    'com.apple.ap.adservicesd')

    # Others
    TOENABLE+=('com.apple.netbiosd' \
    'com.apple.preferences.timezone.admintool' \
    'com.apple.remotepairtool' \
    'com.apple.security.FDERecoveryAgent' \
    'com.apple.SubmitDiagInfo' \
    'com.apple.screensharing' \
    'com.apple.appleseed.fbahelperd' \
    'com.apple.apsd' \
    'com.apple.ManagedClient.cloudconfigurationd' \
    'com.apple.ManagedClient.enroll' \
    'com.apple.ManagedClient' \
    'com.apple.ManagedClient.startup' \
    'com.apple.locate' \
    'com.apple.locationd' \
    'com.apple.eapolcfg_auth' \
    'com.apple.RemoteDesktop.PrivilegeProxy' \
    'com.apple.mediaremoted')

    for daemon in "${TOENABLE[@]}"
    do
    mv /System/Library/LaunchDaemons/${daemon}.plist.bak /System/Library/LaunchDaemons/${daemon}.plist
    echo "[OK] Daemon ${daemon} enabled"
    done
    mv ./System/Library/LaunchDaemons/${daemon}.plist.bak ./System/Library/LaunchDaemons/${daemon}.plist
    echo "[OK] Daemon ${daemon} disabled"
    done
  24. @pwnsdx pwnsdx revised this gist Sep 18, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion disable.sh
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@
    # Agents to disable
    # 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' will freeze Edit menus
    # 'com.apple.quicklook.ui.helper' will prevent saving prompt
    TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')
    TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')

    for agent in "${TODISABLE[@]}"
    do
  25. @pwnsdx pwnsdx revised this gist Sep 18, 2019. 2 changed files with 9 additions and 5 deletions.
    9 changes: 6 additions & 3 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -1,15 +1,18 @@
    #!/bin/bash

    # IMPORTANT: Don't forget to logout from your Apple ID in the settings before running it!
    # IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
    # This script needs to be run from the volume you wish to use it.
    # This script needs to be run from the volume you wish to use.
    # E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/disable.sh
    # WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to disable
    TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')
    # 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' will freeze Edit menus
    # 'com.apple.quicklook.ui.helper' will prevent saving prompt
    TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')

    for agent in "${TODISABLE[@]}"
    do
    @@ -24,4 +27,4 @@ for daemon in "${TODISABLE[@]}"
    do
    mv ./System/Library/LaunchDaemons/${daemon}.plist ./System/Library/LaunchDaemons/${daemon}.plist.bak
    echo "[OK] Daemon ${daemon} disabled"
    done
    done
    5 changes: 3 additions & 2 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,9 @@
    #!/bin/bash

    # IMPORTANT: Don't forget to logout from your Apple ID in the settings before running it!
    # IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
    # This script needs to be run from the volume you wish to use it.
    # E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/enable.sh
    # This script needs to be run from the volume you wish to use.
    # E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/disable.sh
    # WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
  26. @pwnsdx pwnsdx revised this gist Sep 18, 2019. 2 changed files with 2 additions and 2 deletions.
    2 changes: 1 addition & 1 deletion disable.sh
    Original file line number Diff line number Diff line change
    @@ -9,7 +9,7 @@
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to disable
    TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')
    TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')

    for agent in "${TODISABLE[@]}"
    do
    2 changes: 1 addition & 1 deletion enable.sh
    Original file line number Diff line number Diff line change
    @@ -9,7 +9,7 @@
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to enable
    TOENABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')
    TOENABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')

    for agent in "${TOENABLE[@]}"
    do
  27. @pwnsdx pwnsdx revised this gist Sep 16, 2019. 2 changed files with 13 additions and 25 deletions.
    18 changes: 6 additions & 12 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -1,21 +1,19 @@
    #!/bin/bash

    # IMPORTANT: You will need to disable SIP aka Rootless in order to fully execute this script, you can reenable it after.
    # IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
    # This script needs to be run from the volume you wish to use it.
    # E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/disable.sh
    # WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to disable
    TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.java.InstallOnDemand' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')
    TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')

    for agent in "${TODISABLE[@]}"
    do
    {
    sudo launchctl unload -w /System/Library/LaunchAgents/${agent}.plist
    launchctl unload -w /System/Library/LaunchAgents/${agent}.plist
    } &> /dev/null
    sudo mv /System/Library/LaunchAgents/${agent}.plist /System/Library/LaunchAgents/${agent}.plist.bak
    mv ./System/Library/LaunchAgents/${agent}.plist ./System/Library/LaunchAgents/${agent}.plist.bak
    echo "[OK] Agent ${agent} disabled"
    done

    @@ -24,10 +22,6 @@ TODISABLE=('com.apple.netbiosd' 'com.apple.preferences.timezone.admintool' 'com.

    for daemon in "${TODISABLE[@]}"
    do
    {
    sudo launchctl unload -w /System/Library/LaunchDaemons/${daemon}.plist
    launchctl unload -w /System/Library/LaunchDaemons/${daemon}.plist
    } &> /dev/null
    sudo mv /System/Library/LaunchDaemons/${daemon}.plist /System/Library/LaunchDaemons/${daemon}.plist.bak
    mv ./System/Library/LaunchDaemons/${daemon}.plist ./System/Library/LaunchDaemons/${daemon}.plist.bak
    echo "[OK] Daemon ${daemon} disabled"
    done
    20 changes: 7 additions & 13 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -1,21 +1,19 @@
    #!/bin/bash

    # IMPORTANT: You will need to disable SIP aka Rootless in order to fully execute this script, you can reenable it after.
    # WARNING: It might enable things that you may not like. Please double check the services in the TOENABLE vars.
    # IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
    # This script needs to be run from the volume you wish to use it.
    # E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/enable.sh
    # WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to enable
    TOENABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.java.InstallOnDemand' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')
    TOENABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')

    for agent in "${TOENABLE[@]}"
    do
    {
    sudo launchctl load -w /System/Library/LaunchAgents/${agent}.plist
    launchctl load -w /System/Library/LaunchAgents/${agent}.plist
    } &> /dev/null
    sudo mv /System/Library/LaunchAgents/${agent}.plist.bak /System/Library/LaunchAgents/${agent}.plist
    mv /System/Library/LaunchAgents/${agent}.plist.bak /System/Library/LaunchAgents/${agent}.plist
    echo "[OK] Agent ${agent} enabled"
    done

    @@ -24,10 +22,6 @@ TOENABLE=('com.apple.netbiosd' 'com.apple.preferences.timezone.admintool' 'com.a

    for daemon in "${TOENABLE[@]}"
    do
    {
    sudo launchctl load -w /System/Library/LaunchDaemons/${daemon}.plist
    launchctl load -w /System/Library/LaunchDaemons/${daemon}.plist
    } &> /dev/null
    sudo mv /System/Library/LaunchDaemons/${daemon}.plist.bak /System/Library/LaunchDaemons/${daemon}.plist
    mv /System/Library/LaunchDaemons/${daemon}.plist.bak /System/Library/LaunchDaemons/${daemon}.plist
    echo "[OK] Daemon ${daemon} enabled"
    done
  28. @pwnsdx pwnsdx created this gist Sep 16, 2019.
    33 changes: 33 additions & 0 deletions disable.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,33 @@
    #!/bin/bash

    # IMPORTANT: You will need to disable SIP aka Rootless in order to fully execute this script, you can reenable it after.
    # WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to disable
    TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.java.InstallOnDemand' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')

    for agent in "${TODISABLE[@]}"
    do
    {
    sudo launchctl unload -w /System/Library/LaunchAgents/${agent}.plist
    launchctl unload -w /System/Library/LaunchAgents/${agent}.plist
    } &> /dev/null
    sudo mv /System/Library/LaunchAgents/${agent}.plist /System/Library/LaunchAgents/${agent}.plist.bak
    echo "[OK] Agent ${agent} disabled"
    done

    # Daemons to disable
    TODISABLE=('com.apple.netbiosd' 'com.apple.preferences.timezone.admintool' 'com.apple.remotepairtool' 'com.apple.security.FDERecoveryAgent' 'com.apple.icloud.findmydeviced' 'com.apple.icloud.searchpartyd' 'com.apple.familycontrols' 'com.apple.findmymac' 'com.apple.findmymacmessenger' 'com.apple.SubmitDiagInfo' 'com.apple.screensharing' 'com.apple.appleseed.fbahelperd' 'com.apple.apsd' 'com.apple.ManagedClient.cloudconfigurationd' 'com.apple.ManagedClient.enroll' 'com.apple.ManagedClient' 'com.apple.ManagedClient.startup' 'com.apple.locate' 'com.apple.locationd' 'com.apple.eapolcfg_auth' 'com.apple.RemoteDesktop.PrivilegeProxy' 'com.apple.mediaremoted' 'com.apple.analyticsd')

    for daemon in "${TODISABLE[@]}"
    do
    {
    sudo launchctl unload -w /System/Library/LaunchDaemons/${daemon}.plist
    launchctl unload -w /System/Library/LaunchDaemons/${daemon}.plist
    } &> /dev/null
    sudo mv /System/Library/LaunchDaemons/${daemon}.plist /System/Library/LaunchDaemons/${daemon}.plist.bak
    echo "[OK] Daemon ${daemon} disabled"
    done
    33 changes: 33 additions & 0 deletions enable.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,33 @@
    #!/bin/bash

    # IMPORTANT: You will need to disable SIP aka Rootless in order to fully execute this script, you can reenable it after.
    # WARNING: It might enable things that you may not like. Please double check the services in the TOENABLE vars.

    # Get active services: launchctl list | grep -v "\-\t0"
    # Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents

    # Agents to enable
    TOENABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.java.InstallOnDemand' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')

    for agent in "${TOENABLE[@]}"
    do
    {
    sudo launchctl load -w /System/Library/LaunchAgents/${agent}.plist
    launchctl load -w /System/Library/LaunchAgents/${agent}.plist
    } &> /dev/null
    sudo mv /System/Library/LaunchAgents/${agent}.plist.bak /System/Library/LaunchAgents/${agent}.plist
    echo "[OK] Agent ${agent} enabled"
    done

    # Daemons to enable
    TOENABLE=('com.apple.netbiosd' 'com.apple.preferences.timezone.admintool' 'com.apple.remotepairtool' 'com.apple.security.FDERecoveryAgent' 'com.apple.icloud.findmydeviced' 'com.apple.icloud.searchpartyd' 'com.apple.familycontrols' 'com.apple.findmymac' 'com.apple.findmymacmessenger' 'com.apple.SubmitDiagInfo' 'com.apple.screensharing' 'com.apple.appleseed.fbahelperd' 'com.apple.apsd' 'com.apple.ManagedClient.cloudconfigurationd' 'com.apple.ManagedClient.enroll' 'com.apple.ManagedClient' 'com.apple.ManagedClient.startup' 'com.apple.locate' 'com.apple.locationd' 'com.apple.eapolcfg_auth' 'com.apple.RemoteDesktop.PrivilegeProxy' 'com.apple.mediaremoted' 'com.apple.analyticsd')

    for daemon in "${TOENABLE[@]}"
    do
    {
    sudo launchctl load -w /System/Library/LaunchDaemons/${daemon}.plist
    launchctl load -w /System/Library/LaunchDaemons/${daemon}.plist
    } &> /dev/null
    sudo mv /System/Library/LaunchDaemons/${daemon}.plist.bak /System/Library/LaunchDaemons/${daemon}.plist
    echo "[OK] Daemon ${daemon} enabled"
    done