diff --git a/src/invidious/routes/images.cr b/src/invidious/routes/images.cr index c06955c0..d76bcc58 100644 --- a/src/invidious/routes/images.cr +++ b/src/invidious/routes/images.cr @@ -51,7 +51,7 @@ module Invidious::Routes::Images end # ??? maybe also for storyboards? - def self.s_p_image(env) + def self.s_p_image(env, authority = "i9") id = env.params.url["id"] name = env.params.url["name"] url = env.request.resource @@ -65,13 +65,23 @@ module Invidious::Routes::Images end 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) end rescue ex 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) headers = HTTP::Headers.new REQUEST_HEADERS_WHITELIST.each do |header| diff --git a/src/invidious/routing.cr b/src/invidious/routing.cr index 32e8554c..a4ed1f57 100644 --- a/src/invidious/routing.cr +++ b/src/invidious/routing.cr @@ -222,6 +222,8 @@ 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 + get "/tvfilm_banner/:id/:name", Routes::Images, :tvfilm_banner_image end def register_companion_routes