From 12b25aea20ff278776588b891e8ca29c15c7e28c Mon Sep 17 00:00:00 2001 From: Fijxu Date: Sat, 23 May 2026 02:56:28 -0400 Subject: [PATCH] feat: add support for /pl_c/ images This path can be found on Podcast images. --- src/invidious/routes/images.cr | 21 +++++++++++++++++++++ src/invidious/routing.cr | 1 + 2 files changed, 22 insertions(+) diff --git a/src/invidious/routes/images.cr b/src/invidious/routes/images.cr index c06955c0..5a18ea44 100644 --- a/src/invidious/routes/images.cr +++ b/src/invidious/routes/images.cr @@ -134,6 +134,27 @@ module Invidious::Routes::Images end end + def self.pl_c_image(env) + id = env.params.url["id"] + name = env.params.url["name"] + url = env.request.resource + + headers = HTTP::Headers.new + + REQUEST_HEADERS_WHITELIST.each do |header| + if env.request.headers[header]? + headers[header] = env.request.headers[header] + end + end + + begin + get_ytimg_pool("i").client &.get(url, headers) do |resp| + return self.proxy_image(env, resp) + end + rescue ex + end + end + private def self.proxy_image(env, response) env.response.status_code = response.status_code response.headers.each do |key, value| diff --git a/src/invidious/routing.cr b/src/invidious/routing.cr index 32e8554c..c440516e 100644 --- a/src/invidious/routing.cr +++ b/src/invidious/routing.cr @@ -222,6 +222,7 @@ module Invidious::Routing get "/s_p/:id/:name", Routes::Images, :s_p_image get "/yts/img/:name", Routes::Images, :yts_image get "/vi/:id/:name", Routes::Images, :thumbnails + get "/pl_c/:id/:name", Routes::Images, :pl_c_image end def register_companion_routes