{"id":92,"date":"2006-04-01T12:22:02","date_gmt":"2006-04-01T20:22:02","guid":{"rendered":"http:\/\/outflux.net\/blog\/archives\/2006\/04\/01\/netflix-movie-downloading\/"},"modified":"2006-04-01T15:49:40","modified_gmt":"2006-04-01T23:49:40","slug":"netflix-movie-downloading","status":"publish","type":"post","link":"https:\/\/outflux.net\/blog\/archives\/2006\/04\/01\/netflix-movie-downloading\/","title":{"rendered":"NetFlix movie downloading"},"content":{"rendered":"<p>Netflix accidentally lets you download movies for free.  I reported this on March 18th, but they still haven&#8217;t replied.  It&#8217;s been 2 weeks, so I&#8217;m posting the details now.<\/p>\n<p>While digging through Netflix&#8217;s javascript I found a function named &#8220;<code>startDownload<\/code>&#8220;.  I was originally just curious about the AJAX responsible for the movie info popup boxes, but this proved much more interesting.<\/p>\n<p>I&#8217;m guessing they must be beta-testing this for some accounts because nothing visible through my account ever calls &#8220;<code>startDownload<\/code>&#8220;, but I could still use it.<\/p>\n<p>Turns out the function handles a bitrate selection, and then just rewrites the URL a little.  You can get the same affect by just adding &#8220;<code>&amp;download=avi&amp;br=4<\/code>&#8221; to the end of a movie info URL.  For example, this is the URL to get <a href=\"http:\/\/www.netflix.com\/MovieDisplay?movieid=60022702\">info about Ice Age<\/a>, and this is the URL to <a onClick=\"document.location.href='http:\/\/outflux.net\/april-fools\/2006-04-01.html'; return false;\" href=\"http:\/\/www.netflix.com\/MovieDisplay?movieid=60022702&#038;download=avi&#038;br=4\">download Ice Age<\/a>.  This even seems to work without being logged in.<\/p>\n<p>I haven&#8217;t had time to check if everything in their library is downloadable, but of the 6 or so I tried, they all worked.  If anyone finds a cut-off date, let me know.<\/p>\n<p style='text-align:left'>&copy; 2006, <a href=\"https:\/\/outflux.net\/blog\/\">Kees Cook<\/a>. This work is licensed under a <a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\">Creative Commons Attribution-ShareAlike 4.0 License<\/a>.<br \/><a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\"><img decoding=\"async\" alt=\"CC BY-SA 4.0\" style=\"border-width:0\" src=\"https:\/\/i.creativecommons.org\/l\/by-sa\/4.0\/88x31.png\" \/><\/a> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Netflix accidentally lets you download movies for free. I reported this on March 18th, but they still haven&#8217;t replied. It&#8217;s been 2 weeks, so I&#8217;m posting the details now. While digging through Netflix&#8217;s javascript I found a function named &#8220;startDownload&#8220;. I was originally just curious about the AJAX responsible for the movie info popup boxes, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,12],"tags":[],"_links":{"self":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts\/92"}],"collection":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/comments?post=92"}],"version-history":[{"count":0,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts\/92\/revisions"}],"wp:attachment":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/media?parent=92"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/categories?post=92"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/tags?post=92"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}