mirror of
https://github.com/pixeltris/TwitchAdSolutions.git
synced 2024-11-22 10:22:51 +01:00
7.5 KiB
7.5 KiB
TwitchAdSolutions
This repo aims to provide multiple solutions for blocking Twitch ads.
Recommendations
M3U8 proxies (or full proxies) are currently the most reliable way of avoiding ads (assuming you trust the third party). More proxy hosts would be ideal (see #8).
Twitch Video Ad Blocker
- chrome / firefox (proxied url includes your user id / a unique id used for gql requests)proxy-m3u8
- see below (currently uses the proxy server used inTwitch Video Ad Blocker
- author asks for donations to cover costs (see links above))
If you don't trust third parties then:
dyn-skip
/dyn-skip-midroll-alt
are decent.ttv-tools
(firefox) has nice features.Alternate Player for Twitch.tv
consistently updates with new ad-blocking methods.
Current solutions
These solutions generally aren't compatible with other Twitch ad blockers. e.g. ttv-ublock
will break dyn-skip
(and others).
- dyn-skip (ublock / userscript)
- Notifies Twitch that ads were watched before requesting the main live stream.
- Falls back to mute-black if this fails (use an alternative solution if it always fails for you, as it adds additional load).
- Midroll ads are muted/blacked out. See
dyn-skip-midroll-alt
for an alternative solution.
- dyn-skip-midroll-alt (ublock / userscript)
- A mix of
dyn-skip
/dyn
. During midrolls this plays a low resolution stream instead of nothing - might be a little glitchy but should always play something. - If you see a
Waiting for ads to finish
banner withoutmidroll
in the banner text, you should be able to just refresh the page to get a regular stream.
- A mix of
- dyn-skip-midroll (ublock / userscript) (not recommended)
- The same as
dyn-skip
, but attempts to fully skip midroll ads (I'm not sure if this has ever actually worked - infinite reload). - This requires the script to work perfectly, otherwise the player will hit a reload loop.
- The same as
- dyn-video-swap (ublock / userscript)
- Ads are replaced by a low resolution stream for the duration of the ad.
- Similar to
dyn
, but skips closer to 20 seconds when switching to the live stream. - You might see tiny bits of the ad.
- Audio controls wont work whilst the ad is playing.
- dyn (ublock / userscript)
- Ad segments are replaced by low resolution stream segments (on a m3u8 level).
- Skips 2-3 seconds when switching to the live stream.
- Stuttering and looping of segments often occur (during the ad segments).
- NOTE: Removing segments doesn't notify Twitch that ads were watched (aka more served ads).
- low-res (ublock / userscript)
- No ads.
- The stream is 480p for the duration of the stream.
- mute-black (ublock / userscript)
- Ads are muted / blacked out for the duration of the ad.
- You might see tiny bits of the ad.
- proxy-m3u8 (ublock / userscript)
- Uses a proxy server to fetch an ad-free stream.
- 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.
Applying a solution (uBlock Origin)
uBlock Origin solutions are single files, suffixed by ublock-origin.js
e.g. low-res-ublock-origin.js
.
- Navigate to the uBlock Origin Dashboard (the extension options)
- Under the
My filters
tab addtwitch.tv##+js(twitch-videoad)
. - Under the
Settings
tab, enableI am an advanced user
, then click the cog that appears. Modify the value ofuserResourcesLocation
fromunset
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://raw.githubusercontent.com/pixeltris/TwitchAdSolutions/master/dyn/dyn-ublock-origin.js
Applying a solution (userscript)
Tampermonkey / Greasemonkey can be used on the files suffixed by user.js
e.g. low-res.user.js
- Viewing one of the userscript files should prompt the given script to be added
Other solutions / projects
- https://github.com/odensc/ttv-ublock (extension - purple screen may display every 10-15 mins)
- https://github.com/Nerixyz/ttv-tools (Firefox extension)
- https://github.com/LeonHeidelbach/ttv_adEraser (extension)
- https://github.com/instance01/Twitch-HLS-AdBlock (extension)
- 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))
- Alternate Player for Twitch.tv - code (extension)
- Twitch AdBlock - code (extension - uses a proxy server to fetch an ad-free stream)
- Twitch Video Ad Blocker - code (extension - uses a proxy server to fetch an ad-free stream (proxied url includes your user id / a unique id used for gql requests))
- 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)
- Use a VPN targeting a region without ads
NOTE/TODO
NOTE: Many of these solutions could do with improvements.
TODO: Test midroll ads.
TODO: More testing in general.