awdlkiller
awdlkiller copied to clipboard
Disables macOS AWDL the moment it starts!
awdlkiller
This app monitors for the macOS awdl0 interface and instantly put that interface down the very moment it is detected up. awdl0 is often the cause of ping spikes in macOS.
When this app is running, all macOS that depends on AWDL such as some Handoff and Continuity features (e.g. Universal Control, AirPlay, etc.) as well as AirDrop will not work.
Installation (Automatic)
Run the included installer.py in the misc folder. The installer will do the following:
- Copy the
awdlkillerto/usr/local/bin, setting it to be owned byroot:wheel, and assigns setuid flag to it. - Copy the
jamestut.awdlkiller.plistto/Library/LaunchDaemonsand activate automatic start. - Copy the
manager.pyto/usr/local/bin/awdl, and setting it to be owned byroot:wheel.
Note
- Both the installer and the manager script requires Python 3. Install Python 3 using
xcode-select --install. - The installer cannot do uninstallation at the moment. You have to reverse the above steps manually to uninstall.
Installation (Manual)
-
Copy the binary to
/usr/local/bin(or any other preferred path). -
Make the binary executable (
sudo chmod +x awdlkiller). -
This app requires root.
- Set the binary ownership to
root(sudo chown root awdlkiller). - Set the setuid bit (
sudo chmod u+s awdlkiller).
- Set the binary ownership to
-
Copy
jamestut.awdlkiller.plistto/Library/LaunchDaemons.- If the path of
awdlkilleris not in/usr/local/bin, please adjust contents of this plist accordingly. - Ensure that the
/Library/LaunchDaemons/jamestut.awdlkiller.plistis owned byroot:wheeland has the permission of0644.
- If the path of
-
(Optional) Copy
manager.pyto your$PATHfor easy management. This file can be renamed to anything.- Note that
python3is required. Install macOS' built-in Python using thexcode-select --installcommand.
- Note that
To set the service to start automatically, run:
sudo launchctl load -w /Library/LaunchDaemons/jamestut.awdlkiller.plist
Replace load with unload to disable the service.
The included manager.py script provides an easy way to enable and disable the awdlkiller. It does so via launchctl.