Watch Kick. Without interruptions.
KickBlock is an independent open-source browser extension focused on reducing advertising interruptions on Kick while keeping normal playback stable.
Created and maintained by NullEx17.
Not affiliated with, endorsed by, or sponsored by Kick.
- Live stream playback protection
- VOD pre-roll handling (when a clean source is available)
- Display / overlay cleanup
- Narrow network rules for known ad hosts
- Multiple protection layers
- Local statistics (stored in your browser only)
- No telemetry
- Open source
- Chrome, Brave, Edge, and Firefox (Manifest V3)
Normal users do not need Node.js or npm.
- Open the Releases page.
- Download the latest
KickBlock-vX.X.X.zip. - Extract the ZIP to a normal folder on your computer.
- Open your browser’s extensions page:
- Chrome →
chrome://extensions - Edge →
edge://extensions - Brave →
brave://extensions
- Chrome →
- Enable Developer mode.
- Click Load unpacked.
- Select the extracted folder that contains
manifest.json
(for exampleKickBlock-v2.0.0/— not the ZIP itself, and not a parent folder). - Open Kick and check that KickBlock shows as active in the popup.
Firefox (temporary load):
- Open
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on…
- Select
manifest.jsoninside the extracted folder
Tip: if you use another Kick ad blocker at the same time, disable it while testing KickBlock. Multiple Worker hooks can conflict.
Latest builds: github.com/NullEx17/KickBlock/releases
Source is in this repository if you want to inspect or build it yourself.
The popup shows protection status, local block counts, the current Kick page, active layers, and a shortcut to settings. Numbers in screenshots are UI examples.
You can control:
- Master protection
- Player protection (live + VOD)
- Display cleanup
- Ad tracker blocking
- Badge counter
- Debug mode and local statistics
Kick serves different ad types differently. KickBlock uses several layers and only changes what it can verify safely.
Kick.com
↓
KickBlock
↓
Protection layers
├── Network
├── Playback
├── Ad SDK
├── Video
└── Overlay / DOM
↓
Cleaner playback (when safe)
If a technique is uncertain, KickBlock fails open: normal playback continues instead of breaking the player.
Live ads are often server-side ad insertion inside Kick’s IVS player path. KickBlock installs an early MAIN-world hook, wraps the player worker when needed, and swaps stitched HLS masters for Kick’s public channel playback_url when that path is available.
VOD ads are usually stitched into the playlist (MediaTailor / manifest), not separate Google IMA creatives. KickBlock rewrites the playback API response:
- Match
/api/v*/stream/<uuid>/playback(absolute or relative) - Detect stitched / MediaTailor /
production-kick-vod/manifest.m3u8sources - Prefer a clean HLS
sourcefrom the channel videos API (UUID first, then duration/title) - Replace
playback_url.vodand clearvod_session/ MediaTailor session fields - If no clean source is found, leave playback alone
LIVE VOD
IVS / worker hook Playback API
↓ ↓
Ad-free channel playback Detect stitched MediaTailor URL
when available ↓
Find clean VOD source
↓
Replace playback URL
↓
Clear ad session
↓
Clean VOD playback
- Runs locally in your browser
- Statistics stay on your device
- Does not send browsing activity or usage stats to a remote analytics service
- No accounts required
| Permission | Why |
|---|---|
storage |
Settings and local stats |
activeTab |
Show the current page label in the popup |
declarativeNetRequest |
Narrow rules for known ad hosts |
https://kick.com/* |
Content scripts and Kick APIs used for clean VOD sources |
- Kick can change its player and ad infrastructure at any time
- Some server-side inserted advertising may not be separable from content
- Older VODs may not expose enough data for a safe source swap
- Browser behavior can differ
- When detection is uncertain, KickBlock intentionally fails open
- Refresh Kick
- Open the KickBlock popup and confirm protection is on
- If you loaded an unpacked build, reload the extension from the browser extensions page
- Disable KickBlock temporarily
- Refresh the page
- Open an issue with browser, Kick page type (live/VOD), and version
- Enable Developer mode
- Point Load unpacked at the folder that contains
manifest.json - Do not select the ZIP file itself
- Re-download the latest release if the extract looks incomplete
git clone https://github.com/NullEx17/KickBlock.git
cd KickBlock
npm install
npm run buildLoad the dist/ folder with Load unpacked.
npm run typecheck
npm run lint
npm run test
npm run build
npm run packagenpm run package builds the extension and writes release/KickBlock-vX.X.X.zip.
See CONTRIBUTING.md.
dist/ is build output and is not committed. Releases ship a packaged ZIP built from dist/.
See CHANGELOG.md.
See SECURITY.md.
KickBlock is an independent open-source browser extension focused on reducing advertising interruptions on Kick while keeping normal playback stable.
Created and maintained by NullEx17.
- Website: https://nullex17.me/
- GitHub: https://github.com/NullEx17/KickBlock
- Releases: https://github.com/NullEx17/KickBlock/releases
KickBlock is not affiliated with, endorsed by, or sponsored by Kick.


