Skip to content

investblog/debloat

Repository files navigation

Debloat

We did everything they allowed us to.

Browser extension that removes AI features, sponsored content, shopping tools, telemetry, and annoyances from Chrome, Edge, and Firefox. One click, no admin rights.

License GitHub release CI

What it blocks

Category Examples
AI Features Google AI Overview, Gemini suggestions, Copilot sidebar, Help Me Write, Visual Search, AI History, window.ai
Sponsored Content MSN/News feed on NTP, sponsored tiles, Discover cards, recommended stories
Shopping Shopping Assistant, price comparison popups, coupons, express checkout
Telemetry Google/Microsoft/Mozilla diagnostic endpoints, crash reporting, Firefox Studies
Annoyances Rewards prompts, feature banners, "Set as default" nags, DALL-E themes, Bing redirect

How it works

Three-layer blocking, all within the extension API sandbox:

  1. declarativeNetRequest — blocks HTTP requests at the network level (telemetry endpoints, shopping APIs, sponsored feeds)
  2. CSS injection — hides UI elements at document_start before they render
  3. DOM mutation observer — catches dynamically injected elements that CSS can't target

No admin rights. No system modifications. No enterprise policies. Just a browser extension.

Install

Browser Store
Chrome Chrome Web Store
Edge Edge Add-ons
Firefox Firefox Add-ons

Manual install (from release)

  1. Download the zip for your browser from Releases
  2. Unzip to a folder
  3. Chrome/Edge: go to chrome://extensions, enable Developer mode, click "Load unpacked", select the folder
  4. Firefox: go to about:debugging#/runtime/this-firefox, click "Load Temporary Add-on", select manifest.json

Build from source

git clone https://github.com/investblog/debloat.git
cd debloat
npm install

npm run build          # Chrome
npm run build:firefox  # Firefox
npm run build:edge     # Edge
npm run build:all      # All three

npm run check          # Typecheck + lint + tests

Tech stack

  • WXT — next-gen web extension framework
  • TypeScript 5.7+ (strict, no any)
  • Vanilla DOM — no React/Vue/Svelte
  • Biome — linter & formatter
  • Vitest — unit tests with happy-dom

AI Scout

Search engines and browsers constantly ship new AI interface elements. Debloat includes an opt-in detection system called AI Scout that helps keep selectors up to date:

  1. The extension collects metadata about hidden elements (opt-in, anonymous)
  2. Reports are sent to a Cloudflare Worker that scores and deduplicates findings
  3. Novel detections become GitHub Issues for review
  4. Confirmed selectors get added to the next release

This creates a feedback loop: users help discover new AI clutter, maintainers ship fixes faster.

Ecosystem

  • Debloat AI Scout — detection pipeline backend. Heuristic scoring, baseline diffing, deduplication, GitHub Issue creation. Powered by Cloudflare Workers + KV + R2.

Inspiration & related projects

This extension stands on the shoulders of the browser debloating community:

Debloat takes a different approach: instead of system scripts or enterprise policies, it works entirely as a browser extension — installable by anyone, no elevated permissions required.

License

MIT

Releasing / store deploy

Version lives only in wxt.config.ts (manifest.version); package.json is not used by the build. To release: bump it, then git tag vX.Y.Z && git push origin vX.Y.Z.

A v* tag drives two workflows:

  • release.yml — typecheck/lint/test + a GitHub release with the built ZIPs.
  • submit.yml — a thin caller of the shared reusable workflow investblog/geo-tier-builder/.github/workflows/store-submit.yml@main.

Chrome + Edge auto-submit on the tag; Firefox is manual (Actions → Submit to storesstores=firefox; AMO burns version numbers forever, so it never auto-runs). The manual dispatch has a dry_run toggle that validates credentials without publishing.

Store credentials are this repo's GitHub Actions secrets (CHROME_*, FIREFOX_*, EDGE_*). API creds are account-level and shared across all investblog extensions; only the per-extension IDs (CHROME_EXTENSION_ID, FIREFOX_EXTENSION_ID, EDGE_PRODUCT_ID) differ.

Before changing the release/CI flow: confirm the reusable-workflow ref still resolves and the secrets exist (gh secret list). Store publishing here depends on the external investblog/geo-tier-builder workflow — it is a cross-repo contract, not visible from this repo's code alone.

About

Browser extension that removes AI features, sponsored content, shopping tools, telemetry, and annoyances from Chrome, Edge & Firefox. One click, no admin rights.

Topics

Resources

License

Stars

4 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors