2020-12-22 19:43:13 +01:00
# TwitchAdSolutions
This repo aims to provide multiple solutions for blocking Twitch ads.
2020-12-29 15:17:38 +01:00
## Recommendations
2021-01-06 01:06:48 +01:00
M3U8 proxies (or full proxies / VPNs) are currently the most reliable way of avoiding ads. More proxy hosts would be ideal (see [#8 ](https://github.com/pixeltris/TwitchAdSolutions/issues/8 )).
2020-12-29 15:17:38 +01:00
2021-01-15 15:32:00 +01:00
- `Twitch AdBlock` - [chrome ](https://chrome.google.com/webstore/detail/twitch-adblock/mipdalemhlhfenbikcloloheedmmecme ) / [firefox ](https://addons.mozilla.org/en-US/firefox/addon/twitch-adblock/ ) - [code ](https://robwu.nl/crxviewer/?crx=mipdalemhlhfenbikcloloheedmmecme&qf=js/background.js )
2020-12-29 15:17:38 +01:00
2021-01-06 01:06:48 +01:00
Alternatively:
2020-12-31 04:27:21 +01:00
2021-01-28 13:22:53 +01:00
- `notify-strip` is ok-ish.
2020-12-31 04:27:21 +01:00
- `Alternate Player for Twitch.tv` consistently updates with new ad-blocking methods.
2021-01-01 02:02:36 +01:00
- `ttv_adEraser` somewhat fixes the purple screen issue of `ttv-ublock` .
- `ttv-tools` (firefox) has nice features.
2020-12-29 15:17:38 +01:00
2020-12-22 19:43:13 +01:00
## Current solutions
2021-01-26 10:23:48 +01:00
*These solutions generally aren't compatible with other Twitch ad blockers. e.g. `ttv-ublock` will break some of these.*
2020-12-29 15:17:38 +01:00
2021-01-27 12:37:08 +01:00
**If you want a perfect solution, please use** `Twitch AdBlock` .
2021-01-27 12:31:03 +01:00
- notify-strip ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-strip/notify-strip-ublock-origin.js) / [userscript ](https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-strip/notify-strip.user.js ))
2021-01-29 22:11:21 +01:00
- The same as `strip` , but notifies Twitch that ads were "watched" (reduces preroll ad frequency).
2021-01-27 12:37:08 +01:00
- notify-reload ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-reload/notify-reload-ublock-origin.js) / [userscript ](https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-reload/notify-reload.user.js ))
2021-01-27 12:31:03 +01:00
- Notifies that ads were watched, then reloads the player.
- Repeats this until no ads ** (which may never happen ~ infinite reload)**.
2021-01-27 13:17:11 +01:00
- You should expect 3-10 player reloads (give or take). Once successful you shouldn't see preroll ads for a while on any stream (10+ minutes?).
2021-01-27 12:31:03 +01:00
- strip ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/strip/strip-ublock-origin.js) / [userscript ](https://github.com/pixeltris/TwitchAdSolutions/raw/master/strip/strip.user.js ))
2020-12-26 23:29:35 +01:00
- Ad segments are replaced by low resolution stream segments (on a m3u8 level).
2021-01-29 22:11:21 +01:00
- *TODO: Fix midrolls issues (stream freezes for several seconds / potentially longer low res than needed).*
2020-12-26 07:15:48 +01:00
- **NOTE: Removing segments doesn't notify Twitch that ads were watched (aka more served ads).**
2020-12-26 13:37:30 +01:00
- low-res ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/low-res/low-res-ublock-origin.js) / [userscript ](https://github.com/pixeltris/TwitchAdSolutions/raw/master/low-res/low-res.user.js ))
2020-12-22 19:45:20 +01:00
- No ads.
- The stream is 480p for the duration of the stream.
2020-12-26 13:37:30 +01:00
- mute-black ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/mute-black/mute-black-ublock-origin.js) / [userscript ](https://github.com/pixeltris/TwitchAdSolutions/raw/master/mute-black/mute-black.user.js ))
2020-12-22 19:58:05 +01:00
- Ads are muted / blacked out for the duration of the ad.
- You might see tiny bits of the ad.
2021-01-27 12:31:03 +01:00
- video-swap ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/video-swap/video-swap-ublock-origin.js) / [userscript ](https://github.com/pixeltris/TwitchAdSolutions/raw/master/video-swap/video-swap.user.js ))
- Ads are replaced by a low resolution stream for the duration of the ad.
- Similar to `strip` , but skips closer to 20 seconds when switching to the live stream (TODO: low latency support).
- You might see tiny bits of the ad.
- Audio controls wont work whilst the ad is playing.
2021-01-27 13:11:18 +01:00
- *There are various UX/UI issues with this script which need to be addressed.*
2021-01-06 01:06:48 +01:00
- ~~proxy-m3u8 ([ublock](https://github.com/pixeltris/TwitchAdSolutions/raw/master/proxy-m3u8/proxy-m3u8-ublock-origin.js) / [userscript ](https://github.com/pixeltris/TwitchAdSolutions/raw/master/proxy-m3u8/proxy-m3u8.user.js ))~~ ** (proxy currently points to a dead url)**
2020-12-30 02:32:25 +01:00
- Uses a proxy server to fetch an ad-free stream.
2020-12-27 18:28:42 +01:00
- Currently only the initial m3u8 is proxied, so there shouldn't be any additional latency.
- **Assumes the proxy server acts in good faith and maintains a good uptime.**
2020-12-22 19:43:13 +01:00
2021-01-27 12:37:08 +01:00
*The following renamed/deprecated scripts will be removed from the master branch on `1st March 2021` :*
2021-01-27 12:31:03 +01:00
- `dyn` renamed to `strip` as this better reflects the functionality (strips ad segments).
- `dyn-skip` removed as it no longer works.
- `dyn-skip-midroll` renamed to `notify-reload` as the original name has lost its meaning.
- `dyn-skip-midroll-alt` renamed to `notify-strip` as the original name has lost its meaning.
- `dyn-video-swap` renamed to `video-swap` .
2020-12-22 19:43:13 +01:00
## Applying a solution (uBlock Origin)
- Navigate to the uBlock Origin Dashboard (the extension options)
- Under the `My filters` tab add `twitch.tv##+js(twitch-videoad)` .
2021-01-28 13:22:53 +01:00
- Under the `Settings` tab, enable `I am an advanced user` , then click the cog that appears. Modify the value of `userResourcesLocation` from `unset` to the full url of the solution you wish to use (if a url is already in use, add a space after the existing url). e.g. `userResourcesLocation https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-strip/notify-strip-ublock-origin.js`
2021-01-01 02:02:36 +01:00
- To ensure uBlock Origin loads the script I recommend that you disable/enable the uBlock Origin extension (or restart your browser).
2020-12-22 19:43:13 +01:00
2020-12-25 21:19:35 +01:00
## Applying a solution (userscript)
2021-01-01 02:02:36 +01:00
- Viewing one of the userscript files should prompt the given script to be added.
2020-12-25 21:19:35 +01:00
2020-12-22 19:46:00 +01:00
## Other solutions / projects
2021-01-01 02:05:04 +01:00
For a more detailed description of the following please refer to [this ](other-solutions.md ).
2020-12-27 18:28:42 +01:00
- https://github.com/odensc/ttv-ublock (extension - purple screen may display every 10-15 mins)
2020-12-25 21:11:28 +01:00
- https://github.com/Nerixyz/ttv-tools (Firefox extension)
- https://github.com/LeonHeidelbach/ttv_adEraser (extension)
2020-12-27 18:28:42 +01:00
- https://github.com/instance01/Twitch-HLS-AdBlock (extension)
2020-12-25 21:11:28 +01:00
- https://github.com/Wilkolicious/twitchAdSkip (UserScript + FrankerFaceZ)
- https://gist.github.com/simple-hacker/ddd81964b3e8bca47e0aead5ad19a707 (UserScript + FrankerFaceZ(optional))
- https://greasyfork.org/en/scripts/415412-twitch-refresh-on-advert/code (UserScript + FrankerFaceZ(optional))
2020-12-27 18:28:42 +01:00
- [Alternate Player for Twitch.tv ](https://chrome.google.com/webstore/detail/bhplkbgoehhhddaoolmakpocnenplmhf ) - [code ](https://robwu.nl/crxviewer/?crx=bhplkbgoehhhddaoolmakpocnenplmhf&qf=player.js ) (extension)
2021-01-15 15:32:00 +01:00
- [Twitch AdBlock ](https://chrome.google.com/webstore/detail/twitch-adblock/mipdalemhlhfenbikcloloheedmmecme ) - [code ](https://robwu.nl/crxviewer/?crx=mipdalemhlhfenbikcloloheedmmecme&qf=js/background.js ) (extension)
2020-12-27 18:28:42 +01:00
---
2020-12-27 18:32:14 +01:00
- https://github.com/streamlink/streamlink (desktop application)
- https://github.com/nopbreak/TwitchMod (android app)
- https://twitchls.com/ (external site - purple screen may display every 10-15 mins)
2020-12-28 05:14:21 +01:00
- [Use a VPN targeting a region without ads ](https://reddit.com/r/Twitch/comments/kisdsy/i_did_a_little_test_regarding_ads_on_twitch_and/ )
2020-12-22 19:46:00 +01:00
2020-12-22 19:43:13 +01:00
## NOTE/TODO
2020-12-26 13:37:30 +01:00
NOTE: Many of these solutions could do with improvements.
TODO: Test midroll ads.
TODO: More testing in general.