A cross-browser extension that cleans YouTube watch URLs by removing playlist/mix parameters when opening a specific video. Supports Chrome and Firefox from a shared codebase.
- Automatically removes
listparameter fromyoutube.com/watchURLs - Keeps users on the direct video URL (
?v=...) instead of mix/playlist context - Handles YouTube SPA navigation and dynamic URL changes
- Lightweight MV3 architecture with shared code for both browsers
- Clone this repository
- Run
npm run dev:chrome - Open
chrome://extensions/ - Enable Developer mode
- Click Load unpacked and select
dist/chrome-dev
- Run
npm run build:chrome - Use
dist/tubeplus-chrome.zip
- Clone this repository
- Run
npm run dev:firefox - Open
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on
- Select
dist/firefox-dev/manifest.json
- Run
npm run build:firefox - Use
dist/tubeplus-firefox.zip
npm install
# Prepare dev folders
npm run dev
npm run dev:chrome
npm run dev:firefox
# Produce store zip files
npm run build
npm run build:chrome
npm run build:firefox
# Remove generated artifacts
npm run cleanTubePlus/
├── README.md
├── LICENSE
├── package.json
├── .gitignore
├── docs/
├── assets/ # Store/marketing assets
├── shared-assets/ # Shared extension icons/assets (source)
├── src/
│ ├── common/ # Shared extension runtime files
│ │ ├── background.js
│ │ └── content.js
│ ├── chrome/ # Chrome shell
│ │ └── manifest.json
│ └── firefox/ # Firefox shell
│ └── manifest.json
└── dist/ # Generated dev/build artifacts
MIT