From fc4373160d0a599396de2afb816ce03036c3d24f Mon Sep 17 00:00:00 2001
From: younesaassila <47226184+younesaassila@users.noreply.github.com>
Date: Tue, 10 Oct 2023 17:00:26 +0200
Subject: [PATCH 1/4] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Bump=20version=20numbe?=
=?UTF-8?q?r=20to=202.2.1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 4 ++--
package.json | 2 +-
src/manifest.chromium.json | 2 +-
src/manifest.firefox.json | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 82f3d99..c30d300 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "ttv-lol-pro",
- "version": "2.2.0",
+ "version": "2.2.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ttv-lol-pro",
- "version": "2.2.0",
+ "version": "2.2.1",
"license": "GPL-3.0",
"dependencies": {
"bowser": "^2.11.0",
diff --git a/package.json b/package.json
index db0806b..44fda86 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "ttv-lol-pro",
- "version": "2.2.0",
+ "version": "2.2.1",
"description": "TTV LOL PRO removes most livestream ads from Twitch.",
"@parcel/bundler-default": {
"minBundles": 10000000,
diff --git a/src/manifest.chromium.json b/src/manifest.chromium.json
index 7b0d9d7..4be563b 100644
--- a/src/manifest.chromium.json
+++ b/src/manifest.chromium.json
@@ -2,7 +2,7 @@
"manifest_version": 3,
"name": "TTV LOL PRO",
"description": "TTV LOL PRO removes most livestream ads from Twitch.",
- "version": "2.2.0",
+ "version": "2.2.1",
"background": {
"service_worker": "background/background.ts",
"type": "module"
diff --git a/src/manifest.firefox.json b/src/manifest.firefox.json
index 5ecd3e3..f9833f6 100644
--- a/src/manifest.firefox.json
+++ b/src/manifest.firefox.json
@@ -2,7 +2,7 @@
"manifest_version": 2,
"name": "TTV LOL PRO",
"description": "TTV LOL PRO removes most livestream ads from Twitch.",
- "version": "2.2.0",
+ "version": "2.2.1",
"background": {
"scripts": ["background/background.ts"],
"persistent": false
From 8d7a10ca323edd3cae4a972b5714f4b09796faa2 Mon Sep 17 00:00:00 2001
From: younesaassila <47226184+younesaassila@users.noreply.github.com>
Date: Tue, 10 Oct 2023 17:01:02 +0200
Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=90=9B=20Fix=20#261?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/page/getFetch.ts | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/src/page/getFetch.ts b/src/page/getFetch.ts
index f4e67a0..31d384c 100644
--- a/src/page/getFetch.ts
+++ b/src/page/getFetch.ts
@@ -28,7 +28,7 @@ export function getFetch(options: FetchOptions): typeof fetch {
if (options.shouldWaitForStore) {
setTimeout(() => {
options.shouldWaitForStore = false;
- }, 3000);
+ }, 5000);
}
return async function fetch(
@@ -87,15 +87,33 @@ export function getFetch(options: FetchOptions): typeof fetch {
console.debug(
"[TTV LOL PRO] 🥅 Caught GraphQL PlaybackAccessToken_Template request. Flagging…"
);
+
while (options.shouldWaitForStore) await sleep(100);
- if (options.state?.anonymousMode) {
- console.log("[TTV LOL PRO] ❓ Acting as anonymous user");
+ let graphQlBody = null;
+ try {
+ graphQlBody = JSON.parse(requestBody);
+ } catch {}
+ const channelName = graphQlBody?.variables?.login as string | undefined;
+ const whitelistedChannelsLower = options.state?.whitelistedChannels.map(
+ channel => channel.toLowerCase()
+ );
+ const isWhitelisted =
+ channelName != null &&
+ whitelistedChannelsLower != null &&
+ whitelistedChannelsLower.includes(channelName.toLowerCase());
+
+ if (options.state?.anonymousMode === true && !isWhitelisted) {
+ console.log("[TTV LOL PRO] 🕵️ Anonymous mode is enabled.");
setHeaderToMap(headersMap, "Authorization", "undefined");
removeHeaderFromMap(headersMap, "Client-Session-Id");
removeHeaderFromMap(headersMap, "Client-Version");
setHeaderToMap(headersMap, "Device-ID", generateRandomString(32));
removeHeaderFromMap(headersMap, "Sec-GPC");
removeHeaderFromMap(headersMap, "X-Device-Id");
+ } else if (options.state?.anonymousMode === true) {
+ console.log(
+ "[TTV LOL PRO] 🕵️ Anonymous mode is enabled but channel is whitelisted."
+ );
}
flagRequest(headersMap);
} else if (
From 9bb4f1ecd3a8a788d1be859acbb61c05cbe24026 Mon Sep 17 00:00:00 2001
From: younesaassila <47226184+younesaassila@users.noreply.github.com>
Date: Tue, 10 Oct 2023 17:05:33 +0200
Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=8E=A8=20Improve=20code=20clarity?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/page/getFetch.ts | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/src/page/getFetch.ts b/src/page/getFetch.ts
index 31d384c..e41814d 100644
--- a/src/page/getFetch.ts
+++ b/src/page/getFetch.ts
@@ -102,18 +102,20 @@ export function getFetch(options: FetchOptions): typeof fetch {
whitelistedChannelsLower != null &&
whitelistedChannelsLower.includes(channelName.toLowerCase());
- if (options.state?.anonymousMode === true && !isWhitelisted) {
- console.log("[TTV LOL PRO] 🕵️ Anonymous mode is enabled.");
- setHeaderToMap(headersMap, "Authorization", "undefined");
- removeHeaderFromMap(headersMap, "Client-Session-Id");
- removeHeaderFromMap(headersMap, "Client-Version");
- setHeaderToMap(headersMap, "Device-ID", generateRandomString(32));
- removeHeaderFromMap(headersMap, "Sec-GPC");
- removeHeaderFromMap(headersMap, "X-Device-Id");
- } else if (options.state?.anonymousMode === true) {
- console.log(
- "[TTV LOL PRO] 🕵️ Anonymous mode is enabled but channel is whitelisted."
- );
+ if (options.state?.anonymousMode === true) {
+ if (!isWhitelisted) {
+ console.log("[TTV LOL PRO] 🕵️ Anonymous mode is enabled.");
+ setHeaderToMap(headersMap, "Authorization", "undefined");
+ removeHeaderFromMap(headersMap, "Client-Session-Id");
+ removeHeaderFromMap(headersMap, "Client-Version");
+ setHeaderToMap(headersMap, "Device-ID", generateRandomString(32));
+ removeHeaderFromMap(headersMap, "Sec-GPC");
+ removeHeaderFromMap(headersMap, "X-Device-Id");
+ } else {
+ console.log(
+ "[TTV LOL PRO] 🕵️✋ Anonymous mode is enabled but channel is whitelisted."
+ );
+ }
}
flagRequest(headersMap);
} else if (
From 46a3d47cc99de6035d8a1ac3c5f93f33bbbb5e5d Mon Sep 17 00:00:00 2001
From: younesaassila <47226184+younesaassila@users.noreply.github.com>
Date: Tue, 10 Oct 2023 17:12:20 +0200
Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=8F=B7=EF=B8=8F=20Add=20"Recommended"?=
=?UTF-8?q?=20tag=20to=20anonymous=20mode?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/options/page.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/options/page.html b/src/options/page.html
index 02e6183..a435ed4 100644
--- a/src/options/page.html
+++ b/src/options/page.html
@@ -92,6 +92,7 @@
+ Recommended
Watch streams as if you were logged out. This option removes