mirror of
https://github.com/pixeltris/TwitchAdSolutions.git
synced 2025-04-29 22:24:29 +02:00
Reload player instead of terminating when backup stream fails
This commit is contained in:
parent
4ef55e67a2
commit
bac0e8da54
@ -1,7 +1,7 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name TwitchAdSolutions
|
// @name TwitchAdSolutions
|
||||||
// @namespace https://github.com/pixeltris/TwitchAdSolutions
|
// @namespace https://github.com/pixeltris/TwitchAdSolutions
|
||||||
// @version 1.6
|
// @version 1.7
|
||||||
// @description Multiple solutions for blocking Twitch ads
|
// @description Multiple solutions for blocking Twitch ads
|
||||||
// @author pixeltris
|
// @author pixeltris
|
||||||
// @match *://*.twitch.tv/*
|
// @match *://*.twitch.tv/*
|
||||||
@ -249,15 +249,17 @@
|
|||||||
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var backupM3u8 = null;
|
if (streamInfo.BackupUrl != null) {
|
||||||
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
var backupM3u8 = null;
|
||||||
if (backupM3u8Response.status == 200) {
|
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
||||||
backupM3u8 = await backupM3u8Response.text();
|
if (backupM3u8Response.status == 200) {
|
||||||
}
|
backupM3u8 = await backupM3u8Response.text();
|
||||||
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
}
|
||||||
return backupM3u8;
|
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
||||||
} else {
|
return backupM3u8;
|
||||||
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
} else {
|
||||||
|
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log('Fetching backup m3u8 failed');
|
console.log('Fetching backup m3u8 failed');
|
||||||
@ -265,6 +267,9 @@
|
|||||||
}
|
}
|
||||||
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
||||||
console.log('Ad blocking failed. Stream might break.');
|
console.log('Ad blocking failed. Stream might break.');
|
||||||
|
postMessage({key:'UboReloadPlayer'});
|
||||||
|
streamInfo.BackupFailed = false;
|
||||||
|
streamInfo.BackupUrl = null;
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
if (streamInfo.HadAds) {
|
if (streamInfo.HadAds) {
|
||||||
|
@ -240,15 +240,17 @@ twitch-videoad.js application/javascript
|
|||||||
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var backupM3u8 = null;
|
if (streamInfo.BackupUrl != null) {
|
||||||
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
var backupM3u8 = null;
|
||||||
if (backupM3u8Response.status == 200) {
|
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
||||||
backupM3u8 = await backupM3u8Response.text();
|
if (backupM3u8Response.status == 200) {
|
||||||
}
|
backupM3u8 = await backupM3u8Response.text();
|
||||||
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
}
|
||||||
return backupM3u8;
|
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
||||||
} else {
|
return backupM3u8;
|
||||||
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
} else {
|
||||||
|
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log('Fetching backup m3u8 failed');
|
console.log('Fetching backup m3u8 failed');
|
||||||
@ -256,6 +258,9 @@ twitch-videoad.js application/javascript
|
|||||||
}
|
}
|
||||||
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
||||||
console.log('Ad blocking failed. Stream might break.');
|
console.log('Ad blocking failed. Stream might break.');
|
||||||
|
postMessage({key:'UboReloadPlayer'});
|
||||||
|
streamInfo.BackupFailed = false;
|
||||||
|
streamInfo.BackupUrl = null;
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
if (streamInfo.HadAds) {
|
if (streamInfo.HadAds) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name TwitchAdSolutions (notify-reload)
|
// @name TwitchAdSolutions (notify-reload)
|
||||||
// @namespace https://github.com/pixeltris/TwitchAdSolutions
|
// @namespace https://github.com/pixeltris/TwitchAdSolutions
|
||||||
// @version 1.6
|
// @version 1.7
|
||||||
// @updateURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-reload/notify-reload.user.js
|
// @updateURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-reload/notify-reload.user.js
|
||||||
// @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-reload/notify-reload.user.js
|
// @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-reload/notify-reload.user.js
|
||||||
// @description Multiple solutions for blocking Twitch ads (notify-reload)
|
// @description Multiple solutions for blocking Twitch ads (notify-reload)
|
||||||
@ -251,15 +251,17 @@
|
|||||||
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var backupM3u8 = null;
|
if (streamInfo.BackupUrl != null) {
|
||||||
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
var backupM3u8 = null;
|
||||||
if (backupM3u8Response.status == 200) {
|
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
||||||
backupM3u8 = await backupM3u8Response.text();
|
if (backupM3u8Response.status == 200) {
|
||||||
}
|
backupM3u8 = await backupM3u8Response.text();
|
||||||
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
}
|
||||||
return backupM3u8;
|
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
||||||
} else {
|
return backupM3u8;
|
||||||
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
} else {
|
||||||
|
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log('Fetching backup m3u8 failed');
|
console.log('Fetching backup m3u8 failed');
|
||||||
@ -267,6 +269,9 @@
|
|||||||
}
|
}
|
||||||
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
||||||
console.log('Ad blocking failed. Stream might break.');
|
console.log('Ad blocking failed. Stream might break.');
|
||||||
|
postMessage({key:'UboReloadPlayer'});
|
||||||
|
streamInfo.BackupFailed = false;
|
||||||
|
streamInfo.BackupUrl = null;
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
if (streamInfo.HadAds) {
|
if (streamInfo.HadAds) {
|
||||||
|
@ -240,15 +240,17 @@ twitch-videoad.js application/javascript
|
|||||||
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var backupM3u8 = null;
|
if (streamInfo.BackupUrl != null) {
|
||||||
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
var backupM3u8 = null;
|
||||||
if (backupM3u8Response.status == 200) {
|
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
||||||
backupM3u8 = await backupM3u8Response.text();
|
if (backupM3u8Response.status == 200) {
|
||||||
}
|
backupM3u8 = await backupM3u8Response.text();
|
||||||
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
}
|
||||||
return backupM3u8;
|
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
||||||
} else {
|
return backupM3u8;
|
||||||
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
} else {
|
||||||
|
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log('Fetching backup m3u8 failed');
|
console.log('Fetching backup m3u8 failed');
|
||||||
@ -256,6 +258,9 @@ twitch-videoad.js application/javascript
|
|||||||
}
|
}
|
||||||
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
||||||
console.log('Ad blocking failed. Stream might break.');
|
console.log('Ad blocking failed. Stream might break.');
|
||||||
|
postMessage({key:'UboReloadPlayer'});
|
||||||
|
streamInfo.BackupFailed = false;
|
||||||
|
streamInfo.BackupUrl = null;
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
if (streamInfo.HadAds) {
|
if (streamInfo.HadAds) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name TwitchAdSolutions (notify-strip)
|
// @name TwitchAdSolutions (notify-strip)
|
||||||
// @namespace https://github.com/pixeltris/TwitchAdSolutions
|
// @namespace https://github.com/pixeltris/TwitchAdSolutions
|
||||||
// @version 1.6
|
// @version 1.7
|
||||||
// @updateURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-strip/notify-strip.user.js
|
// @updateURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-strip/notify-strip.user.js
|
||||||
// @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-strip/notify-strip.user.js
|
// @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-strip/notify-strip.user.js
|
||||||
// @description Multiple solutions for blocking Twitch ads (notify-strip)
|
// @description Multiple solutions for blocking Twitch ads (notify-strip)
|
||||||
@ -251,15 +251,17 @@
|
|||||||
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var backupM3u8 = null;
|
if (streamInfo.BackupUrl != null) {
|
||||||
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
var backupM3u8 = null;
|
||||||
if (backupM3u8Response.status == 200) {
|
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
||||||
backupM3u8 = await backupM3u8Response.text();
|
if (backupM3u8Response.status == 200) {
|
||||||
}
|
backupM3u8 = await backupM3u8Response.text();
|
||||||
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
}
|
||||||
return backupM3u8;
|
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
||||||
} else {
|
return backupM3u8;
|
||||||
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
} else {
|
||||||
|
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log('Fetching backup m3u8 failed');
|
console.log('Fetching backup m3u8 failed');
|
||||||
@ -267,6 +269,9 @@
|
|||||||
}
|
}
|
||||||
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
||||||
console.log('Ad blocking failed. Stream might break.');
|
console.log('Ad blocking failed. Stream might break.');
|
||||||
|
postMessage({key:'UboReloadPlayer'});
|
||||||
|
streamInfo.BackupFailed = false;
|
||||||
|
streamInfo.BackupUrl = null;
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
if (streamInfo.HadAds) {
|
if (streamInfo.HadAds) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user