diff --git a/patches/001-use-web-client.patch b/patches/001-use-web-client.patch new file mode 100644 index 0000000..88f1e22 --- /dev/null +++ b/patches/001-use-web-client.patch @@ -0,0 +1,31 @@ +From 50570aa603cfa90b7ec92009b80d10317e450346 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=89milien=20=28perso=29?= + <4016501+unixfox@users.noreply.github.com> +Date: Fri, 26 Apr 2024 08:29:23 +0000 +Subject: [PATCH 1/1] switch to WEB clien + +--- + src/invidious/videos/parser.cr | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/invidious/videos/parser.cr b/src/invidious/videos/parser.cr +index 75fe4a36..f8da7e1c 100644 +--- a/src/invidious/videos/parser.cr ++++ b/src/invidious/videos/parser.cr +@@ -107,11 +107,11 @@ def extract_video_info(video_id : String, proxy_region : String? = nil) + # decrypted URLs and maybe fix throttling issues (#2194). See the + # following issue for an explanation about decrypted URLs: + # https://github.com/TeamNewPipe/NewPipeExtractor/issues/562 +- client_config.client_type = YoutubeAPI::ClientType::Android ++ client_config.client_type = YoutubeAPI::ClientType::Web + new_player_response = try_fetch_streaming_data(video_id, client_config) + elsif !reason.includes?("your country") # Handled separately + # The Android embedded client could help here +- client_config.client_type = YoutubeAPI::ClientType::AndroidScreenEmbed ++ client_config.client_type = YoutubeAPI::ClientType::WebEmbeddedPlayer + new_player_response = try_fetch_streaming_data(video_id, client_config) + end + +-- +2.44.0 + diff --git a/patches/011-2469.patch b/patches/011-2469.patch index a27a1d3..d618cb7 100644 --- a/patches/011-2469.patch +++ b/patches/011-2469.patch @@ -1,4 +1,4 @@ -From 1e6a035109316050f8bb290cefd77556ad0ae196 Mon Sep 17 00:00:00 2001 +From 5a14304ed91543c51b0388d1620a085129044e0a Mon Sep 17 00:00:00 2001 From: Emilien Devos <4016501+unixfox@users.noreply.github.com> Date: Wed, 26 Jul 2023 15:43:43 +0200 Subject: [PATCH] limit feeds and delete materialized views @@ -6,7 +6,7 @@ Subject: [PATCH] limit feeds and delete materialized views --- config/migrate-scripts/migrate-db-8bc91ce.sh | 6 ++ config/sql/channel_videos.sql | 8 +-- - kubernetes/values.yaml | 1 - + kubernetes/values.yaml | 60 ++++++++++++++++ src/invidious.cr | 12 ---- src/invidious/config.cr | 2 - src/invidious/jobs/refresh_feeds_job.cr | 75 -------------------- @@ -14,8 +14,9 @@ Subject: [PATCH] limit feeds and delete materialized views src/invidious/routes/login.cr | 3 - src/invidious/search/processors.cr | 18 ++--- src/invidious/users.cr | 39 +++++----- - 10 files changed, 41 insertions(+), 125 deletions(-) + 10 files changed, 101 insertions(+), 124 deletions(-) create mode 100644 config/migrate-scripts/migrate-db-8bc91ce.sh + create mode 100644 kubernetes/values.yaml delete mode 100644 src/invidious/jobs/refresh_feeds_job.cr diff --git a/config/migrate-scripts/migrate-db-8bc91ce.sh b/config/migrate-scripts/migrate-db-8bc91ce.sh @@ -53,19 +54,73 @@ index cd4e0ffdb..f2ac4876c 100644 + (ucid COLLATE pg_catalog."default", published); diff --git a/kubernetes/values.yaml b/kubernetes/values.yaml -index 5000c2b66..17d69b5d7 100644 ---- a/kubernetes/values.yaml +new file mode 100644 +index 000000000..17d69b5d7 +--- /dev/null +++ b/kubernetes/values.yaml -@@ -49,7 +49,6 @@ postgresql: - # Adapted from ../config/config.yml - config: - channel_threads: 1 -- feed_threads: 1 - db: - user: kemal - password: kemal +@@ -0,0 +1,60 @@ ++name: invidious ++ ++image: ++ repository: quay.io/invidious/invidious ++ tag: latest ++ pullPolicy: Always ++ ++replicaCount: 1 ++ ++autoscaling: ++ enabled: false ++ minReplicas: 1 ++ maxReplicas: 16 ++ targetCPUUtilizationPercentage: 50 ++ ++service: ++ type: ClusterIP ++ port: 3000 ++ #loadBalancerIP: ++ ++resources: {} ++ #requests: ++ # cpu: 100m ++ # memory: 64Mi ++ #limits: ++ # cpu: 800m ++ # memory: 512Mi ++ ++securityContext: ++ allowPrivilegeEscalation: false ++ runAsUser: 1000 ++ runAsGroup: 1000 ++ fsGroup: 1000 ++ ++# See https://github.com/bitnami/charts/tree/master/bitnami/postgresql ++postgresql: ++ image: ++ tag: 13 ++ auth: ++ username: kemal ++ password: kemal ++ database: invidious ++ primary: ++ initdb: ++ username: kemal ++ password: kemal ++ scriptsConfigMap: invidious-postgresql-init ++ ++# Adapted from ../config/config.yml ++config: ++ channel_threads: 1 ++ db: ++ user: kemal ++ password: kemal ++ host: invidious-postgresql ++ port: 5432 ++ dbname: invidious ++ full_refresh: false ++ https_only: false ++ domain: diff --git a/src/invidious.cr b/src/invidious.cr -index 84e1895da..ed84a3d14 100644 +index e0bd01015..011c427fb 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -103,14 +103,6 @@ Kemal.config.extra_options do |parser| @@ -95,7 +150,7 @@ index 84e1895da..ed84a3d14 100644 if CONFIG.decrypt_polling Invidious::Jobs.register Invidious::Jobs::UpdateDecryptFunctionJob.new diff --git a/src/invidious/config.cr b/src/invidious/config.cr -index e5f1e8222..6fd1c3e43 100644 +index 09c2168b8..4cabf192e 100644 --- a/src/invidious/config.cr +++ b/src/invidious/config.cr @@ -62,8 +62,6 @@ class Config