Site Blocker

Creator · 2026 · 4 min read

A Chrome extension that blocks sites for a duration you pick, where nothing in the popup can lift a block early.

Overview

A Manifest V3 extension that turns a list of domains into declarativeNetRequest rules, each carrying its own expiry. Durations are eight hours, one day, one week, a date and time you pick, or always. The popup has no unblock control: timed entries expire on their own, permanent entries stay, and re-blocking a host can only extend it.

Site Blocker: block sites on a timer, or for good

Site Blocker blocks the sites you choose, for as long as you choose. Add a domain, pick a duration, and the block lifts itself when the time is up.

The durations are eight hours, one day, one week, a date and time you pick, or always. Nothing in the popup unblocks anything: an entry with an expiry lifts itself when it reaches it, an Always entry stays, and re-blocking a host can only ever extend it.

The Site Blocker popup: a text field with a reddit.com placeholder, a duration dropdown set to Always, a Block button, and one entry reading SITE.COM, always, Locked

Blocking uses declarativeNetRequest, so rules run inside the browser’s own network stack and the extension is never handed the requests it does not block. Rules apply to main_frame requests only, so blocking a domain does not break an embed or an API call on some other site.

Lifting a block early means disabling the extension at chrome://extensions, which lifts all of them at once. That is friction rather than a lock, and it is meant to be.

The source is at github.com/danieljohnmorris/site-blocker.