do not proxy hls on supported browser

This commit is contained in:
Andrew Zhao 2020-12-08 00:47:26 -05:00
parent 68552b6d65
commit 0cb442d40e
3 changed files with 10 additions and 1 deletions

View file

@ -41,8 +41,16 @@ var shareOptions = {
embedCode: "<iframe id='ivplayer' width='640' height='360' src='" + embed_url + "' style='border:none;'></iframe>" 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); var player = videojs('player', options);
if (location.pathname.startsWith('/embed/')) { if (location.pathname.startsWith('/embed/')) {
player.overlay({ player.overlay({
overlays: [{ overlays: [{

View file

@ -197,6 +197,7 @@ before_all do |env|
extra_media_csp = "" extra_media_csp = ""
if CONFIG.disabled?("local") || !preferences.local if CONFIG.disabled?("local") || !preferences.local
extra_media_csp += " https://*.googlevideo.com:443" extra_media_csp += " https://*.googlevideo.com:443"
extra_media_csp += " https://*.youtube.com:443"
end end
# TODO: Remove style-src's 'unsafe-inline', requires to remove all inline styles (<style> [..] </style>, style=" [..] ") # 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}" 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}"

View file

@ -4,7 +4,7 @@
<% if params.video_loop %>loop<% end %> <% if params.video_loop %>loop<% end %>
<% if params.controls %>controls<% end %>> <% if params.controls %>controls<% end %>>
<% if (hlsvp = video.hls_manifest_url) && !CONFIG.disabled?("livestreams") %> <% 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 %> <% else %>
<% if params.listen %> <% if params.listen %>
<% audio_streams.each_with_index do |fmt, i| %> <% audio_streams.each_with_index do |fmt, i| %>