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