Fix escaping for video filenames
This commit is contained in:
		| @@ -4002,7 +4002,8 @@ get "/videoplayback" do |env| | ||||
|     env.response.status_code = response.status_code | ||||
|  | ||||
|     if title = env.params.query["title"]? | ||||
|       env.response.headers["Content-Disposition"] = "attachment; filename=\"#{title}\"" | ||||
|       # https://blog.fastmail.com/2011/06/24/download-non-english-filenames/ | ||||
|       env.response.headers["Content-Disposition"] = "attachment; filename=\"#{URI.escape(title)}\"; filename*=UTF-8''#{URI.escape(title)}" | ||||
|     end | ||||
|  | ||||
|     response.headers.each do |key, value| | ||||
|   | ||||
| @@ -59,17 +59,17 @@ | ||||
|                     <label for="download_widget"><%= translate(locale, "Download as: ") %></label> | ||||
|                     <select style="width:100%" name="download_widget" id="download_widget"> | ||||
|                     <% video_streams.each do |option| %> | ||||
|                         <option value='{"id":"<%= video.id %>","itag":"<%= option["itag"] %>","title":"<%= HTML.escape(video.title) %>-<%= video.id %>.mp4"}'> | ||||
|                         <option value='{"id":"<%= video.id %>","itag":"<%= option["itag"] %>","title":"<%= URI.escape(video.title) %>-<%= video.id %>.mp4"}'> | ||||
|                             <%= option["quality_label"] %> - <%= option["type"].split(";")[0] %> @ <%= option["fps"] %>fps - video only | ||||
|                         </option> | ||||
|                     <% end %> | ||||
|                     <% audio_streams.each do |option| %> | ||||
|                         <option value='{"id":"<%= video.id %>","itag":"<%= option["itag"] %>","title":"<%= HTML.escape(video.title) %>-<%= video.id %>.mp4"}'> | ||||
|                         <option value='{"id":"<%= video.id %>","itag":"<%= option["itag"] %>","title":"<%= URI.escape(video.title) %>-<%= video.id %>.mp4"}'> | ||||
|                             <%= option["type"].split(";")[0] %> @ <%= option["bitrate"] %>k - audio only | ||||
|                         </option> | ||||
|                     <% end %> | ||||
|                     <% fmt_stream.each do |option| %> | ||||
|                         <option value='{"id":"<%= video.id %>","itag":"<%= option["itag"] %>","title":"<%= HTML.escape(video.title) %>-<%= video.id %>.mp4"}'> | ||||
|                         <option value='{"id":"<%= video.id %>","itag":"<%= option["itag"] %>","title":"<%= URI.escape(video.title) %>-<%= video.id %>.mp4"}'> | ||||
|                             <%= itag_to_metadata?(option["itag"]).try &.["height"]? || "~240" %>p - <%= option["type"].split(";")[0] %> | ||||
|                         </option> | ||||
|                     <% end %> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Omar Roth
					Omar Roth