Fix FrankerFaceZ loading issue #249

This commit is contained in:
pixeltris
2024-06-16 06:53:51 +01:00
parent c66faba74f
commit 2eefb984c1
4 changed files with 84 additions and 124 deletions
+24 -25
View File
@@ -71,11 +71,6 @@ twitch-videoad.js text/javascript
const oldWorker = window.Worker;
window.Worker = class Worker extends oldWorker {
constructor(twitchBlobUrl) {
var jsURL = getWasmWorkerUrl(twitchBlobUrl);
if (typeof jsURL !== 'string') {
super(twitchBlobUrl);
return;
}
var newBlobStr = `
${getStreamUrlForResolution.toString()}
${getStreamForResolution.toString()}
@@ -88,26 +83,30 @@ twitch-videoad.js text/javascript
${adRecordgqlPacket.toString()}
${tryNotifyTwitch.toString()}
${parseAttributes.toString()}
declareOptions(self);
self.addEventListener('message', function(e) {
if (e.data.key == 'UpdateIsSquadStream') {
IsSquadStream = e.data.value;
} else if (e.data.key == 'UpdateClientVersion') {
ClientVersion = e.data.value;
} else if (e.data.key == 'UpdateClientSession') {
ClientSession = e.data.value;
} else if (e.data.key == 'UpdateClientId') {
ClientID = e.data.value;
} else if (e.data.key == 'UpdateDeviceId') {
GQLDeviceID = e.data.value;
} else if (e.data.key == 'UpdateClientIntegrityHeader') {
ClientIntegrityHeader = e.data.value;
} else if (e.data.key == 'UpdateAuthorizationHeader') {
AuthorizationHeader = e.data.value;
}
});
hookWorkerFetch();
importScripts('${jsURL}');
${getWasmWorkerUrl.toString()}
var workerUrl = getWasmWorkerUrl('${twitchBlobUrl}');
if (workerUrl && workerUrl.includes('assets.twitch.tv/assets/amazon-ivs-wasmworker')) {
declareOptions(self);
self.addEventListener('message', function(e) {
if (e.data.key == 'UpdateIsSquadStream') {
IsSquadStream = e.data.value;
} else if (e.data.key == 'UpdateClientVersion') {
ClientVersion = e.data.value;
} else if (e.data.key == 'UpdateClientSession') {
ClientSession = e.data.value;
} else if (e.data.key == 'UpdateClientId') {
ClientID = e.data.value;
} else if (e.data.key == 'UpdateDeviceId') {
GQLDeviceID = e.data.value;
} else if (e.data.key == 'UpdateClientIntegrityHeader') {
ClientIntegrityHeader = e.data.value;
} else if (e.data.key == 'UpdateAuthorizationHeader') {
AuthorizationHeader = e.data.value;
}
});
hookWorkerFetch();
importScripts(workerUrl);
}
`;
super(URL.createObjectURL(new Blob([newBlobStr])));
twitchWorkers.push(this);
+25 -26
View File
@@ -1,7 +1,7 @@
// ==UserScript==
// @name TwitchAdSolutions (vaft)
// @namespace https://github.com/pixeltris/TwitchAdSolutions
// @version 8.0.0
// @version 9.0.0
// @description Multiple solutions for blocking Twitch ads (vaft)
// @updateURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/vaft/vaft.user.js
// @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/vaft/vaft.user.js
@@ -83,11 +83,6 @@
const oldWorker = window.Worker;
window.Worker = class Worker extends oldWorker {
constructor(twitchBlobUrl) {
var jsURL = getWasmWorkerUrl(twitchBlobUrl);
if (typeof jsURL !== 'string') {
super(twitchBlobUrl);
return;
}
var newBlobStr = `
${getStreamUrlForResolution.toString()}
${getStreamForResolution.toString()}
@@ -100,26 +95,30 @@
${adRecordgqlPacket.toString()}
${tryNotifyTwitch.toString()}
${parseAttributes.toString()}
declareOptions(self);
self.addEventListener('message', function(e) {
if (e.data.key == 'UpdateIsSquadStream') {
IsSquadStream = e.data.value;
} else if (e.data.key == 'UpdateClientVersion') {
ClientVersion = e.data.value;
} else if (e.data.key == 'UpdateClientSession') {
ClientSession = e.data.value;
} else if (e.data.key == 'UpdateClientId') {
ClientID = e.data.value;
} else if (e.data.key == 'UpdateDeviceId') {
GQLDeviceID = e.data.value;
} else if (e.data.key == 'UpdateClientIntegrityHeader') {
ClientIntegrityHeader = e.data.value;
} else if (e.data.key == 'UpdateAuthorizationHeader') {
AuthorizationHeader = e.data.value;
}
});
hookWorkerFetch();
importScripts('${jsURL}');
${getWasmWorkerUrl.toString()}
var workerUrl = getWasmWorkerUrl('${twitchBlobUrl}');
if (workerUrl && workerUrl.includes('assets.twitch.tv/assets/amazon-ivs-wasmworker')) {
declareOptions(self);
self.addEventListener('message', function(e) {
if (e.data.key == 'UpdateIsSquadStream') {
IsSquadStream = e.data.value;
} else if (e.data.key == 'UpdateClientVersion') {
ClientVersion = e.data.value;
} else if (e.data.key == 'UpdateClientSession') {
ClientSession = e.data.value;
} else if (e.data.key == 'UpdateClientId') {
ClientID = e.data.value;
} else if (e.data.key == 'UpdateDeviceId') {
GQLDeviceID = e.data.value;
} else if (e.data.key == 'UpdateClientIntegrityHeader') {
ClientIntegrityHeader = e.data.value;
} else if (e.data.key == 'UpdateAuthorizationHeader') {
AuthorizationHeader = e.data.value;
}
});
hookWorkerFetch();
importScripts(workerUrl);
}
`;
super(URL.createObjectURL(new Blob([newBlobStr])));
twitchWorkers.push(this);