Add support for /pl_c and /tvfilm_banner paths (thumbnails used in some playlists) (#5742)

* feat: add support for /pl_c/ images

This path can be found on Podcast images.

* add support for /pl_c and /tvfilm_banner paths

* add support for /pl_c and /tvfilm_banner paths 2

* remove leftover comment
This commit is contained in:
Fijxu
2026-05-26 18:13:51 -04:00
committed by GitHub
parent 6659cbbbd8
commit edb3a0fc36
2 changed files with 14 additions and 2 deletions

View File

@@ -51,7 +51,7 @@ module Invidious::Routes::Images
end end
# ??? maybe also for storyboards? # ??? maybe also for storyboards?
def self.s_p_image(env) def self.s_p_image(env, authority = "i9")
id = env.params.url["id"] id = env.params.url["id"]
name = env.params.url["name"] name = env.params.url["name"]
url = env.request.resource url = env.request.resource
@@ -65,13 +65,23 @@ module Invidious::Routes::Images
end end
begin begin
get_ytimg_pool("i9").client &.get(url, headers) do |resp| get_ytimg_pool(authority).client &.get(url, headers) do |resp|
return self.proxy_image(env, resp) return self.proxy_image(env, resp)
end end
rescue ex rescue ex
end end
end end
# Both pl_c and tvfilm_banner use the same logic used in s_p_image(env)
# just with a different authority ("i").
def self.pl_c_image(env)
self.s_p_image(env, "i")
end
def self.tvfilm_banner_image(env)
self.s_p_image(env, "i")
end
def self.yts_image(env) def self.yts_image(env)
headers = HTTP::Headers.new headers = HTTP::Headers.new
REQUEST_HEADERS_WHITELIST.each do |header| REQUEST_HEADERS_WHITELIST.each do |header|

View File

@@ -222,6 +222,8 @@ module Invidious::Routing
get "/s_p/:id/:name", Routes::Images, :s_p_image get "/s_p/:id/:name", Routes::Images, :s_p_image
get "/yts/img/:name", Routes::Images, :yts_image get "/yts/img/:name", Routes::Images, :yts_image
get "/vi/:id/:name", Routes::Images, :thumbnails get "/vi/:id/:name", Routes::Images, :thumbnails
get "/pl_c/:id/:name", Routes::Images, :pl_c_image
get "/tvfilm_banner/:id/:name", Routes::Images, :tvfilm_banner_image
end end
def register_companion_routes def register_companion_routes