Last active
August 10, 2022 04:50
-
-
Save monomadic/c48271fd1a2cdc09c24a676588c8ecfe to your computer and use it in GitHub Desktop.
Forked from another file and documented, each entry on a new line to provide easy commenting / disabling of lines.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# PRO TIP: Don't disable shit until you know exactly what it does. Remember that disabling doesn't kill the process, so most tweaks you need to reboot to fully see effects. | |
# MINI TUTORIAL ON LAUNCHCTL | |
# List all jobs in system: | |
# launchctl list | |
# first column is the process id, or - if the job is not loaded. second is exit code. | |
# Count all jobs in system: | |
# launchctl list | wc -l | |
# Don't kill tasks with kill -9. They will only be ressurected under a new PID and leak memory. Use: | |
# launchctl stop com.example.app | |
# To permanently disable a job: | |
# launchctl unload -w <task> | |
# for more info, launchctl help | |
# when you know what you're doing, disable System Integrity Protection so you can actually get some power back. But re-enable it when you're done. | |
# Finding out what a service does. | |
# try googling the name or its man page. | |
# This link is also good https://vilimpoc.org/blog/2014/01/15/provisioning-os-x-and-disabling-unnecessary-services/ | |
# More info on launchd: http://www.launchd.info/ | |
# https://github.com/fix-macosx/yosemite-phone-home | |
# get rid of some garbage unwanted network services: | |
sudo launchctl disable system/netbiosd # you'll need this if you want to snoop on network shares though. | |
sudo launchctl disable system/parsecd # location suggestions for siri, spotlight + messages suggestions, safari lookup | |
sudo launchctl disable system/parentalcontrols.check # parental controls (see the prefs page, it's shit) | |
sudo launchctl disable system/airportd # this appears to be for talking to airport basestations... could also include other stuff? experiment. | |
sudo launchctl disable system/rtcreportingd # itunes home sharing and other junk. | |
# ======= AGENTS | |
# photos.app stuff | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.photoanalysisd.plist # the devil itself. image recognition that slowly eats away at your cpu and your soul. | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.cloudphotosd.plist # background uploading of photos. | |
# telephony.... this may cause 100% cpu issues if SIP is not disabled (reboot into safe mode, csrutil disable) | |
# used for facetime and handover with calls/sms. garbage. | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.telephonyutilities.callservicesd.plist | |
# airplay - you can always load it if you end up needing it | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.AirPlayUIAgent.plist | |
# airport basestation client - you don't need it if you don't run an airport base station. | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.AirPortBaseStationAgent.plist | |
# calendar agent... calendar still seems to work fine with this off (EXPERIMENTAL) | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.CalendarAgent.plist | |
# icloud... I do use this so it's on. | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.icloud.fmfd.plist # find my friends daemon | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.cloudd.plist # cloudkit. not needed for syncing. | |
# dictation | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.DictationIM.plist | |
# assistant service | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.assistant_service.plist # siri... I hate you siri. | |
# iChat / messages.app stuff... if you don't use it, disable it... surprisingly the app still works but you won't get updates if it's closed. | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.soagent.plist | |
# seedusage daemon - used by feedback assistant. | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.appleseed.seedusaged.plist | |
# AOSPushRelay rapes your privacy. | |
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.AOSPushRelay.plist | |
# ======= DAEMONS | |
# cough... submit diagnostics... cough | |
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.SubmitDiagInfo.plist | |
# notifications... bye... | |
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.AOSNotificationOSX.plist | |
# Agents to disable | |
# 'com.apple.DictationIM' 'com.apple.iCloudUserNotifications' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.gamed' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.imagent' 'com.apple.cloudfamilyrestrictionsd-mac' 'com.apple.cloudpaird' '' 'com.apple.DictationIM' 'com.apple.assistant_service' 'com.apple.CallHistorySyncHelper' 'com.apple.CallHistoryPluginHelper' '' 'com.apple.IMLoggingAgent' 'com.apple.geodMachServiceBridge' 'com.apple.syncdefaultsd' 'com.apple.security.cloudkeychainproxy3' 'com.apple.security.idskeychainsyncingproxy' 'com.apple.security.keychain-circle-notification' 'com.apple.sharingd' 'com.apple.appleseed.seedusaged' '' 'com.apple.assistantd' 'com.apple.parentalcontrols.check' 'com.apple.parsecd' 'com.apple.identityservicesd') | |
# Daemons to disable | |
# TODISABLE=('com.apple.netbiosd' 'com.apple.preferences.timezone.admintool' 'com.apple.preferences.timezone.auto' 'com.apple.remotepairtool' 'com.apple.rpmuxd' 'com.apple.security.FDERecoveryAgent' 'com.apple.icloud.findmydeviced' 'com.apple.findmymacmessenger' 'com.apple.familycontrols' 'com.apple.findmymac' 'com.apple.AirPlayXPCHelper' 'com.apple.SubmitDiagInfo' 'com.apple.screensharing' 'com.apple.appleseed.fbahelperd' 'com.apple.apsd' 'com.apple.AOSNotificationOSX' 'com.apple.FileSyncAgent.sshd' 'com.apple.ManagedClient.cloudconfigurationd' 'com.apple.ManagedClient.enroll' 'com.apple.ManagedClient' 'com.apple.ManagedClient.startup' 'com.apple.iCloudStats' 'com.apple.locationd' 'com.apple.mbicloudsetupd' 'com.apple.laterscheduler' 'com.apple.awacsd' 'com.apple.eapolcfg_auth' 'com.apple.familycontrols') | |
# sip disabled: | |
# launchctl unload -w /System/Library/LaunchAgents/com.apple.security.idskeychainsyncingproxy.plist | |
# /System/Library/LaunchAgents/com.apple.geodMachServiceBridge.plist: Operation not permitted while System Integrity Protection is engaged | |
# /System/Library/LaunchAgents/com.apple.security.idskeychainsyncingproxy.plist: Operation not permitted while System Integrity Protection is engaged | |
# /System/Library/LaunchAgents/com.apple.security.keychain-circle-notification.plist: Operation not permitted while System Integrity Protection is engaged |
Why did you comment out so many Daemons in line 87/88?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I love it, thanks for the description :D