diff --git a/base/base.user.js b/base/base.user.js index 22b41ae..6b1c85b 100644 --- a/base/base.user.js +++ b/base/base.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name TwitchAdSolutions // @namespace https://github.com/pixeltris/TwitchAdSolutions -// @version 1.6 +// @version 1.7 // @description Multiple solutions for blocking Twitch ads // @author pixeltris // @match *://*.twitch.tv/* @@ -249,15 +249,17 @@ console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status); } } - var backupM3u8 = null; - var backupM3u8Response = await realFetch(streamInfo.BackupUrl); - if (backupM3u8Response.status == 200) { - backupM3u8 = await backupM3u8Response.text(); - } - if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) { - return backupM3u8; - } else { - console.log('Backup m3u8 failed with ' + backupM3u8Response.status); + if (streamInfo.BackupUrl != null) { + var backupM3u8 = null; + var backupM3u8Response = await realFetch(streamInfo.BackupUrl); + if (backupM3u8Response.status == 200) { + backupM3u8 = await backupM3u8Response.text(); + } + if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) { + return backupM3u8; + } else { + console.log('Backup m3u8 failed with ' + backupM3u8Response.status); + } } } catch (err) { console.log('Fetching backup m3u8 failed'); @@ -265,6 +267,9 @@ } // Backups failed. Return nothing (this will likely result in spam or player error 2000?). console.log('Ad blocking failed. Stream might break.'); + postMessage({key:'UboReloadPlayer'}); + streamInfo.BackupFailed = false; + streamInfo.BackupUrl = null; return ''; } if (streamInfo.HadAds) { diff --git a/notify-reload/notify-reload-ublock-origin.js b/notify-reload/notify-reload-ublock-origin.js index 48aeac3..e0d3127 100644 --- a/notify-reload/notify-reload-ublock-origin.js +++ b/notify-reload/notify-reload-ublock-origin.js @@ -240,15 +240,17 @@ twitch-videoad.js application/javascript console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status); } } - var backupM3u8 = null; - var backupM3u8Response = await realFetch(streamInfo.BackupUrl); - if (backupM3u8Response.status == 200) { - backupM3u8 = await backupM3u8Response.text(); - } - if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) { - return backupM3u8; - } else { - console.log('Backup m3u8 failed with ' + backupM3u8Response.status); + if (streamInfo.BackupUrl != null) { + var backupM3u8 = null; + var backupM3u8Response = await realFetch(streamInfo.BackupUrl); + if (backupM3u8Response.status == 200) { + backupM3u8 = await backupM3u8Response.text(); + } + if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) { + return backupM3u8; + } else { + console.log('Backup m3u8 failed with ' + backupM3u8Response.status); + } } } catch (err) { 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?). console.log('Ad blocking failed. Stream might break.'); + postMessage({key:'UboReloadPlayer'}); + streamInfo.BackupFailed = false; + streamInfo.BackupUrl = null; return ''; } if (streamInfo.HadAds) { diff --git a/notify-reload/notify-reload.user.js b/notify-reload/notify-reload.user.js index d300622..191882a 100644 --- a/notify-reload/notify-reload.user.js +++ b/notify-reload/notify-reload.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name TwitchAdSolutions (notify-reload) // @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 // @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-reload/notify-reload.user.js // @description Multiple solutions for blocking Twitch ads (notify-reload) @@ -251,15 +251,17 @@ console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status); } } - var backupM3u8 = null; - var backupM3u8Response = await realFetch(streamInfo.BackupUrl); - if (backupM3u8Response.status == 200) { - backupM3u8 = await backupM3u8Response.text(); - } - if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) { - return backupM3u8; - } else { - console.log('Backup m3u8 failed with ' + backupM3u8Response.status); + if (streamInfo.BackupUrl != null) { + var backupM3u8 = null; + var backupM3u8Response = await realFetch(streamInfo.BackupUrl); + if (backupM3u8Response.status == 200) { + backupM3u8 = await backupM3u8Response.text(); + } + if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) { + return backupM3u8; + } else { + console.log('Backup m3u8 failed with ' + backupM3u8Response.status); + } } } catch (err) { console.log('Fetching backup m3u8 failed'); @@ -267,6 +269,9 @@ } // Backups failed. Return nothing (this will likely result in spam or player error 2000?). console.log('Ad blocking failed. Stream might break.'); + postMessage({key:'UboReloadPlayer'}); + streamInfo.BackupFailed = false; + streamInfo.BackupUrl = null; return ''; } if (streamInfo.HadAds) { diff --git a/notify-strip/notify-strip-ublock-origin.js b/notify-strip/notify-strip-ublock-origin.js index a62c9ca..97ab4a6 100644 --- a/notify-strip/notify-strip-ublock-origin.js +++ b/notify-strip/notify-strip-ublock-origin.js @@ -240,15 +240,17 @@ twitch-videoad.js application/javascript console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status); } } - var backupM3u8 = null; - var backupM3u8Response = await realFetch(streamInfo.BackupUrl); - if (backupM3u8Response.status == 200) { - backupM3u8 = await backupM3u8Response.text(); - } - if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) { - return backupM3u8; - } else { - console.log('Backup m3u8 failed with ' + backupM3u8Response.status); + if (streamInfo.BackupUrl != null) { + var backupM3u8 = null; + var backupM3u8Response = await realFetch(streamInfo.BackupUrl); + if (backupM3u8Response.status == 200) { + backupM3u8 = await backupM3u8Response.text(); + } + if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) { + return backupM3u8; + } else { + console.log('Backup m3u8 failed with ' + backupM3u8Response.status); + } } } catch (err) { 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?). console.log('Ad blocking failed. Stream might break.'); + postMessage({key:'UboReloadPlayer'}); + streamInfo.BackupFailed = false; + streamInfo.BackupUrl = null; return ''; } if (streamInfo.HadAds) { diff --git a/notify-strip/notify-strip.user.js b/notify-strip/notify-strip.user.js index 4594508..3f9f280 100644 --- a/notify-strip/notify-strip.user.js +++ b/notify-strip/notify-strip.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name TwitchAdSolutions (notify-strip) // @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 // @downloadURL https://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-strip/notify-strip.user.js // @description Multiple solutions for blocking Twitch ads (notify-strip) @@ -251,15 +251,17 @@ console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status); } } - var backupM3u8 = null; - var backupM3u8Response = await realFetch(streamInfo.BackupUrl); - if (backupM3u8Response.status == 200) { - backupM3u8 = await backupM3u8Response.text(); - } - if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) { - return backupM3u8; - } else { - console.log('Backup m3u8 failed with ' + backupM3u8Response.status); + if (streamInfo.BackupUrl != null) { + var backupM3u8 = null; + var backupM3u8Response = await realFetch(streamInfo.BackupUrl); + if (backupM3u8Response.status == 200) { + backupM3u8 = await backupM3u8Response.text(); + } + if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) { + return backupM3u8; + } else { + console.log('Backup m3u8 failed with ' + backupM3u8Response.status); + } } } catch (err) { console.log('Fetching backup m3u8 failed'); @@ -267,6 +269,9 @@ } // Backups failed. Return nothing (this will likely result in spam or player error 2000?). console.log('Ad blocking failed. Stream might break.'); + postMessage({key:'UboReloadPlayer'}); + streamInfo.BackupFailed = false; + streamInfo.BackupUrl = null; return ''; } if (streamInfo.HadAds) {