Loads adblock filter lists in EasyList/EasyPrivacy syntax from a file path or http(s) URL. Repeatable, so several files or URLs combine into one engine. Malformed filter lines are skipped; sources load once at startup, and if any source cannot be fetched the process exits and names the failing source.

The engine does two things during a render. It cancels network requests that match a blocking rule, across every resource type, and it hides matching page elements by injecting display:none CSS plus the list’s scriptlets after the page loads. A rule that matches the target page itself blocks the render before any connection.

Adblock is additive. It only ever cancels a request — it never grants one — so an adblock exception (@@) rule cannot override an IP block or bypass robots.txt; those decisions are made independently and take precedence.

Cosmetic hiding applies to elements present when the page finishes loading. Elements added to the DOM afterward are not re-evaluated, and generic (non-host-scoped) cosmetic rules are not applied.

To refresh the lists on a running server without a restart, use --server-update-adblock-interval.