Ad blocking
Litr blocks ads and trackers on every site, YouTube included. It is on by default.
To turn it off or on, open settings (⌘,) and change Block ads. Open pages reload so the change applies to them.
What is blocked
- Ad and tracking requests. Scripts, images, frames and beacons from ad networks and trackers are never downloaded. Examples are Google AdSense and DoubleClick, Amazon ads, Criteo, Taboola, Outbrain, Google Analytics, Google Tag Manager, the Facebook pixel and Hotjar.
- Ad placeholders. Empty ad boxes left on the page are hidden.
- YouTube ads (see below).
The rules come from EasyList (ads) and EasyPrivacy (trackers), about 117,000 of them. They are converted to WebKit's content blocker format and built into Litr, so they update when Litr does.
Blocking happens inside WebKit before anything is fetched, which makes pages lighter and faster rather than slower.
YouTube
YouTube serves its ads from the same servers as its videos, so blocking by address doesn't work there. On YouTube pages, and on YouTube players embedded in other sites, Litr runs a small script that:
- removes ad data from the player's responses before the player sees it,
- hides ad slots, promotions and YouTube's "ad blockers are not allowed" dialog,
- mutes and skips any ad that still starts, then turns the sound back on.
YouTube changes its site often. If ads come back after a YouTube change, the script needs an update in a new Litr release.
Privacy
Litr never downloads filter lists or reports what it blocks to anyone. The rules ship with the app and blocking happens on your Mac.
To see what was blocked, open the privacy report: the shield in the address bar, or View → Privacy Report.
How it works
WebKit compiles the rules into bytecode that every page process reads straight
from disk, so blocking costs little memory. Compiling about 117,000 rules takes
a few seconds and a lot of memory once. Litr therefore compiles them in a
short-lived helper process, started with litr --compile-blocklist, which
exits when it is done.
The compiled rules (about 47 MB) are kept in
~/Library/Application Support/Litr/ContentRules. Litr and all its web apps
share them, and they are compiled again only when the rules change.
On the very first launch, and after an update with new rules, pages opened during those few seconds load without blocking. They reload automatically when the rules are ready.
When a site breaks
Ad blockers occasionally break a site: a video that won't play, or a missing comment section or login. Turn Block ads off, reload the site, and turn blocking back on when you are done. Per-site exceptions are not available yet.
Licence
EasyList and EasyPrivacy are by the EasyList authors and dual licensed under
GPLv3 and CC BY-SA 3.0. The converted rules in Litr carry the same licence; see
resources/blocklist-LICENSE.txt.