diff --git a/patches/0001-ci-update-deno-to-2.2.10.patch b/patches/0001-ci-update-deno-to-2.2.10.patch index 1fe0236..30758e5 100644 --- a/patches/0001-ci-update-deno-to-2.2.10.patch +++ b/patches/0001-ci-update-deno-to-2.2.10.patch @@ -1,7 +1,7 @@ -From 9042bad1241f6c82cb0832bb95c0acecc814ce0b Mon Sep 17 00:00:00 2001 +From bb04e015ec50984b845e5168d78aef4c04f7f2a1 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:37:34 -0300 -Subject: [PATCH 01/16] ci: update deno to 2.2.10 +Subject: [PATCH 01/17] ci: update deno to 2.2.10 --- 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 7ed69de..17e463a 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 2bb84882f1b4ff22f9c7458ff74137fdc3505347 Mon Sep 17 00:00:00 2001 +From a8b9d8e07bead1f385e0195a0eee2a16e790cd4a Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 18:44:10 -0300 -Subject: [PATCH 02/16] feat: add support for an external videoplayback proxy +Subject: [PATCH 02/17] 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 4d7ffb2..4889f28 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 48e21725e158e2f81afd52c224ba24479400c625 Mon Sep 17 00:00:00 2001 +From 4d2d0cdbc3ad1fe6219be03777b7a16b3dda3cd5 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 18:52:53 -0300 -Subject: [PATCH 03/16] feat: report the external videoplayback proxy via /info +Subject: [PATCH 03/17] 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 7076edb..61904f8 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 437530429003f86bf2f6bee7e4715844a014b5b9 Mon Sep 17 00:00:00 2001 +From 9e4a26e3079d4526b065548437f8367beceb0c6c Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:02:01 -0300 -Subject: [PATCH 04/16] feat: add resolution limit on DASH streams to save +Subject: [PATCH 04/17] 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 8cb9f3d..d961337 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 13ae58c2c98e672f6dbc26d3f8706fd74ef0e453 Mon Sep 17 00:00:00 2001 +From e27726037b69c82c1f1c93d6bde7b3803450c63a Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:06:04 -0300 -Subject: [PATCH 05/16] feat: add env variable to set verify_requests +Subject: [PATCH 05/17] 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 acc04ed..667b14d 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 9aaa709981c487b8b0e27ac599b14e5482db70d6 Mon Sep 17 00:00:00 2001 +From dcebf7c1b4a6a6f9ed894f6b5ad0a413f1d0ffd9 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:20:52 -0300 -Subject: [PATCH 06/16] feat: add support for multiple proxies +Subject: [PATCH 06/17] 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 d42d2dd..d8a4810 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 1022daf7d82a26bfde9d94f8e1f7b073ea20c58c Mon Sep 17 00:00:00 2001 +From cfb2997113c7ba335de3efa31c9ce9ed2646c82a Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 20:34:33 -0300 -Subject: [PATCH 07/16] feat: add option to disable potoken generation check +Subject: [PATCH 07/17] 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 fc01114..e84b344 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 7b20307a3f2bb4aaf92ca9a66d38ceb3935ccca5 Mon Sep 17 00:00:00 2001 +From b75a191a2a9d8e1b54c1746754cc1027d611c4e5 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 25 Mar 2025 00:04:47 -0300 -Subject: [PATCH 08/16] add proxy retries on innertube error +Subject: [PATCH 08/17] 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 ae566cd..c30e4c0 100644 --- a/patches/0009-add-metrics-for-proxy-retries.patch +++ b/patches/0009-add-metrics-for-proxy-retries.patch @@ -1,7 +1,7 @@ -From 13d14720311211b80282ba00f1d7817015b84f09 Mon Sep 17 00:00:00 2001 +From 8bd671cec92a37acc4b35206d82c2aa10f677f75 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 25 Mar 2025 00:07:28 -0300 -Subject: [PATCH 09/16] add metrics for proxy retries +Subject: [PATCH 09/17] 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 04a82ed..5a79d59 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 bf6d61bcec02acc7d35532073f08544bfea6c748 Mon Sep 17 00:00:00 2001 +From 98d028765a8eeb4396ac8d900178c1088b33ca59 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 25 Mar 2025 00:24:07 -0300 -Subject: [PATCH 10/16] fix: fix tokio overflow on compile +Subject: [PATCH 10/17] 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 824a7ea..24553c6 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 6086b422b4bd140793e06eca2848924848dfdbd3 Mon Sep 17 00:00:00 2001 +From 807cad2a8ba67a80e34a77220d6026552df98640 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Wed, 26 Mar 2025 12:24:49 -0300 -Subject: [PATCH 11/16] Add environment variable for youtube_session.frequency +Subject: [PATCH 11/17] 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 ec83d60..eb5d495 100644 --- a/patches/0012-add-option-to-disable-logging.patch +++ b/patches/0012-add-option-to-disable-logging.patch @@ -1,7 +1,7 @@ -From a9dbc4f66174f2b2636081cbee3a1ea15a3f6691 Mon Sep 17 00:00:00 2001 +From 4f963fe9432d598e99d19c13301ccfbaa5e00973 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 8 Apr 2025 02:21:10 -0400 -Subject: [PATCH 12/16] add option to disable logging +Subject: [PATCH 12/17] 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 1bdc874..4aefa90 100644 --- a/patches/0013-metrics-track-unidentified-innertube-errors.patch +++ b/patches/0013-metrics-track-unidentified-innertube-errors.patch @@ -1,7 +1,7 @@ -From 3aea964fe800d82f8a5eee650841cb1208867ece Mon Sep 17 00:00:00 2001 +From 45f5a427e63174695f4233b093ab6496cfa82764 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 14 Apr 2025 01:24:57 -0400 -Subject: [PATCH 13/16] metrics: track unidentified innertube errors +Subject: [PATCH 13/17] metrics: track unidentified innertube errors --- src/lib/helpers/metrics.ts | 142 +++++++++++++++++++++++++++++-------- diff --git a/patches/0014-metrics-add-more-errors.patch b/patches/0014-metrics-add-more-errors.patch index 1c4781f..7cbdf74 100644 --- a/patches/0014-metrics-add-more-errors.patch +++ b/patches/0014-metrics-add-more-errors.patch @@ -1,7 +1,7 @@ -From b7df5e38e499652dbcc550d8ec6e0ec453bec04f Mon Sep 17 00:00:00 2001 +From c8c9d3d591681d508b7446e6a36a315345b8f80d Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 14 Apr 2025 01:25:40 -0400 -Subject: [PATCH 14/16] metrics: add more errors +Subject: [PATCH 14/17] metrics: add more errors Added reason and subreason for sentitive content videos ("CONTENT_CHECK_REQUIRED") diff --git a/patches/0015-ci-improve-container-image-build-times.patch b/patches/0015-ci-improve-container-image-build-times.patch index cc389a2..f5b6be1 100644 --- a/patches/0015-ci-improve-container-image-build-times.patch +++ b/patches/0015-ci-improve-container-image-build-times.patch @@ -1,7 +1,7 @@ -From b71e4f008e8ff3a4930b691835a04cd9b6d9b1ba Mon Sep 17 00:00:00 2001 +From f8ec0c6fa2ae2ce7fc3b9ed44c939ad8c5bc346b Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 15 Apr 2025 19:48:26 -0400 -Subject: [PATCH 15/16] ci: improve container image build times +Subject: [PATCH 15/17] ci: improve container image build times --- .github/workflows/docker-build-push.yaml | 2 ++ diff --git a/patches/0016-metrics-add-live-premiere-and-private-video-errors.patch b/patches/0016-metrics-add-live-premiere-and-private-video-errors.patch index 406be7a..00a934c 100644 --- a/patches/0016-metrics-add-live-premiere-and-private-video-errors.patch +++ b/patches/0016-metrics-add-live-premiere-and-private-video-errors.patch @@ -1,7 +1,7 @@ -From 888a5d73b9d08be88456d83d35e520e0aa54c148 Mon Sep 17 00:00:00 2001 +From da3a20d1802dd51e8771120679891859af51de82 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Sun, 20 Apr 2025 02:18:50 -0400 -Subject: [PATCH 16/16] metrics: add live, premiere and private video errors +Subject: [PATCH 16/17] metrics: add live, premiere and private video errors --- src/lib/helpers/metrics.ts | 42 ++++++++++++++++++++++++++++++++++++-- diff --git a/patches/0017-option-to-only-use-http-1.1-client-on-videoplayback-.patch b/patches/0017-option-to-only-use-http-1.1-client-on-videoplayback-.patch new file mode 100644 index 0000000..9bbe26d --- /dev/null +++ b/patches/0017-option-to-only-use-http-1.1-client-on-videoplayback-.patch @@ -0,0 +1,55 @@ +From 5d129fc771d47cb320ae9d72a194c902f37ea2a2 Mon Sep 17 00:00:00 2001 +From: Fijxu +Date: Mon, 21 Apr 2025 16:53:15 -0400 +Subject: [PATCH 17/17] option to only use http/1.1 client on videoplayback + requests + +--- + src/lib/helpers/config.ts | 6 ++++++ + src/routes/videoPlaybackProxy.ts | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/src/lib/helpers/config.ts b/src/lib/helpers/config.ts +index acb04bb..602e460 100644 +--- a/src/lib/helpers/config.ts ++++ b/src/lib/helpers/config.ts +@@ -46,6 +46,12 @@ export const ConfigSchema = z.object({ + max_proxy_retries: z.number().default( + Number(Deno.env.get("MAX_PROXY_RETIRES") || 5), + ), ++ h1VPClient: z.boolean().default( ++ Deno.env.get("NETWORKING_H1VPCLIENT") === ++ "false" ++ ? false ++ : true, ++ ), + }).strict().default({}), + jobs: z.object({ + youtube_session: z.object({ +diff --git a/src/routes/videoPlaybackProxy.ts b/src/routes/videoPlaybackProxy.ts +index 0f707d9..2af343e 100644 +--- a/src/routes/videoPlaybackProxy.ts ++++ b/src/routes/videoPlaybackProxy.ts +@@ -18,6 +18,11 @@ const { getFetchClient } = await import(getFetchClientLocation); + + const videoPlaybackProxy = new Hono(); + ++const h1client = Deno.createHttpClient({ ++ http1: true, ++ http2: false, ++}); ++ + videoPlaybackProxy.options("/", () => { + const headersForResponse: Record = { + "access-control-allow-origin": "*", +@@ -134,6 +139,7 @@ videoPlaybackProxy.get("/", async (c) => { + method: "POST", + body: new Uint8Array([0x78, 0]), // protobuf: { 15: 0 } (no idea what it means but this is what YouTube uses), + headers: headersToSend, ++ client: config.networking.h1VPClient ? h1client : undefined, + }, + ); + +-- +2.49.0 +