Cold Turkey is usually the first name that comes up when people ask about website blockers, and on Windows or macOS it’s a reasonable place to start. There is no Linux version. Its guide says that supporting two platforms is hard enough already, and that one may come in the future but not right now, so anyone on Linux has to look elsewhere.
Most lists of alternatives compare features, and on features alone a few Linux tools come close. Blocking a domain isn’t hard, and neither is killing a process on a schedule. What sets Cold Turkey apart is what happens once a block is locked: the uninstaller refuses to run, and task managers and clock changes can be blocked as well. The lock can be released by a timer, a schedule, a restart or a long string of random text. It’s meant to hold against the one person a blocker has to worry about, which is whoever installed it.
That is the difficult part to reproduce on Linux. The blocking itself needs root, and the person using the machine usually has root through sudo, so anything a blocker sets up can be taken down from a terminal. The desktop is also less uniform than on the other two platforms. There’s no single way to control browsers, and on Wayland no common way even to ask which window has focus, so each desktop has to be handled separately. Linux tools tend to settle on doing less, or on assuming that you won’t try very hard to get around them. For many people that’s fine.
The options
LeechBlock NG is a browser extension for Firefox and Chrome, with schedules, time limits and delay pages. For rules about the sites themselves it’s the closest thing to Cold Turkey, but its reach ends at the browser it’s installed in, and it can be removed from the add-ons page.
DigitalZen is the nearest in form: a closed-source desktop app with a GUI and a free tier, which blocks applications and uses a browser extension for sites. If what you liked about Cold Turkey was having one app to manage everything, this is probably where to look. It leans less on keeping you from turning it off.
Open Turkey is an open-source blocker in Go, inspired by Cold Turkey as the name suggests. It runs as a systemd service and combines several methods, including iptables.
Plucky is free and closed source, and it’s set up from the terminal. Rule changes take effect after a delay, which is a sensible answer to the same problem: you can still loosen a rule, but not in the moment you want to. I tried it some time ago and it didn’t fit my setup.
Freedom is available on Linux only as a Chrome extension, so it doesn’t apply outside that browser.
I built glocker because none of these held up for me, and I should say that it’s a different kind of tool rather than a port. It deals with the root problem by removing it: during the hours I choose, my sudo is reduced to a short list of harmless commands, so the service, the hosts file and the uninstaller are all out of reach. It can also email an accountability partner if the machine stops reporting. Rules are set in a terminal rather than a GUI, there are no path-level rules and nothing like Cold Turkey’s allowances or Pomodoro breaks, and DNS-over-HTTPS can still get around it in some browsers. The technical notes go through those gaps.
The part I’ve come to use most is glockpeek, the dashboard that comes with it. Glocker records violations, unblocks and the focused window on X11, GNOME, KDE and Hyprland, and glockpeek reads that back: a calendar of clean days and violations, an hour-by-day map of when I’m most likely to slip, and time per application, which can be tagged along separate axes so that the same hours can be split by category, by project or into deep and shallow work. Its insights page turns this into suggestions, such as tightening the rules around a word I keep searching for or an app I keep opening during work hours. Blocking without this data means guessing, and I’ve changed my configuration more than once because of what it showed.
All of it is open source under the AGPL, including the agent, the dashboard and the encryption, and you can run the dashboard yourself for free. It’s also actively maintained, and I use it every day. The early response has been good: someone recently tried it on Bazzite, a distribution I’d never used, and ran into problems. I added support for ostree-based systems and KDE and put out a release about two days later.
Choosing between them
It comes down to what you wanted from Cold Turkey. For flexible rules on a handful of sites, LeechBlock is enough. For a single app with a GUI, there’s DigitalZen. If you’ve already found that you switch these tools off when it matters, you’ll want something that makes that difficult, and you’ll have to accept a rougher setup to get it.
Blocking websites on Linux covers the wider set of options, including DNS filters and accountability software.
glocker