add patch option-to-only-use-http-1.1-client-on-videoplayback-
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m14s

This commit is contained in:
Fijxu 2025-04-21 17:01:07 -04:00
parent 5384b8b0e4
commit 24b0b27965
Signed by: Fijxu
GPG key ID: 32C1DDF333EDA6A4
17 changed files with 87 additions and 32 deletions

View file

@ -1,7 +1,7 @@
From 9042bad1241f6c82cb0832bb95c0acecc814ce0b Mon Sep 17 00:00:00 2001 From bb04e015ec50984b845e5168d78aef4c04f7f2a1 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 19:37:34 -0300 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 +- Dockerfile | 2 +-

View file

@ -1,7 +1,7 @@
From 2bb84882f1b4ff22f9c7458ff74137fdc3505347 Mon Sep 17 00:00:00 2001 From a8b9d8e07bead1f385e0195a0eee2a16e790cd4a Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 18:44:10 -0300 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 + config/config.example.toml | 1 +

View file

@ -1,7 +1,7 @@
From 48e21725e158e2f81afd52c224ba24479400c625 Mon Sep 17 00:00:00 2001 From 4d2d0cdbc3ad1fe6219be03777b7a16b3dda3cd5 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 18:52:53 -0300 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 endpoint
--- ---

View file

@ -1,7 +1,7 @@
From 437530429003f86bf2f6bee7e4715844a014b5b9 Mon Sep 17 00:00:00 2001 From 9e4a26e3079d4526b065548437f8367beceb0c6c Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 19:02:01 -0300 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 bandwidth
--- ---

View file

@ -1,7 +1,7 @@
From 13ae58c2c98e672f6dbc26d3f8706fd74ef0e453 Mon Sep 17 00:00:00 2001 From e27726037b69c82c1f1c93d6bde7b3803450c63a Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 19:06:04 -0300 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 +++- src/lib/helpers/config.ts | 4 +++-

View file

@ -1,7 +1,7 @@
From 9aaa709981c487b8b0e27ac599b14e5482db70d6 Mon Sep 17 00:00:00 2001 From dcebf7c1b4a6a6f9ed894f6b5ad0a413f1d0ffd9 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 19:20:52 -0300 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 ++++++++++++++++- src/lib/helpers/getFetchClient.ts | 17 ++++++++++++++++-

View file

@ -1,7 +1,7 @@
From 1022daf7d82a26bfde9d94f8e1f7b073ea20c58c Mon Sep 17 00:00:00 2001 From cfb2997113c7ba335de3efa31c9ce9ed2646c82a Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 24 Mar 2025 20:34:33 -0300 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 + config/config.example.toml | 1 +

View file

@ -1,7 +1,7 @@
From 7b20307a3f2bb4aaf92ca9a66d38ceb3935ccca5 Mon Sep 17 00:00:00 2001 From b75a191a2a9d8e1b54c1746754cc1027d611c4e5 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Tue, 25 Mar 2025 00:04:47 -0300 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 + src/lib/helpers/config.ts | 1 +

View file

@ -1,7 +1,7 @@
From 13d14720311211b80282ba00f1d7817015b84f09 Mon Sep 17 00:00:00 2001 From 8bd671cec92a37acc4b35206d82c2aa10f677f75 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Tue, 25 Mar 2025 00:07:28 -0300 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 +++++ src/lib/helpers/metrics.ts | 5 +++++

View file

@ -1,7 +1,7 @@
From bf6d61bcec02acc7d35532073f08544bfea6c748 Mon Sep 17 00:00:00 2001 From 98d028765a8eeb4396ac8d900178c1088b33ca59 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Tue, 25 Mar 2025 00:24:07 -0300 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 ++ Dockerfile | 2 ++

View file

@ -1,7 +1,7 @@
From 6086b422b4bd140793e06eca2848924848dfdbd3 Mon Sep 17 00:00:00 2001 From 807cad2a8ba67a80e34a77220d6026552df98640 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Wed, 26 Mar 2025 12:24:49 -0300 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 +++- src/lib/helpers/config.ts | 4 +++-

View file

@ -1,7 +1,7 @@
From a9dbc4f66174f2b2636081cbee3a1ea15a3f6691 Mon Sep 17 00:00:00 2001 From 4f963fe9432d598e99d19c13301ccfbaa5e00973 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Tue, 8 Apr 2025 02:21:10 -0400 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 ++++++- src/lib/helpers/config.ts | 7 ++++++-

View file

@ -1,7 +1,7 @@
From 3aea964fe800d82f8a5eee650841cb1208867ece Mon Sep 17 00:00:00 2001 From 45f5a427e63174695f4233b093ab6496cfa82764 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 14 Apr 2025 01:24:57 -0400 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 +++++++++++++++++++++++++++++-------- src/lib/helpers/metrics.ts | 142 +++++++++++++++++++++++++++++--------

View file

@ -1,7 +1,7 @@
From b7df5e38e499652dbcc550d8ec6e0ec453bec04f Mon Sep 17 00:00:00 2001 From c8c9d3d591681d508b7446e6a36a315345b8f80d Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Mon, 14 Apr 2025 01:25:40 -0400 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") Added reason and subreason for sentitive content videos ("CONTENT_CHECK_REQUIRED")

View file

@ -1,7 +1,7 @@
From b71e4f008e8ff3a4930b691835a04cd9b6d9b1ba Mon Sep 17 00:00:00 2001 From f8ec0c6fa2ae2ce7fc3b9ed44c939ad8c5bc346b Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Tue, 15 Apr 2025 19:48:26 -0400 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 ++ .github/workflows/docker-build-push.yaml | 2 ++

View file

@ -1,7 +1,7 @@
From 888a5d73b9d08be88456d83d35e520e0aa54c148 Mon Sep 17 00:00:00 2001 From da3a20d1802dd51e8771120679891859af51de82 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net> From: Fijxu <fijxu@nadeko.net>
Date: Sun, 20 Apr 2025 02:18:50 -0400 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 ++++++++++++++++++++++++++++++++++++-- src/lib/helpers/metrics.ts | 42 ++++++++++++++++++++++++++++++++++++--

View file

@ -0,0 +1,55 @@
From 5d129fc771d47cb320ae9d72a194c902f37ea2a2 Mon Sep 17 00:00:00 2001
From: Fijxu <fijxu@nadeko.net>
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<string, string> = {
"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