From b9114cbb9d1e008a4284016fcb8c37e7bff5a60a Mon Sep 17 00:00:00 2001 From: Fijxu Date: Thu, 8 May 2025 00:31:03 -0400 Subject: [PATCH] feat(frontend): config option to disable video downloads --- src/invidious/config.cr | 2 ++ src/invidious/frontend/watch_page.cr | 31 +++++++++++++++------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/invidious/config.cr b/src/invidious/config.cr index 471c72f0..01f03d4f 100644 --- a/src/invidious/config.cr +++ b/src/invidious/config.cr @@ -244,6 +244,8 @@ class Config property max_popular_results : Int32 = 40 + property disable_video_downloads : Bool = false + {% if flag?(:linux) %} property reload_config_automatically : Bool = true {% end %} diff --git a/src/invidious/frontend/watch_page.cr b/src/invidious/frontend/watch_page.cr index 15d925e3..00b46a2f 100644 --- a/src/invidious/frontend/watch_page.cr +++ b/src/invidious/frontend/watch_page.cr @@ -52,28 +52,31 @@ module Invidious::Frontend::WatchPage # Non-DASH videos (audio+video) - video_assets.full_videos.each do |option| - mimetype = option["mimeType"].as_s.split(";")[0] + if !CONFIG.disable_video_downloads + video_assets.full_videos.each do |option| + mimetype = option["mimeType"].as_s.split(";")[0] - height = Invidious::Videos::Formats.itag_to_metadata?(option["itag"]).try &.["height"]? + height = Invidious::Videos::Formats.itag_to_metadata?(option["itag"]).try &.["height"]? - value = {"itag": option["itag"], "ext": mimetype.split("/")[1]}.to_json + value = {"itag": option["itag"], "ext": mimetype.split("/")[1]}.to_json - str << "\t\t\t\n" + str << "\t\t\t\n" + end end - # DASH video streams - video_assets.video_streams.each do |option| - mimetype = option["mimeType"].as_s.split(";")[0] + if !CONFIG.disable_video_downloads + video_assets.video_streams.each do |option| + mimetype = option["mimeType"].as_s.split(";")[0] - value = {"itag": option["itag"], "ext": mimetype.split("/")[1]}.to_json + value = {"itag": option["itag"], "ext": mimetype.split("/")[1]}.to_json - str << "\t\t\t\n" + str << "\t\t\t\n" + end end # DASH audio streams