cmd / adblock
To improve speed, privacy, and safety on my laptop, I block ads, trackers, and malicious websites at the DNS host level:
adblock
Unlike browser extension ad blockers, it works on all apps on my device (not only web browsers).
Unlike DNS sinkholes like Pi-hole, it only works on my laptop (not phones or tablets on the network) but it does not require an additional always-on device such as a Raspberry Pi and it works reliably when using the laptop away from home.
To disable and re-enable it:
adblock undo
adblock
Script:
#!/bin/bash
#
# https://github.com/croaky/laptop/blob/main/bin/adblock
set -euo pipefail
if [[ "$1" == "undo" ]]; then
echo -e '127.0.0.1\tlocalhost\n# MacOS default\n255.255.255.255\tbroadcasthost' | sudo tee /etc/hosts > /dev/null
else
# Creative Commons Attribution-NonCommercial-ShareAlike
curl -s https://winhelp2002.mvps.org/hosts.txt > /tmp/adblock
# Re-write Windows to Unix line endings
tr -d '\r' < /tmp/adblock > /tmp/etchosts
# Restore macOS system defaults
echo -e '# MacOS default\n255.255.255.255\tbroadcasthost' >> /tmp/etchosts
# Apply to /etc/hosts
sudo mv /tmp/etchosts /etc/hosts
fi
# Flush DNS cache
sudo killall -HUP mDNSResponder