Elyra
Elyra The coding agent eTerm The terminal that knows where each command ends Starf An activity monitor for Apple silicon that never invents a number Litr A small, native web browser for macOS e The native code editor Elyra Grove Native local development environment Askr The real server for Laravel & PHP Elyra Framework Rust + Svelte 5 framework for desktop apps Elyra Conductor Local project conductor Elyra SQL Server MySQL-compatible SQL server in Rust Elyra Félagi Agents as teammates on one board Elyra SQL Client Native desktop SQL workbench Elyra SQL Anywhere Replication-ready SQL engine Elyra Sjá SEO & GEO workspace for macOS Elyra DataGrid Server-driven data grid for Laravel
Release notes
Changelog
Elyra
Ad blocking

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:

  1. removes ad data from the player's responses before the player sees it,
  2. hides ad slots, promotions and YouTube's "ad blockers are not allowed" dialog,
  3. 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.