Skip to content

Labreo/ytm-block

Repository files navigation

YTM Block 🚫🎵

YTM Block Screenshot

An elegant, secure, and lightweight browser extension for YouTube Music (music.youtube.com) that automatically skips tracks from blocked artists, songs, and albums, scrubs them from your "Up Next" queue, filters recommendation cards, and provides context-aware right-click entity blocking.

Version License

📥 Installation

Get YTM Block for Firefox

Get YTM Block for Microsoft Edge

Get YTM Block for Chrome

📖 Project Purpose

YouTube Music is great, but managing playback quality while coding or studying often means being forced to listen to artists, tracks, or albums you dislike. YTM Block solves this by integrating directly with YouTube Music's interface and underlying player.

With a single right-click or dashboard update, you can permanently block any artist, track, or album. YTM Block will ensure they are automatically skipped, hidden, and filtered with zero distraction, allowing you to stay focused on your work.

✨ Features

  • 🖱️ Multi-Entity Right-Click Context Blocking: Block any Artist, Song, or Album by right-clicking elements directly on the YouTube Music page and selecting context options. Includes automatic Shadow DOM crawling.
  • 🔔 Premium Capsule Toasts: Floating glass notifications with blur-filters and custom icons showing three distinct states: Successfully Blocked (with a one-click "Unblock" button inside the toast!), Already Blocked, and Detection Failure.
  • ⚡ Prioritized Auto-Skipping: Programmatic skip engine respects blocklists in strict order of precedence (Blocked Songs -> Blocked Albums -> Blocked Artists) with sub-second response times and fuzzy-normalized song matching.
  • 👁️ Queue Intelligence: Visually dims and crosses out blocked songs inside your "Up Next" panel, injects an absolute-positioned "BLOCKED" capsule badge, and displays a counter badge in the header.
  • 🚫 Click Protection: Restricts clicks on blocked queue elements, preventing accidental selections.
  • 🔍 Recommendation Filtering: Visual layout-safe suppression blurs blocked items on home grids, mixes, and shelves with a custom translucent overlay badge, preserving grid alignment.
  • 🎨 Premium Glass Dashboard UI: Multi-list dashboard popup showing Blocked Songs, Blocked Albums, and Blocked Artists concurrently, with real-time search filtering, tag removal fade animations, and a Live Now Playing Card.
  • 🔒 100% Local & Secure: No tracker scripts, no third-party libraries, and zero external network calls. Your blocklist syncs securely using Chrome's native storage profile bridge.

🛠️ Tech Stack

This project is built using:

  • Vanilla JavaScript & CSS (utilizes custom inline styling to pierce Shadow DOM boundaries).
  • Manifest V3 (Chrome, Edge) and Firefox MV3 compatibility (via separate manifests).
  • Bash for standard build automation without heavy webpack/bundlers.

💻 Local Setup Instructions

These instructions have been designed and tested for a clean local machine environment.

Prerequisites

  • Git
  • A browser (Chrome, Edge, or Firefox)

Step-by-Step Setup

  1. Clone the repository:

    git clone https://github.com/Labreo/ytm-block.git
    cd ytm-block
  2. Build the extension: Generate the clean, store-ready browser distributions:

    chmod +x build.sh
    ./build.sh

    This will create a dist/ directory containing chrome/, firefox/, and edge/ builds, along with release zip archives.

  3. Load the extension manually into your browser:

    • For Chrome: Navigate to chrome://extensions/, toggle on "Developer mode" in the top right, click "Load unpacked", and select the dist/chrome/ folder.
    • For Edge: Navigate to edge://extensions/, toggle on "Developer mode", click "Load unpacked", and select dist/edge/.
    • For Firefox: Navigate to about:debugging#/runtime/this-firefox, click "Load Temporary Add-on", and select the manifest.json inside the dist/firefox/ folder.

🤝 Contribution Guidelines

Contributions, issues, and feature requests are highly encouraged!

We follow standard GitHub flow and require that all pull requests pass basic code style and lint check requirements. Before starting major work, please review our comprehensive CONTRIBUTING.md (create this file if not already present) for our full code style rules, PR expectations, and standard practices.


💬 Contact & Support

Have questions or want to discuss a major feature? Reach out to me directly on Discord: .kakaroth

If this extension makes your daily workflow a little smoother, consider supporting the development!

Buy Me A Coffee


📄 License

Distributed under the MIT License. See LICENSE for more information.

Built by Kanak Waradkar

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors