From 9bc9cc8cabdc1abeb66e3937ba84a7dbb251ff4a Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 31 Mar 2025 22:47:10 -0300 Subject: [PATCH] fix: restore dmca_content functionality This restores (or adds) the functionality of the `dmca_content` config option that at this date, has been unused and makes no effect. --- locales/en-US.json | 3 ++- src/invidious/routes/watch.cr | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/locales/en-US.json b/locales/en-US.json index 3f42a509..3025a0d2 100644 --- a/locales/en-US.json +++ b/locales/en-US.json @@ -502,5 +502,6 @@ "carousel_go_to": "Go to slide `x`", "timeline_parse_error_placeholder_heading": "Unable to parse item", "timeline_parse_error_placeholder_message": "Invidious encountered an error while trying to parse this item. For more information see below:", - "timeline_parse_error_show_technical_details": "Show technical details" + "timeline_parse_error_show_technical_details": "Show technical details", + "dmca_content": "Sorry, this video cannot be played on this instance due to a DMCA/copyright infringement letter sent to the instance administrator." } diff --git a/src/invidious/routes/watch.cr b/src/invidious/routes/watch.cr index e777b3f1..13443de3 100644 --- a/src/invidious/routes/watch.cr +++ b/src/invidious/routes/watch.cr @@ -30,6 +30,10 @@ module Invidious::Routes::Watch return env.redirect "/" end + if CONFIG.dmca_content.includes?(id) + return error_template(403, "dmca_content") + end + plid = env.params.query["list"]?.try &.gsub(/[^a-zA-Z0-9_-]/, "") continuation = process_continuation(env.params.query, plid, id)