TL;DR: use OpenDNS, StevenBlack/hosts, LeechBlockNG to stop yourself from wasting time online.


I’m a sucker for distractions. Before switching to Linux, I was using FocusMe and Cold Turkey to block distractions. They’re amazing for they could completely take control of my machine: I’d not been able to circumvent the block and go on YouTube or even launch mpv.


Given I’d switched to Linux, it’s impossible to do so, so I had to resort to the following tools.

3 Tools

Note: It’s impossible to completely stop yourself from visiting any addictive sites, since we’re on Linux: you always know ways to bypass the restrictions you set for yourself. My goal is that they put enough friction to discourage my future hotheaded self:

“Between stimulus and response there is a space. In that space is our power to choose our response. In our response lies our growth and our freedom.” - Viktor Frankl

Getting Started

1. OpenDNS

Either set up OpenDNS at a network level or desktop/laptop level:

Network: my router is ASUS RT AC68U – OpenDNS and it allows for adding DNS Servers.

desktop/laptop: I’m on EndeavourOS and the setup is the same as Ubuntu - OpenDNS Device Configuration.

Once the setup is done I give the password to someone I trust, so it’s impossible for me to change the settings. You may Forgot password? so I also set the email to someone else’s.

2. StevenBlack/hosts

With root privilege, appending the host file list to /etc/hosts. It has the added benefits of blocking adware and malware.

3. LeechBlockNG

I use this Firefox addon LeechBlockNG to block distracting sites. When the blocking condition is met, visiting about:addons will get redirected to new tab so I can’t even disable this addon.


There are many ways to bypass each measure, but in combination, they dramatically reduce my time wasted on distractions.