Skip to content

GosuDRM/TTV-AB

Repository files navigation

TTV AB

Version License Tests Manifest Firefox Chrome GitHub

A lightweight browser extension that blocks Twitch ads on live streams and VODs while keeping playback stable.

Install

Store Link Status
Firefox Add-ons TTV AB - Twitch Ad Blocker Active
Chrome Web Store TTV AB - Lightweight, powerful ad blocker Pending approval

Popup Screenshot Stats Screenshot

Features

  • ✅ Blocks preroll and midroll ads on live streams and VODs
  • ✅ Supports both live playback and Twitch /videos/<id> archives
  • ✅ Cleans up stale Twitch ad UI after recovery
  • ✅ Avoids purple-screen playback interruptions
  • ✅ Restores your chosen quality after ad recovery
  • ✅ Manifest V3 compatible
  • ✅ Simple enable/disable toggle
  • ✅ Accessible popup controls and live-updating stats
  • ✅ Persistent "Ads Blocked" statistics
  • Statistics Dashboard with time saved, weekly charts, and achievements
  • 12 Achievement Badges to unlock as you block ads
  • Language Selector - 11 languages supported (EN, ES, FR, DE, PT, IT, JA, KO, ZH-CN, ZH-TW, RU)
  • ✅ Per-channel ad blocking breakdown
  • ✅ Modern, animated UI (Cyberpunk/Neon aesthetic)
  • ✅ Lightweight and fast

Usage

  1. Install the extension from your browser's add-on store
  2. Navigate to twitch.tv and open any live stream or VOD
  3. Ads are blocked automatically — no configuration needed
  4. Click the extension icon to view stats, toggle ad blocking on/off, or toggle the Buffer Fix
  5. Change language via the dropdown in the popup footer

How It Works

TTV AB intercepts Twitch's HLS video playlists at the network level. When Twitch injects ad-marked segments or forces the player onto an ad-only path, the extension:

  • Strips ad segments from M3U8 media playlists in real time
  • Fetches clean backup streams using alternative player types when the native stream is ad-locked
  • Serves a valid empty video segment in place of blocked ad content to keep the decoder stable
  • Monitors playback health and automatically recovers from stalls after ad breaks
  • Restores your original quality and volume settings once native playback resumes

During ad recovery, Twitch may briefly serve a lower-quality backup stream (e.g. 360p) while the extension keeps playback alive. Your chosen quality is restored automatically once the ad window ends.

What's New

v8.3.1

  • Persistent segment recovery — live segments cached across stripping calls survive SSAI contamination, injecting pre-ad segments when backup playlists are 100% ad-marked

v8.2.6

  • Ad-stripped backup promotion — Source-tier candidates with ads are stripped and promoted at full quality instead of being rejected, eliminating 360p quality drops on contaminated channels

v8.2.5

  • Recovery segment injection — when ad stripping removes all segments, cached live segments are injected to prevent black-screens and ad leakage on heavily-contaminated streams

v8.2.4

  • No more 360p degradationautoplay restricted to absolute last resort; Source-tier types always tried first with parallel pre-fetch

v8.2.0

  • Native-quality backupsite player type now leads backup selection, keeping full stream quality during ad blocking

v8.1.0

  • Parallel backup pre-fetch — token + master playlist requests for all player types fire simultaneously, eliminating the sequential per-type delay that caused buffer drain during ad-blocking transitions

v8.0.0

  • Ad Spoofing toggle — opt-in anti-adblock fingerprinting from the popup
  • Reduced ad-induced stalling — faster backup retries (5s cooldown), max-staleness guard (8s), and non-blocking initial backup search
  • Fixed stream freeze/audio lag and 3–5s looping during ad transitions

v7.7.5

  • Fixed brief loading circle during silent backup hold from stale HLS segments

v7.7.4

  • Critical fix: worker context missing silent hold function causing ads to leak through

v7.7.3

  • Ad-completion spoofing to reduce anti-adblock fingerprinting (thanks @ryanbr)

v7.7.2

  • Capped silent backup hold at 2 minutes to prevent indefinite low-res playback
  • Suppressed rapid backup type bouncing after player reload

See CHANGELOG.md for the complete list of changes.

Development

git clone https://github.com/GosuDRM/TTV-AB.git
cd TTV-AB
npm install
npm run build          # compiles TypeScript, minifies, and bundles
npm run package:chrome # creates Chrome Web Store upload archive
npm run lint           # runs Biome linter
npm run knip           # checks for unused exports

The build outputs to dist/. Load the unpacked extension from dist/manifest.json in your browser's developer mode after building.

The source tree under src/ is organized by concern — modules/ for core ad-blocking logic (processor, parser, player, hooks, worker, state, API), scripts/ for the bridge and background service worker, and popup/ for the extension UI.

Support

  • Found a bug? Open an issue
  • Want to contribute? Pull requests are welcome
  • If TTV AB saves you from ads, consider supporting development:

Donate

Privacy

TTV AB operates entirely on your device. No data is ever sent to external servers — not your browsing history, not your Twitch activity, not your ad-block statistics. All counters and settings are stored in your browser's local storage. See PRIVACY.md for the full privacy policy.

License

MIT License with Attribution — See LICENSE for details.

About

Twitch Adblocker for Chromium browsers. Blocks preroll & midroll ads on Twitch.tv live streams.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors