How to block websites on Mac
I always need to block several websites on my Mac as part of my setup, and I’ve been using apps like SelfControl . I was recently curious about how it works, and after looking at the code implementation , I discovered it’s surprisingly simple.
SelfControl basically modifies the /etc/hosts
file by adding entries that redirect blocked websites to non-routable addresses for a specific time period. But if you don’t need the time-based blocking, you can do this yourself by adding the domains along with their www variants:
0.0.0.0 tiktok.com
0.0.0.0 www.tiktok.com
::1 tiktok.com
::1 www.tiktok.com
0.0.0.0 twitter.com
0.0.0.0 www.twitter.com
::1 twitter.com
::1 www.twitter.com
0.0.0.0 x.com
0.0.0.0 www.x.com
::1 x.com
::1 www.x.com
This works because all domains you define will be redirected to non-routable addresses. The 0.0.0.0
is a non-routable address that effectively blocks the domain, while ::1
is the IPv6 loopback address that does the same for IPv6 traffic.
The websites will remain blocked until you manually remove them from the list. This method also won’t work if you access websites through Safari with active iCloud Private Relay .