Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

YouTube Angel

YouTube Angel

Your guardian angel for YouTube — whitelist the channels you trust, filter the rest.

Manifest V3 License MIT Version


What it does

YouTube Angel helps you take back control of what you watch. You build a whitelist of channels you trust — everything else gets greyed out or triggers a warning, so you always make a conscious choice before diving in.

Features

  • Warning overlay — full-screen prompt when you navigate to a video from a non-whitelisted channel, with options to add it, go back, or stay anyway
  • Homepage greying — non-whitelisted videos are dimmed on the YouTube homepage
  • Sidebar greying — suggested videos on watch pages are dimmed if not from trusted channels
  • Quick-add buttons — add or remove a channel directly from:
    • Channel pages (next to the channel name)
    • Video pages (next to the Subscribe button)
    • Search results
  • Import / Export — back up your whitelist as JSON and restore it anytime
  • Per-feature toggles — enable or disable each feature independently from the settings panel

Installation

From source (developer mode)

  1. Clone this repository
    git clone https://github.com/ltrinchini/Youtube-Angel.git
  2. Open Chrome and go to chrome://extensions
  3. Enable Developer mode (toggle in the top-right corner)
  4. Click Load unpacked and select the project folder

The extension icon will appear in your toolbar. Click it to open the popup and manage your whitelist.

How to use

  1. Browse YouTube — when you land on a video from a channel not in your whitelist, the warning overlay appears
  2. Add a channel — click "Add to whitelist" in the overlay, or use the quick-add button on any channel/video/search page
  3. Manage your list — open the popup to search, browse recently added channels, or remove any entry
  4. Adjust settings — click the ⚙ gear icon to toggle individual features on or off

Project structure

manifest.json
src/
├── content.js           # All content script logic (runs on youtube.com)
├── background.js        # Service worker
├── debug-flag.js        # Toggle verbose logging for development
├── shared/
│   └── storage.js       # chrome.storage helpers shared across contexts
├── popup/
│   ├── index.html
│   └── index.js
└── icons/
    ├── logo.svg
    ├── icon48.png
    └── icon128.png

Development

Enable debug logs

  1. Add "src/debug-flag.js" immediately before "src/content.js" in the content_scriptsjs array in manifest.json.
  2. Reload the extension.

All internal events will be logged to the browser console under the [YT Angel] prefix. Remove the entry from manifest.json before shipping.

Architecture note

src/content.js is intentionally self-contained with no ES module imports — Chrome MV3 content scripts loaded via manifest.json don't support type: "module". All storage logic is duplicated inline from shared/storage.js. The popup uses ES modules normally.

Contributing

Issues and pull requests are welcome. If you find a YouTube UI change that breaks a feature (selectors drift over time), please open an issue with the affected page URL and a description of what's broken.

License

MIT — see LICENSE for details.

About

Your guardian angel for YouTube — build a whitelist of trusted channels and let the extension warn you, grey out, or block everything else.

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages