diff options
| author | Andrew Zhao <azhao12345@users.noreply.github.com> | 2020-12-08 00:47:26 -0500 |
|---|---|---|
| committer | Andrew Zhao <azhao12345@users.noreply.github.com> | 2020-12-08 00:53:48 -0500 |
| commit | 0cb442d40ece54b40da1f8415d874c18a1f7f9b5 (patch) | |
| tree | d0dffe9a9cb6e2905fbb6c5d4320960b5e0bb8f4 | |
| parent | 68552b6d6539792f59b901e222fc08999dcfc696 (diff) | |
| download | invidious-0cb442d40ece54b40da1f8415d874c18a1f7f9b5.tar.gz invidious-0cb442d40ece54b40da1f8415d874c18a1f7f9b5.tar.bz2 invidious-0cb442d40ece54b40da1f8415d874c18a1f7f9b5.zip | |
do not proxy hls on supported browser
| -rw-r--r-- | assets/js/player.js | 8 | ||||
| -rw-r--r-- | src/invidious.cr | 1 | ||||
| -rw-r--r-- | src/invidious/views/components/player.ecr | 2 |
3 files changed, 10 insertions, 1 deletions
diff --git a/assets/js/player.js b/assets/js/player.js index f79fbbf3..a6b35d35 100644 --- a/assets/js/player.js +++ b/assets/js/player.js @@ -41,8 +41,16 @@ var shareOptions = { embedCode: "<iframe id='ivplayer' width='640' height='360' src='" + embed_url + "' style='border:none;'></iframe>" } +videojs.Hls.xhr.beforeRequest = function(options) { + if (options.uri.indexOf('local=true') === -1) { + options.uri = options.uri + '?local=true'; + } + return options; +}; + var player = videojs('player', options); + if (location.pathname.startsWith('/embed/')) { player.overlay({ overlays: [{ diff --git a/src/invidious.cr b/src/invidious.cr index c4ca9c08..cdf64696 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -197,6 +197,7 @@ before_all do |env| extra_media_csp = "" if CONFIG.disabled?("local") || !preferences.local extra_media_csp += " https://*.googlevideo.com:443" + extra_media_csp += " https://*.youtube.com:443" end # TODO: Remove style-src's 'unsafe-inline', requires to remove all inline styles (<style> [..] </style>, style=" [..] ") env.response.headers["Content-Security-Policy"] = "default-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; manifest-src 'self'; media-src 'self' blob:#{extra_media_csp}" diff --git a/src/invidious/views/components/player.ecr b/src/invidious/views/components/player.ecr index 0e6664fa..625c6fee 100644 --- a/src/invidious/views/components/player.ecr +++ b/src/invidious/views/components/player.ecr @@ -4,7 +4,7 @@ <% if params.video_loop %>loop<% end %> <% if params.controls %>controls<% end %>> <% if (hlsvp = video.hls_manifest_url) && !CONFIG.disabled?("livestreams") %> - <source src="<%= URI.parse(hlsvp).full_path %>?local=true" type="application/x-mpegURL" label="livestream"> + <source src="<%= URI.parse(hlsvp).full_path %><% if params.local %>?local=true<% end %>" type="application/x-mpegURL" label="livestream"> <% else %> <% if params.listen %> <% audio_streams.each_with_index do |fmt, i| %> |
