From f5facc7d399e72499379dbcf76d0ed2405f7e5b7 Mon Sep 17 00:00:00 2001 From: wukko Date: Thu, 1 Aug 2024 07:43:51 +0600 Subject: [PATCH 1/4] youtube: catch cipher errors not the first and seemingly not the last time it's gonna happen --- src/localization/languages/en.json | 3 ++- src/modules/processing/services/youtube.js | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/localization/languages/en.json b/src/localization/languages/en.json index 2b10f41d..8db4585b 100644 --- a/src/localization/languages/en.json +++ b/src/localization/languages/en.json @@ -160,6 +160,7 @@ "ErrorYTAgeRestrict": "this youtube video is age-restricted, so i can't see it. try another one!", "ErrorYTLogin": "couldn't get this youtube video because it requires an account to view.\n\nthis limitation is done by google to seemingly stop scraping, affecting all 3rd party tools and even their own clients.\n\ntry again, but if issue persists, {ContactLink}.", "ErrorYTRateLimit": "i got rate limited by youtube. try again in a few seconds, but if issue persists, {ContactLink}.", - "ErrorInvalidAcceptHeader": "invalid accept header" + "ErrorInvalidAcceptHeader": "invalid accept header", + "ErrorYoutubeDecipher": "youtube updated its decipher algorithm, so i can't get the video info. try again, but if it still doesn't work, please create an issue on github." } } diff --git a/src/modules/processing/services/youtube.js b/src/modules/processing/services/youtube.js index 5aa201ce..d3ee5602 100644 --- a/src/modules/processing/services/youtube.js +++ b/src/modules/processing/services/youtube.js @@ -50,7 +50,9 @@ const transformSessionData = (cookie) => { const cloneInnertube = async (customFetch) => { const innertube = await ytBase; if (innertube instanceof Error) { - throw innertube; + if (innertube?.message?.endsWith("decipher algorithm")) { + return { error: "ErrorYoutubeDecipher" } + } else throw innertube; } const session = new Session( @@ -101,6 +103,7 @@ export default async function(o) { dispatcher: o.dispatcher }) ); + if (yt.error) return yt; const quality = o.quality === "max" ? "9000" : o.quality; From 6626d74746b88420ec80e6b707a8d7cd01a4f5d9 Mon Sep 17 00:00:00 2001 From: wukko Date: Thu, 1 Aug 2024 07:51:26 +0600 Subject: [PATCH 2/4] package: use set youtube.js commit from github --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 87e11661..6afe977b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "set-cookie-parser": "2.6.0", "undici": "^5.19.1", "url-pattern": "1.0.3", - "youtubei.js": "^10.2.0" + "youtubei.js": "git://github.com/LuanRT/YouTube.js.git#04369be620e452ab3c4b2d14991fc55773995137" }, "engines": { "node": ">=18" @@ -1124,8 +1124,8 @@ }, "node_modules/youtubei.js": { "version": "10.2.0", - "resolved": "https://registry.npmjs.org/youtubei.js/-/youtubei.js-10.2.0.tgz", - "integrity": "sha512-JLKW9AHQ1qrTwBbre1aDkH8UJFmNcc4+kOSaVou5jSY7AzfFPFJK0yvX6afnLst0UVC9wfXHrLiNx93sutVErA==", + "resolved": "git+ssh://git@github.com/LuanRT/YouTube.js.git#04369be620e452ab3c4b2d14991fc55773995137", + "integrity": "sha512-rFjkH7A8ZvQRmCCxIj/AfWHIkEZTQI5N2VN2Oag77oEHF3HYKMNwQkHPVSDNR/qy61cJVvEoP5Azuk0GK7+VFQ==", "funding": [ "https://github.com/sponsors/LuanRT" ], diff --git a/package.json b/package.json index 58fdec83..5900a034 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "set-cookie-parser": "2.6.0", "undici": "^5.19.1", "url-pattern": "1.0.3", - "youtubei.js": "^10.2.0" + "youtubei.js": "git://github.com/LuanRT/YouTube.js.git#04369be620e452ab3c4b2d14991fc55773995137" }, "optionalDependencies": { "freebind": "^0.2.2" From 4f100b626bc848e3bdffd8f243c9650ea95e5f81 Mon Sep 17 00:00:00 2001 From: wukko Date: Thu, 1 Aug 2024 08:21:52 +0600 Subject: [PATCH 3/4] workflows/docker: bump version of build & push action --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ee3d757b..ae83b419 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -48,7 +48,7 @@ jobs: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push Docker image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: . platforms: linux/amd64,linux/arm64,linux/arm/v7 From 38e43d4a8b4e7f61b6bad9a846c0eac6f21b0101 Mon Sep 17 00:00:00 2001 From: wukko Date: Thu, 1 Aug 2024 08:54:26 +0600 Subject: [PATCH 4/4] workflows/docker: remove arm64 and arm7 builds temporary, github action builds hang for 30 FUCKING MINUTES and i need to deploy the patch --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ae83b419..196c4190 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -51,7 +51,7 @@ jobs: uses: docker/build-push-action@v6 with: context: . - platforms: linux/amd64,linux/arm64,linux/arm/v7 + platforms: linux/amd64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}