Fix vaft intercepting its own request #384 #363

This commit is contained in:
pixeltris
2025-06-24 10:49:25 +01:00
parent ad58a85a04
commit accf04aa36
4 changed files with 14 additions and 10 deletions
+3 -2
View File
@@ -1,7 +1,7 @@
twitch-videoad.js text/javascript twitch-videoad.js text/javascript
(function() { (function() {
if ( /(^|\.)twitch\.tv$/.test(document.location.hostname) === false ) { return; } if ( /(^|\.)twitch\.tv$/.test(document.location.hostname) === false ) { return; }
var ourTwitchAdSolutionsVersion = 4;// Only bump this when there's a breaking change to Twitch, the script, or there's a conflict with an unmaintained extension which uses this script var ourTwitchAdSolutionsVersion = 5;// Only bump this when there's a breaking change to Twitch, the script, or there's a conflict with an unmaintained extension which uses this script
if (window.twitchAdSolutionsVersion && window.twitchAdSolutionsVersion >= ourTwitchAdSolutionsVersion) { if (window.twitchAdSolutionsVersion && window.twitchAdSolutionsVersion >= ourTwitchAdSolutionsVersion) {
console.log("skipping vaft as there's another script active. ourVersion:" + ourTwitchAdSolutionsVersion + " activeVersion:" + window.twitchAdSolutionsVersion); console.log("skipping vaft as there's another script active. ourVersion:" + ourTwitchAdSolutionsVersion + " activeVersion:" + window.twitchAdSolutionsVersion);
window.twitchAdSolutionsVersion = ourTwitchAdSolutionsVersion; window.twitchAdSolutionsVersion = ourTwitchAdSolutionsVersion;
@@ -846,7 +846,7 @@ twitch-videoad.js text/javascript
} }
async function handleWorkerFetchRequest(fetchRequest) { async function handleWorkerFetchRequest(fetchRequest) {
try { try {
const response = await window.fetch(fetchRequest.url, fetchRequest.options); const response = await window.realFetch(fetchRequest.url, fetchRequest.options);
const responseBody = await response.text(); const responseBody = await response.text();
const responseObject = { const responseObject = {
id: fetchRequest.id, id: fetchRequest.id,
@@ -865,6 +865,7 @@ twitch-videoad.js text/javascript
} }
function hookFetch() { function hookFetch() {
var realFetch = window.fetch; var realFetch = window.fetch;
window.realFetch = realFetch;
window.fetch = function(url, init, ...args) { window.fetch = function(url, init, ...args) {
if (typeof url === 'string') { if (typeof url === 'string') {
//Check if squad stream. //Check if squad stream.
+4 -3
View File
@@ -1,7 +1,7 @@
// ==UserScript== // ==UserScript==
// @name TwitchAdSolutions (vaft) // @name TwitchAdSolutions (vaft)
// @namespace https://github.com/pixeltris/TwitchAdSolutions // @namespace https://github.com/pixeltris/TwitchAdSolutions
// @version 19.0.0 // @version 20.0.0
// @description Multiple solutions for blocking Twitch ads (vaft) // @description Multiple solutions for blocking Twitch ads (vaft)
// @updateURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/vaft/vaft.user.js // @updateURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/vaft/vaft.user.js
// @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/vaft/vaft.user.js // @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/vaft/vaft.user.js
@@ -13,7 +13,7 @@
// ==/UserScript== // ==/UserScript==
(function() { (function() {
'use strict'; 'use strict';
var ourTwitchAdSolutionsVersion = 4;// Only bump this when there's a breaking change to Twitch, the script, or there's a conflict with an unmaintained extension which uses this script var ourTwitchAdSolutionsVersion = 5;// Only bump this when there's a breaking change to Twitch, the script, or there's a conflict with an unmaintained extension which uses this script
if (window.twitchAdSolutionsVersion && window.twitchAdSolutionsVersion >= ourTwitchAdSolutionsVersion) { if (window.twitchAdSolutionsVersion && window.twitchAdSolutionsVersion >= ourTwitchAdSolutionsVersion) {
console.log("skipping vaft as there's another script active. ourVersion:" + ourTwitchAdSolutionsVersion + " activeVersion:" + window.twitchAdSolutionsVersion); console.log("skipping vaft as there's another script active. ourVersion:" + ourTwitchAdSolutionsVersion + " activeVersion:" + window.twitchAdSolutionsVersion);
window.twitchAdSolutionsVersion = ourTwitchAdSolutionsVersion; window.twitchAdSolutionsVersion = ourTwitchAdSolutionsVersion;
@@ -858,7 +858,7 @@
} }
async function handleWorkerFetchRequest(fetchRequest) { async function handleWorkerFetchRequest(fetchRequest) {
try { try {
const response = await window.fetch(fetchRequest.url, fetchRequest.options); const response = await window.realFetch(fetchRequest.url, fetchRequest.options);
const responseBody = await response.text(); const responseBody = await response.text();
const responseObject = { const responseObject = {
id: fetchRequest.id, id: fetchRequest.id,
@@ -877,6 +877,7 @@
} }
function hookFetch() { function hookFetch() {
var realFetch = window.fetch; var realFetch = window.fetch;
window.realFetch = realFetch;
window.fetch = function(url, init, ...args) { window.fetch = function(url, init, ...args) {
if (typeof url === 'string') { if (typeof url === 'string') {
//Check if squad stream. //Check if squad stream.
@@ -1,7 +1,7 @@
twitch-videoad.js text/javascript twitch-videoad.js text/javascript
(function() { (function() {
if ( /(^|\.)twitch\.tv$/.test(document.location.hostname) === false ) { return; } if ( /(^|\.)twitch\.tv$/.test(document.location.hostname) === false ) { return; }
var ourTwitchAdSolutionsVersion = 4;// Only bump this when there's a breaking change to Twitch, the script, or there's a conflict with an unmaintained extension which uses this script var ourTwitchAdSolutionsVersion = 5;// Only bump this when there's a breaking change to Twitch, the script, or there's a conflict with an unmaintained extension which uses this script
if (window.twitchAdSolutionsVersion && window.twitchAdSolutionsVersion >= ourTwitchAdSolutionsVersion) { if (window.twitchAdSolutionsVersion && window.twitchAdSolutionsVersion >= ourTwitchAdSolutionsVersion) {
console.log("skipping video-swap-new as there's another script active. ourVersion:" + ourTwitchAdSolutionsVersion + " activeVersion:" + window.twitchAdSolutionsVersion); console.log("skipping video-swap-new as there's another script active. ourVersion:" + ourTwitchAdSolutionsVersion + " activeVersion:" + window.twitchAdSolutionsVersion);
window.twitchAdSolutionsVersion = ourTwitchAdSolutionsVersion; window.twitchAdSolutionsVersion = ourTwitchAdSolutionsVersion;
@@ -575,7 +575,7 @@ twitch-videoad.js text/javascript
} }
async function handleWorkerFetchRequest(fetchRequest) { async function handleWorkerFetchRequest(fetchRequest) {
try { try {
const response = await window.fetch(fetchRequest.url, fetchRequest.options); const response = await window.realFetch(fetchRequest.url, fetchRequest.options);
const responseBody = await response.text(); const responseBody = await response.text();
const responseObject = { const responseObject = {
id: fetchRequest.id, id: fetchRequest.id,
@@ -594,6 +594,7 @@ twitch-videoad.js text/javascript
} }
function hookFetch() { function hookFetch() {
var realFetch = window.fetch; var realFetch = window.fetch;
window.realFetch = realFetch;
window.fetch = function(url, init, ...args) { window.fetch = function(url, init, ...args) {
if (typeof url === 'string') { if (typeof url === 'string') {
if (url.includes('gql')) { if (url.includes('gql')) {
+4 -3
View File
@@ -1,7 +1,7 @@
// ==UserScript== // ==UserScript==
// @name TwitchAdSolutions (video-swap-new) // @name TwitchAdSolutions (video-swap-new)
// @namespace https://github.com/pixeltris/TwitchAdSolutions // @namespace https://github.com/pixeltris/TwitchAdSolutions
// @version 1.37 // @version 1.38
// @updateURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/video-swap-new/video-swap-new.user.js // @updateURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/video-swap-new/video-swap-new.user.js
// @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/video-swap-new/video-swap-new.user.js // @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/video-swap-new/video-swap-new.user.js
// @description Multiple solutions for blocking Twitch ads (video-swap-new) // @description Multiple solutions for blocking Twitch ads (video-swap-new)
@@ -13,7 +13,7 @@
// ==/UserScript== // ==/UserScript==
(function() { (function() {
'use strict'; 'use strict';
var ourTwitchAdSolutionsVersion = 4;// Only bump this when there's a breaking change to Twitch, the script, or there's a conflict with an unmaintained extension which uses this script var ourTwitchAdSolutionsVersion = 5;// Only bump this when there's a breaking change to Twitch, the script, or there's a conflict with an unmaintained extension which uses this script
if (window.twitchAdSolutionsVersion && window.twitchAdSolutionsVersion >= ourTwitchAdSolutionsVersion) { if (window.twitchAdSolutionsVersion && window.twitchAdSolutionsVersion >= ourTwitchAdSolutionsVersion) {
console.log("skipping video-swap-new as there's another script active. ourVersion:" + ourTwitchAdSolutionsVersion + " activeVersion:" + window.twitchAdSolutionsVersion); console.log("skipping video-swap-new as there's another script active. ourVersion:" + ourTwitchAdSolutionsVersion + " activeVersion:" + window.twitchAdSolutionsVersion);
window.twitchAdSolutionsVersion = ourTwitchAdSolutionsVersion; window.twitchAdSolutionsVersion = ourTwitchAdSolutionsVersion;
@@ -587,7 +587,7 @@
} }
async function handleWorkerFetchRequest(fetchRequest) { async function handleWorkerFetchRequest(fetchRequest) {
try { try {
const response = await window.fetch(fetchRequest.url, fetchRequest.options); const response = await window.realFetch(fetchRequest.url, fetchRequest.options);
const responseBody = await response.text(); const responseBody = await response.text();
const responseObject = { const responseObject = {
id: fetchRequest.id, id: fetchRequest.id,
@@ -606,6 +606,7 @@
} }
function hookFetch() { function hookFetch() {
var realFetch = window.fetch; var realFetch = window.fetch;
window.realFetch = realFetch;
window.fetch = function(url, init, ...args) { window.fetch = function(url, init, ...args) {
if (typeof url === 'string') { if (typeof url === 'string') {
if (url.includes('gql')) { if (url.includes('gql')) {