Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blockify logo

Blockify — Spotify Ad Blocker Browser Extension for Chrome

Blockify is a Manifest V3 ad blocker for Chromium-based browsers. It combines network filtering with site-specific handling for Spotify Web Player, YouTube, Twitch, Hulu, and ordinary websites. This repository is a reviewable public source snapshot of extension version 1.9.8; it is not the production release pipeline and is not guaranteed to match a store package byte for byte.

Install from the Chrome Web Store · Installation guide · Blockify website · Privacy policy

For most people: install the maintained release directly from the Chrome Web Store. The load-unpacked instructions below are for reviewing and testing this public source snapshot. Do not install repackaged copies from unofficial download sites.

Why this source is public

Browser extensions operate with meaningful access to the pages people visit. This repository lets users and security researchers inspect Blockify's permissions, request rules, site-specific behavior, storage, and network connections before deciding whether to trust it. The provenance record also distinguishes Blockify-owned code from bundled third-party material instead of hiding that boundary.

What it does

  • Applies packaged Declarative Net Request rules and filter-derived rulesets.
  • Runs targeted content scripts for Spotify, YouTube, Twitch, and Hulu.
  • Provides site controls, exclusions, blocked-request counts, and an extension popup.
  • Uses local extension storage for settings, counters, rule state, and UI state.
  • Fetches a Blockify-hosted switch document used to adjust feature behavior.

Ad blocking is inherently affected by browser and website changes. No particular site or ad format is guaranteed to remain supported.

Install from source

Use a dedicated browser profile when reviewing extensions with broad permissions.

  1. Download or clone this repository.
  2. Run npm run validate with Node.js 18 or newer. No package installation is required.
  3. Open chrome://extensions (or the equivalent extensions page in a Chromium browser).
  4. Enable Developer mode.
  5. Choose Load unpacked and select the repository root—the directory containing manifest.json.
  6. Review the requested permissions before enabling the extension.

Changes to source files require pressing Reload on the extensions page. Some service-worker changes may also require refreshing affected tabs.

Permissions

The checked-in manifest requests the following capabilities:

Permission Why the extension uses it
declarativeNetRequest Apply packaged request-blocking and redirect rules.
declarativeNetRequestFeedback Observe matched rules for counters and related behavior.
scripting Inject site-specific extension code when required.
storage Keep settings, exclusions, counters, and feature state locally.
activeTab and tabs Determine the active site, update per-site controls, and open extension pages.
alarms Schedule service-worker maintenance work.
background Retained in this snapshot's manifest for background behavior.
*://*/* host access Apply general filtering across websites and run the declared broad content script.

The broad host permission is security-sensitive. Read manifest.json, PRIVACY.md, and the source before loading the snapshot.

The manifest also declares every packaged file as a web-accessible resource for all sites and all extension IDs. That broad exposure is separate from host access: pages can discover or request extension-packaged resources, which can increase fingerprinting and attack surface. It is preserved from the supplied release snapshot and should be included in any security review.

Architecture

  • manifest.json declares the service worker, content scripts, permissions, resources, and DNR rulesets.
  • background.js, background_yt.js, bk_start.js, and bk_modules.js coordinate extension lifecycle, settings, rules, and counters.
  • content_script.js, notifyonads.js, twitch_cs.js, and hulu_cs.js are entry points for supported sites.
  • popup.*, frame/, welcome/, and share.* provide extension UI.
  • filters/ contains packaged DNR data derived from third-party filter projects.
  • web_accessible_resources/ contains redirect/shim resources used by filter rules.
  • _locales/ contains Chrome extension localization messages.
  • scripts/sanitize-release.mjs records the deterministic sanitization performed when preparing this public snapshot.

This is distributed source, not a conventional dependency-built application. The checked-in JavaScript, filter JSON, images, and media are the extension payload.

Privacy and public-snapshot disclosure

The public snapshot was sanitized before publication. Remote diagnostics and operational metrics code, embedded project identifiers and cryptographic material, a stable uninstall identifier, and metadata in PNG files were removed. The precise transformations and source archive digest are documented in PROVENANCE.md. The public snapshot still fetches https://blockify.b-cdn.net/switches190.json and may open Blockify or third-party pages when a user chooses the corresponding UI action.

See PRIVACY.md for data-flow details. The public website's privacy policy governs official Blockify services; this repository document describes the checked-in snapshot.

Licensing

This repository is source-available, not OSI-approved open source.

Blockify-owned code is licensed under the PolyForm Noncommercial License 1.0.0. Commercial use of that code is not granted by this repository license. Third-party components are not relicensed: each retains its own upstream license, as mapped in THIRD_PARTY_NOTICES.md.

In particular, GPL-covered components remain available for commercial use under the GPL's terms. The PolyForm restriction does not replace, narrow, or override the licenses of those third-party files. License scope follows file ownership and provenance, not merely the repository containing a file.

Contributing and support

Read CONTRIBUTING.md before proposing a change. Use GitHub issues for reproducible source-snapshot bugs, SECURITY.md for vulnerabilities, and SUPPORT.md for product-help boundaries.

Blockify is not affiliated with or endorsed by Spotify, YouTube, Twitch, Hulu, Google, or the maintainers of the bundled third-party projects. Product names are used only to describe compatibility.

About

Blockify Spotify ad blocker for Chrome — public Manifest V3 browser-extension source for code review and noncommercial use.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

10 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages