From 75d7b8a56e23ccddb05b20ca8e78773f4c426206 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 15 Apr 2025 19:24:35 -0400 Subject: [PATCH] add 0014-ci-improve-container-image-build-times.patch --- patches/0001-ci-update-deno-to-2.2.9.patch | 4 +- ...-for-an-external-videoplayback-proxy.patch | 4 +- ...external-videoplayback-proxy-via-inf.patch | 4 +- ...ion-limit-on-DASH-streams-to-save-ba.patch | 4 +- ...-env-variable-to-set-verify_requests.patch | 4 +- ...eat-add-support-for-multiple-proxies.patch | 4 +- ...-to-disable-potoken-generation-check.patch | 4 +- ...add-proxy-retries-on-innertube-error.patch | 4 +- .../0009-add-metrics-for-proxy-retries.patch | 4 +- ...10-fix-fix-tokio-overflow-on-compile.patch | 4 +- ...variable-for-youtube_session.frequen.patch | 4 +- .../0012-add-option-to-disable-logging.patch | 4 +- ...-track-unidentified-innertube-errors.patch | 4 +- ...-improve-container-image-build-times.patch | 52 +++++++++++++++++++ 14 files changed, 78 insertions(+), 26 deletions(-) create mode 100644 patches/0014-ci-improve-container-image-build-times.patch diff --git a/patches/0001-ci-update-deno-to-2.2.9.patch b/patches/0001-ci-update-deno-to-2.2.9.patch index ec6eb38..d842b77 100644 --- a/patches/0001-ci-update-deno-to-2.2.9.patch +++ b/patches/0001-ci-update-deno-to-2.2.9.patch @@ -1,7 +1,7 @@ -From 304a11d7dbb5ea7b2a0a0807b72b7a8fd412fe45 Mon Sep 17 00:00:00 2001 +From f1a0d9c3d7034fe85938894df555840adab768d3 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:37:34 -0300 -Subject: [PATCH 01/13] ci: update deno to 2.2.9 +Subject: [PATCH 01/14] ci: update deno to 2.2.9 --- Dockerfile | 2 +- diff --git a/patches/0002-feat-add-support-for-an-external-videoplayback-proxy.patch b/patches/0002-feat-add-support-for-an-external-videoplayback-proxy.patch index 71a7b67..a18cd34 100644 --- a/patches/0002-feat-add-support-for-an-external-videoplayback-proxy.patch +++ b/patches/0002-feat-add-support-for-an-external-videoplayback-proxy.patch @@ -1,7 +1,7 @@ -From 7cb6f3aef050b13290bd2184f26727d15b8b1399 Mon Sep 17 00:00:00 2001 +From 721a3453b1f928ea414aec7d70c70cc9706c9c5c Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 18:44:10 -0300 -Subject: [PATCH 02/13] feat: add support for an external videoplayback proxy +Subject: [PATCH 02/14] feat: add support for an external videoplayback proxy --- config/config.example.toml | 1 + diff --git a/patches/0003-feat-report-the-external-videoplayback-proxy-via-inf.patch b/patches/0003-feat-report-the-external-videoplayback-proxy-via-inf.patch index 7156796..e72529e 100644 --- a/patches/0003-feat-report-the-external-videoplayback-proxy-via-inf.patch +++ b/patches/0003-feat-report-the-external-videoplayback-proxy-via-inf.patch @@ -1,7 +1,7 @@ -From 6bf25c88d4201ae64b8995999f68f5d8041068d8 Mon Sep 17 00:00:00 2001 +From 6328ec2ef273e5c5b30b47818c8d9772afe060d3 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 18:52:53 -0300 -Subject: [PATCH 03/13] feat: report the external videoplayback proxy via /info +Subject: [PATCH 03/14] feat: report the external videoplayback proxy via /info endpoint --- diff --git a/patches/0004-feat-add-resolution-limit-on-DASH-streams-to-save-ba.patch b/patches/0004-feat-add-resolution-limit-on-DASH-streams-to-save-ba.patch index 4d29761..c565c03 100644 --- a/patches/0004-feat-add-resolution-limit-on-DASH-streams-to-save-ba.patch +++ b/patches/0004-feat-add-resolution-limit-on-DASH-streams-to-save-ba.patch @@ -1,7 +1,7 @@ -From 78e38dca6a6aa534a82f9baca9a6bdeb13c463b3 Mon Sep 17 00:00:00 2001 +From bc3aadc5095dbd4db4c51919fd33a4d5914fae46 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:02:01 -0300 -Subject: [PATCH 04/13] feat: add resolution limit on DASH streams to save +Subject: [PATCH 04/14] feat: add resolution limit on DASH streams to save bandwidth --- diff --git a/patches/0005-feat-add-env-variable-to-set-verify_requests.patch b/patches/0005-feat-add-env-variable-to-set-verify_requests.patch index ca49ed0..11f18f1 100644 --- a/patches/0005-feat-add-env-variable-to-set-verify_requests.patch +++ b/patches/0005-feat-add-env-variable-to-set-verify_requests.patch @@ -1,7 +1,7 @@ -From ccbac1fa1a5e2d003e8781f1a40ce2c8921e750b Mon Sep 17 00:00:00 2001 +From 41448b8a4f8202502941e8586250f32ea36e75d0 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:06:04 -0300 -Subject: [PATCH 05/13] feat: add env variable to set verify_requests +Subject: [PATCH 05/14] feat: add env variable to set verify_requests --- src/lib/helpers/config.ts | 4 +++- diff --git a/patches/0006-feat-add-support-for-multiple-proxies.patch b/patches/0006-feat-add-support-for-multiple-proxies.patch index 2fd89ce..c6787b6 100644 --- a/patches/0006-feat-add-support-for-multiple-proxies.patch +++ b/patches/0006-feat-add-support-for-multiple-proxies.patch @@ -1,7 +1,7 @@ -From 118a43eb29e5c0d177f24b397b6cea03d1f9f81f Mon Sep 17 00:00:00 2001 +From 25bc3a9825d909f8b1c62aabb589632a9077a63a Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:20:52 -0300 -Subject: [PATCH 06/13] feat: add support for multiple proxies +Subject: [PATCH 06/14] feat: add support for multiple proxies --- src/lib/helpers/getFetchClient.ts | 17 ++++++++++++++++- diff --git a/patches/0007-feat-add-option-to-disable-potoken-generation-check.patch b/patches/0007-feat-add-option-to-disable-potoken-generation-check.patch index 35d9b97..ec8bfdb 100644 --- a/patches/0007-feat-add-option-to-disable-potoken-generation-check.patch +++ b/patches/0007-feat-add-option-to-disable-potoken-generation-check.patch @@ -1,7 +1,7 @@ -From 366732c6fec10c7efe360e208974352b93078850 Mon Sep 17 00:00:00 2001 +From 28b99a622eedd27e1d17ca56cac60bbc1c1066a8 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 20:34:33 -0300 -Subject: [PATCH 07/13] feat: add option to disable potoken generation check +Subject: [PATCH 07/14] feat: add option to disable potoken generation check --- config/config.example.toml | 1 + diff --git a/patches/0008-add-proxy-retries-on-innertube-error.patch b/patches/0008-add-proxy-retries-on-innertube-error.patch index 750d65a..c099836 100644 --- a/patches/0008-add-proxy-retries-on-innertube-error.patch +++ b/patches/0008-add-proxy-retries-on-innertube-error.patch @@ -1,7 +1,7 @@ -From 14316bc947ac4445465fd8a71bdca3dee2eebb37 Mon Sep 17 00:00:00 2001 +From 97e5df9b3e3eb8b02c5b07ee975cb94df1cb1265 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 25 Mar 2025 00:04:47 -0300 -Subject: [PATCH 08/13] add proxy retries on innertube error +Subject: [PATCH 08/14] add proxy retries on innertube error --- src/lib/helpers/config.ts | 1 + diff --git a/patches/0009-add-metrics-for-proxy-retries.patch b/patches/0009-add-metrics-for-proxy-retries.patch index 09e4ca7..a726eb4 100644 --- a/patches/0009-add-metrics-for-proxy-retries.patch +++ b/patches/0009-add-metrics-for-proxy-retries.patch @@ -1,7 +1,7 @@ -From 8abaf38caf956720e39c32425c69452472cffecc Mon Sep 17 00:00:00 2001 +From eafd5e7931f70f5efe22cfce878adf3d3af9baab Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 25 Mar 2025 00:07:28 -0300 -Subject: [PATCH 09/13] add metrics for proxy retries +Subject: [PATCH 09/14] add metrics for proxy retries --- src/lib/helpers/metrics.ts | 5 +++++ diff --git a/patches/0010-fix-fix-tokio-overflow-on-compile.patch b/patches/0010-fix-fix-tokio-overflow-on-compile.patch index b03acc8..83e701a 100644 --- a/patches/0010-fix-fix-tokio-overflow-on-compile.patch +++ b/patches/0010-fix-fix-tokio-overflow-on-compile.patch @@ -1,7 +1,7 @@ -From e4b515fe5b7819b5e1e210f5648e7163ea7236cc Mon Sep 17 00:00:00 2001 +From 62bb86e2fca4227330dd6517a3354d62e9531353 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 25 Mar 2025 00:24:07 -0300 -Subject: [PATCH 10/13] fix: fix tokio overflow on compile +Subject: [PATCH 10/14] fix: fix tokio overflow on compile --- Dockerfile | 2 ++ diff --git a/patches/0011-Add-environment-variable-for-youtube_session.frequen.patch b/patches/0011-Add-environment-variable-for-youtube_session.frequen.patch index 45bd25b..7ef7053 100644 --- a/patches/0011-Add-environment-variable-for-youtube_session.frequen.patch +++ b/patches/0011-Add-environment-variable-for-youtube_session.frequen.patch @@ -1,7 +1,7 @@ -From f700501126aeb9517e679055e7f6b8e626455fa7 Mon Sep 17 00:00:00 2001 +From 3f266906b3beb01b20d5b964514121ba7acd8a8a Mon Sep 17 00:00:00 2001 From: Fijxu Date: Wed, 26 Mar 2025 12:24:49 -0300 -Subject: [PATCH 11/13] Add environment variable for youtube_session.frequency +Subject: [PATCH 11/14] Add environment variable for youtube_session.frequency --- src/lib/helpers/config.ts | 4 +++- diff --git a/patches/0012-add-option-to-disable-logging.patch b/patches/0012-add-option-to-disable-logging.patch index be93c45..c44be45 100644 --- a/patches/0012-add-option-to-disable-logging.patch +++ b/patches/0012-add-option-to-disable-logging.patch @@ -1,7 +1,7 @@ -From 32afd34c9d071c36e9ebcdb3fd637b2041e879df Mon Sep 17 00:00:00 2001 +From d19516244342b0f8d44c1a50f41d57066b1d85ad Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 8 Apr 2025 02:21:10 -0400 -Subject: [PATCH 12/13] add option to disable logging +Subject: [PATCH 12/14] add option to disable logging --- src/lib/helpers/config.ts | 7 ++++++- diff --git a/patches/0013-metrics-track-unidentified-innertube-errors.patch b/patches/0013-metrics-track-unidentified-innertube-errors.patch index 4a877e3..dddda24 100644 --- a/patches/0013-metrics-track-unidentified-innertube-errors.patch +++ b/patches/0013-metrics-track-unidentified-innertube-errors.patch @@ -1,7 +1,7 @@ -From e2b7c8156fbc137f621036b2dd5fa4d34e383a0a Mon Sep 17 00:00:00 2001 +From a18ba4ac49ae7bd3c8a82175875c9398d3c09056 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Wed, 9 Apr 2025 13:37:16 -0400 -Subject: [PATCH 13/13] metrics: track unidentified innertube errors +Subject: [PATCH 13/14] metrics: track unidentified innertube errors --- src/lib/helpers/config.ts | 4 ++ diff --git a/patches/0014-ci-improve-container-image-build-times.patch b/patches/0014-ci-improve-container-image-build-times.patch new file mode 100644 index 0000000..cacf169 --- /dev/null +++ b/patches/0014-ci-improve-container-image-build-times.patch @@ -0,0 +1,52 @@ +From c602b6acca506dc354283cae1f13f30c0d5829f7 Mon Sep 17 00:00:00 2001 +From: Fijxu +Date: Tue, 15 Apr 2025 19:20:52 -0400 +Subject: [PATCH 14/14] ci: improve container image build times + +--- + .github/workflows/docker-build-push.yaml | 2 ++ + Dockerfile | 11 ++++++++--- + 2 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/.github/workflows/docker-build-push.yaml b/.github/workflows/docker-build-push.yaml +index 8a79d77..69561fa 100644 +--- a/.github/workflows/docker-build-push.yaml ++++ b/.github/workflows/docker-build-push.yaml +@@ -70,3 +70,5 @@ jobs: + platforms: linux/amd64,linux/arm64 # Build for multiple architectures + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} ++ cache-from: type=gha ++ cache-to: type=gha,mode=max +diff --git a/Dockerfile b/Dockerfile +index 370678d..3a573b7 100644 +--- a/Dockerfile ++++ b/Dockerfile +@@ -11,9 +11,6 @@ RUN mkdir -p /var/tmp/youtubei.js + + RUN apt update && apt install -y curl + +-COPY ./src/ /app/src/ +-COPY deno.json /app/ +- + RUN curl -fsSL https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$(dpkg --print-architecture) \ + --output /tini \ + && chmod +x /tini +@@ -23,6 +20,14 @@ RUN arch=$(uname -m) && \ + --output /thc \ + && chmod +x /thc + ++COPY deno.json /app/ ++COPY deno.lock /app/ ++ ++# Dependencies are cached on /deno-dir for the denoland/deno:debian image ++RUN --mount=type=cache,target=/deno-dir deno install ++ ++COPY ./src/ /app/src/ ++ + RUN deno task compile + + # Stage for creating the non-privileged user +-- +2.49.0 +