mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 04:32:02 +00:00 
			
		
		
		
	Add 'local=true' to hlsUrl
This commit is contained in:
		| @@ -4602,13 +4602,21 @@ get "/api/manifest/hls_variant/*" do |env| | ||||
|     next | ||||
|   end | ||||
|  | ||||
|   local = env.params.query["local"]?.try &.== "true" | ||||
|  | ||||
|   env.response.content_type = "application/x-mpegURL" | ||||
|   env.response.headers.add("Access-Control-Allow-Origin", "*") | ||||
|  | ||||
|   host_url = make_host_url(config, Kemal.config) | ||||
|  | ||||
|   manifest = manifest.body | ||||
|   manifest.gsub("https://www.youtube.com", host_url) | ||||
|  | ||||
|   if local | ||||
|     manifest = manifest.gsub("https://www.youtube.com", host_url) | ||||
|     manifest = manifest.gsub("index.m3u8", "index.m3u8?local=true") | ||||
|   end | ||||
|  | ||||
|   manifest | ||||
| end | ||||
|  | ||||
| get "/api/manifest/hls_playlist/*" do |env| | ||||
| @@ -4620,15 +4628,24 @@ get "/api/manifest/hls_playlist/*" do |env| | ||||
|     next | ||||
|   end | ||||
|  | ||||
|   host_url = make_host_url(config, Kemal.config) | ||||
|  | ||||
|   manifest = manifest.body.gsub("https://www.youtube.com", host_url) | ||||
|   manifest = manifest.gsub(/https:\/\/r\d---.{11}\.c\.youtube\.com/, host_url) | ||||
|   fvip = manifest.match(/hls_chunk_host\/r(?<fvip>\d)---/).not_nil!["fvip"] | ||||
|   manifest = manifest.gsub("seg.ts", "seg.ts/fvip/#{fvip}") | ||||
|   local = env.params.query["local"]?.try &.== "true" | ||||
|  | ||||
|   env.response.content_type = "application/x-mpegURL" | ||||
|   env.response.headers.add("Access-Control-Allow-Origin", "*") | ||||
|  | ||||
|   host_url = make_host_url(config, Kemal.config) | ||||
|  | ||||
|   manifest = manifest.body | ||||
|  | ||||
|   if local | ||||
|     manifest = manifest.gsub("https://www.youtube.com", host_url) | ||||
|     manifest = manifest.gsub(/https:\/\/r\d---.{11}\.c\.youtube\.com/, host_url) | ||||
|     manifest = manifest.gsub("seg.ts", "seg.ts?local=true") | ||||
|   end | ||||
|  | ||||
|   fvip = manifest.match(/hls_chunk_host\/r(?<fvip>\d+)---/).not_nil!["fvip"] | ||||
|   manifest = manifest.gsub("seg.ts", "seg.ts/fvip/#{fvip}") | ||||
|  | ||||
|   manifest | ||||
| end | ||||
|  | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|     <% if params[:video_loop] %>loop<% end %> | ||||
|     <% if params[:controls] %>controls<% end %>> | ||||
|     <% if hlsvp %> | ||||
|         <source src="<%= hlsvp %>" type="application/x-mpegURL" label="livestream"> | ||||
|         <source src="<%= hlsvp %>?local=true" type="application/x-mpegURL" label="livestream"> | ||||
|     <% else %> | ||||
|         <% if params[:listen] %> | ||||
|             <% audio_streams.each_with_index do |fmt, i| %> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Omar Roth
					Omar Roth