A lightweight browser extension that improves the VSKit watch experience by:
- forcing videos to stay unmuted, and
- moving to the next episode automatically when playback ends.
VSKit watch flows can feel repetitive when you have to unmute every episode and manually move to the next one. This extension removes both friction points while staying minimal and privacy-friendly.
- Auto Unmute
- Removes
defaultMuted - Forces
video.muted = false - Restores volume to
1if it is0
- Removes
- Auto Next Episode
- Detects current episode via URL query params (
ep) - Tries UI-based next click first (active marker + episode controls)
- Falls back to next resolved episode link
- Final fallback: increments
epin URL
- Detects current episode via URL query params (
- SPA-aware navigation support
- Hooks into
history.pushState,history.replaceState,popstate, andhashchange - Re-binds video handlers after route changes
- Hooks into
- Dynamic content support
- Uses
MutationObserverto bind newly injected video nodes
- Uses
- No backend, no tracking
- Content script only, scoped to VSKit watch pages
Open /watch/* page
-> Find/bind video elements
-> Force unmute on key playback/volume lifecycle events
-> On video end:
1) Try next episode control click
2) Else resolve next episode link
3) Else increment ?ep= in URL
- Clone or download this repository.
- Open your Chromium browser extension page:
- Chrome:
chrome://extensions - Edge:
edge://extensions
- Chrome:
- Enable Developer mode.
- Click Load unpacked.
- Select this project folder.
- Runs only on:
https://vskit.tv/watch/*https://www.vskit.tv/watch/*
- No remote calls
- No analytics
- No storage usage
- No personal data collection
- Manifest V3 extension
- Designed for Chromium-based browsers
- Works on VSKit watch page routes (
/watch/*)
.
├── manifest.json # Extension metadata and URL matching
└── content.js # Unmute + autoplay-next logic
- If VSKit changes episode control markup significantly, selector heuristics may need updates.
- If a title has missing/non-sequential episode numbers, URL fallback may not always map to a valid next item.
No build step is required.
- Edit
content.js - Reload extension from browser extension page
- Refresh VSKit watch tab and retest
- Optional popup toggle: auto-unmute / auto-next on/off
- Per-series behavior controls
- Small in-page indicator when next-episode logic triggers
This project is licensed under the MIT License. See the LICENSE file for details.