Skip to content

Chrome extension · unpublished dev build · v1.0.0

Poke Shield

A privacy-focused blocker for your browsing. It stops ads, trackers, and telemetry, keeps your links clean of tracking parameters, and hides the annoyances. Install it as an unpacked extension in Chrome or Chromium.

Manifest V3 only

declarativeNetRequest, no deprecated webRequestBlocking

Zero telemetry

The extension never phones home

100% local

Settings and stats stay in your browser

What it blocks

Protection that stays out of your way

Each protection is a modular declarativeNetRequest ruleset or content script you can toggle on and off from the popup or the settings page, under a single master switch.

Tracker blocker

Blocks cross-site trackers, fingerprinters, and session recording with a declarativeNetRequest ruleset.

Ad blocker

Stops ad servers, ad networks, and ad exchanges before they load on any page.

Telemetry & pixels

Blocks Google Analytics, Google Tag Manager, Meta/Facebook Pixel, TikTok Pixel, Criteo, Hotjar, Mixpanel, Segment, Sentry tracing, and more.

URL cleaner

Strips utm_*, fbclid, gclid, mc_eid, igshid, dclid, msclkid, ttclid, twclid, _ga and similar, while keeping functional parameters.

Cosmetic filtering

Hides ad containers, ad slots, sponsored posts, cookie banners, and anti-adblock overlays, and collapses empty ad boxes left behind after blocking.

YouTube protection

Main-world sanitizer strips ad fields from player responses before playback, plus cosmetic hiding of sponsored and ad modules and a guarded skip fallback.

Local only

No remote code, no telemetry, no browsing-history collection. Everything runs and stays on your device.

Changelog

Fixed after user testing

Empty ad boxes are now collapsed

Blocked ads used to leave empty grey placeholders behind. Cosmetic filtering now hides ad containers, ad slots, and Google Ads placeholders, and a MutationObserver collapses newly inserted empty ad slots and wrappers after network blocking, so pages no longer show blank boxes.

Reworked YouTube protection

Replaced fast-forwarding and DOM-only skipping with an early page-context sanitizer that strips ad fields from YouTube player responses before playback, plus clean cosmetic hiding of sponsored and ad modules and a guarded skip fallback. It's best-effort and degrades gracefully. See the YouTube protection section below for how it works and its limits.

YouTube protection

Ad data is stripped before playback starts

YouTube ad handling is best-effort and inspired by uBlock Origin / uBOL / Brave scriptlet concepts. It never claims to guarantee bypass or evasion, and it collects no data.

1. Early sanitization

A MAIN-world script at document_start removes adPlacements, playerAds, adSlots, and adBreakParams from ytInitialPlayerResponse, and wraps JSON.parse, fetch, and XMLHttpRequest so /youtubei/v1/player responses are sanitized before the player consumes them. Video data is preserved untouched.

2. Cosmetic hiding

A MutationObserver hides sponsored banner cards, video overlays, home-feed promo shelves, sidebar and in-feed ad modules (ytd-promoted-video-renderer, ytd-ad-slot-renderer, .ytp-ad-module, .ytp-ad-overlay-container), handling SPA navigation and dynamic DOM.

3. Network rules

A declarativeNetRequest ruleset blocks dedicated YouTube ad and telemetry endpoints like /api/stats/ads, /api/stats/qoe, /ptracking, /pagead, and /youtubei/v1/log_event, never the video player data itself.

Limitations. YouTube changes its markup and API frequently, and browser extension APIs and site policies can limit what is possible. The wrappers fail safe (original data is returned if anything throws) and never auto-fast-forward or tamper with audio. If YouTube changes, some or all of this may stop working; the extension degrades gracefully and never breaks playback.

Included files

A complete, loadable extension

The zip is a real unpackable Manifest V3 extension, not a mock. Open it in Chrome's Load unpacked flow and it works. Browse every file inline below.

extension/
  • manifest.jsonMV3 manifest, permissions, static rulesets
  • background/service-worker.jsSettings, ruleset toggles, allowlist, stats, badge
  • content/url-cleaner.jsQuery-parameter stripping (document_start)
  • content/cosmetic-filter.jsAd/annoyance hiding + empty-slot collapse
  • content/youtube.jsYouTube cosmetic hiding + guarded skip fallback
  • content/youtube-sanitize.jsYouTube player ad-data sanitizer (MAIN world)
  • rules/ads.jsonAd server and ad network rules
  • rules/trackers.jsonCross-site tracker and fingerprint rules
  • rules/telemetry.jsonAnalytics, pixel, and beacon rules
  • rules/annoyances.jsonConsent and anti-adblock rules
  • rules/url-tracking.jsonTracking-redirector unwrap rules
  • rules/youtube.jsonYouTube ad and telemetry endpoints
  • popup/popup.html + popup.jsToolbar dashboard with toggles and stats
  • options/options.html + options.jsFull settings, allowlist, reset
  • icons/Generated PNG icons + source SVG
  • README.mdInstall, privacy model, limits, testing checklist
  • LICENSE + ATTRIBUTION.mdMIT code license + list attribution

Install

Up and running in under a minute

  1. 01

    Download

    Grab the zip and unzip it to a folder you can find.

  2. 02

    Open extensions

    Go to chrome://extensions in Chrome or Chromium.

  3. 03

    Enable developer mode

    Flip the Developer mode toggle in the top-right corner.

  4. 04

    Load unpacked

    Click Load unpacked and select the extension folder containing manifest.json.

Privacy & limits

How it treats your data

Privacy model

  • No remote code - nothing is loaded from the network at runtime.
  • No telemetry and no browsing-history collection.
  • Blocked-request stats and settings live in local chrome.storage.
  • The active-tab URL is read only to power the per-site allowlist.
  • Trackers are blocked before they load; nothing about you is sent out.

Known limitations

  • The bundled rules are a curated starter set, not a full commercial filter.
  • Aggressive blocking can break a site that depends on a blocked domain.
  • Cosmetic filtering is deliberately conservative to avoid hiding real content.
  • YouTube handling is best-effort and can stop working when YouTube changes.
  • Chrome caps each static ruleset at 3000 rules and 50 enabled rulesets.
  • This is an unpacked dev build, not published to the Chrome Web Store.

If a site misbehaves, add it to the allowlist from the popup; blocking stops there until you remove it.

Research & attribution

Inspired by the community filter lists

The bundled rules are an original curated starter set, not a copy of any upstream list. These projects are inspirations and optional compatible sources you can bring in yourself, subject to their own licenses.

Full attribution, conversion notes, the threat model, and an MV3-limits section live in the extension's README and ATTRIBUTION files.

Take back your browsing

Download the extension, load it unpacked, and watch the blocked-request counter climb while the clutter disappears.

Download poke-privacy-blocker.zip

Manifest V3 · unpacked developer build · not on the Chrome Web Store