. Before you do anything else, you first need to tweak Windows Media Player (WMP) to handle media licenses the way you want it to. Pop open WMP; click on Tools and select the Privacy tab; make sure the “download usage rights automatically when I play or sync a file” option is unchecked; click Apply; and close down WMP. (Big thanks to Juansito for pointing out this pivotal step).
2. Now that WMP’s taken care of, go ahead and log into your Netflix account and browse on over to netflix.com/watchnow to pick a flick to watch (you can usually watch the trailer within Netflix prior to picking a movie as well).
3. Click the blue Play button next to the movie of your choice. If this is your first time trying out the Watch Now feature (and you’re using IE), the Netflix Movie Installer (Netflix_Movie_Viewer_Installer.msi) dialogue will pop-up. Click yes to go through the installation process.
4. You should now see a WMP dialogue pop up, saying ‘you do not have the rights to view this file…would you like to connect to the website…’. Hit NO.
5. In your browser window you should now see an error message from WMP bitching about not having the license to play the file. Ignore that ****, and open the source code of the website (right-click in the browser window and select View Source, or go to Tools and then click View Source from there).
6. Hit Ctrl-F in Notepad (assuming that’s what the website source code opened in) and put in ‘WNPlaylistMovies’ (type that without the quotation marks and hit enter). The bit of code you’re looking for will look something like this:
Code:
ar WNPlaylistMovies = {"movies":[{"id":"7291038","title":"Scat Girls From Space","streams":[{"url":"http://index.ehub.netflix.com/item/?x=eiujdUWJDFOEWDJEOFEYWOeUEUHF4W.","bitrate":400,"dlid":7291038,"requiredBandwidth":500},…You’ll see a few more URLs listed, each with a different bitrate. You can pick the last URL which should have the highest bitrate and will also have the highest filesize (upwards of a gigabyte for full-length movies, but almost always under two gigs). Despite the bitrate listed in the source code, GSpot always seems to show that the bitrate is 6154 kb/s for the flicks downloaded for the highest listed bitrate (2200 according to Netflix).
7. Copy the ehub URL that you picked (including the quotation marks), and open up a new Notepad window.
8. You’ll now need to craft the command-line instructions for downloading the movie file. The following directions were created by shitburger, huge thanks for finding the new work around!
The basic template you’ll be working from is:
Code:
(set /a 0) > movie.wmv && curl -L -A "WmpHostInternetConnection" -r 1-3999999999 http://url.that.you/found.in/step.6 >> movie.wmvWhere movie.wmv is the name of the file that the movie will be saved to, and the URL is the one that you found in Netflix’s source code. If you want to save the movie.wmv to a specific location, be sure to enter it for both of the movie.wmv entries above, and to place quotation marks around the full-path (for example, “c:\my netflix rips\movie.wmv”), and make sure that the path you’re saving to already exists (in other words, make sure you already made a folder called ‘my netflix rips’ before attempting to save anything to it).
Nota Bene: If you’re interested in what you just typed, shitburger provides an explanation of the syntax: ‘(set /a 0) > movie.wmv’ creates a file with just a ‘0’ in it (the reason this is necessary will become clear in a second); ‘&& curl’ then launches the cURL program; the L switch allows cURL to follow 302 redirects which Netflix uses to redirect you to the movie file; the A switch spoofs the User Agent field of the headers to identify as ‘WmpHostInternetConnection’, which is what the Netflix Movie Viewer identifies as; the r switch allows you to set the range (in bytes) to download; and ‘>> movie.wmv’ appends the data cURL grabs to the ‘0’ file you created with the set command at the start.
The reason you have to set your range to start from 1 instead of 0 (in other words skipping the first byte of the file) is Netflix’s servers only allow you to download the first 95.4 megs of the movie if you start from 0 (or 1-99999999), but lets you download any sized chunk you want so long as you start from any number but 0. The first byte, however, is always a ‘0’ itself, thus by creating a file that only has 0 and then appending the rest of the movie file to it, you get a working wmv file :).
9. Once you have your command customised to your needs, copy it all to your clipboard and open your command prompt window (click on Start; Run; and type ‘cmd’ (sans quotes)).
10. You can now navigate to the directory where you placed curl.exe (for instance, if you put it in C:\Program Files\cURL, type cd “c:\program files\curl” into the command prompt to change to that directory. If you don’t want to have to navigate to that directory each time you run the command prompt you can change ‘curl’ in the template above to point to the directory that curl is in, for instance “c:\program files\curl\curl.exe” (don’t forget the quotation marks). As a third option, you can place curl.exe into the default folder where the command prompt points to (go to Start, Run, type %SYSTEMROOT%\system32, and place curl.exe in there.
11. Once you’re in the right directory in the command prompt, go ahead and paste your template string (from step 8). Be sure to right-click and select Paste instead of just pressing the usual ctrl-v.
12. Assuming you didn’t **** anything up, go ahead and hit enter and you should hopefully see curl say that it’s downloading the file, complete with a ‘time remaining’ notification.
13. The file will be around a gig or two, so pass the time as it downloads by going to the park and masturbating to some dead pigeons (or what have you…).
14. Back already? Well OK, assuming the file has finished downloading, time to exorcise the Micro$oft DRM demon. Go to the directory that the file was saved to (if you didn’t enter a custom path it will be saved to the location you were at in your command prompt when you entered the commands). This part is a wee bit tricky and might take you a couple tries to get it down pat. Open the data.wmv file in WMP, and you should see the same alert you saw back in step 4. This time click YES to connect to the Netflix site and acquire the license. (In Internet Explorer 7, you might get a security warning about an ActiveX control, click on the security bar and select ‘allow ActiveX controls…’).
15. Immediately after you click Yes and are presented with a ‘media usage rights acquisition’ dialogue, launch mirakagi and click ‘Start’ as soon as you see the ‘Play’ button become active (in other words clickable or not grayed out) in the rights acquisition dialogue in WMP. Mirakagi should then tell you that it has found a couple keys and that it's done processing.
16. At this point, swap back to WMP, close the rights acquisition window, and close WMP as well.
17. Now launch FU4WM (you should be using FU4WM v.1.3fix-2, which is the version currently typically bundled with mirakagi), click Next and click on ‘Add File’ to select the data.wmv file so that it appears in the list of files in the FU4WM window. Highlight the data.wmv file and click Next.
18. If you ****** up, you’ll now see an error in FU4M telling you that the file “does not appear to be licensed to you”. Go back and click Start in mirakagi right after the license window pops up in WMP. When the ‘play’ button becomes active in the license acquisition window in WMP, click on Start in mirakagi and try again. The timing can be a bit iffy, so keep trying and you’ll get it. If, on the other hand, everything went smoothly, you should now see a conversion status bar in FU4WM, telling you to “please wait while your files are converted” :).
19. The conversion doesn’t take nearly as long as the download did, so I’m afraid there’ll be no time for pigeon masturbation at this stage :( (well, unless you’re quick…), though don’t do anything else for the few minutes that FU4WM is doing its thing, or you might get a rather glitchy video file.
20. Once the conversion is done, you should have a duplicate copy of the data.wmv file (sans the encryption, that is ;)), in the default save folder of FU4WM (…\My Documents\My Videos\, or wherever you specified). Feel free to open the file in Media Player Classic, VLC, or whatever, or convert the file to another format. Close down FU4M and mirakagi, and delete the yucky encrypted data.wmv file.
21. Rinse and repeat :).
How to Get the Movie Download Link Without Using Internet Explorer
Netflix’s official requirements state that you must have Internet Explorer 6 or higher, and be running Microsoft Windows Service Pack 2 or higher. That’s certainly true if for some strange reason you’re compelled to use Netflix’s movie viewer software and watch the film in-browser, but otherwise there is a simple workaround to enable you to get the download link using any browser you like.
Netflix is able to tell what browser you’re using based on the user-agent data your browser contains (in other words, your browser identifies itself as Internet Explorer or Firefox, or whatever). The solution arises from the fact that you can spoof your browser headers to report whatever user agent you damn well please. For instance, you can make Firefox emulate IE’s user-agent field, effectively making it look as if you’re using IE as far as Netflix is concerned.
There’s a myriad of plug-ins, tweaks, and stand alone applications out there to enable you to spoof your user agent, but we’ll use the User Switcher Agent add-on for Firefox (https://addons.mozilla.org/en-US/firefox/addon/59) as an example (thanks to truegodofwar). If you’re changing the user-agent field on your own, you’ll want it to say something along the lines of ‘Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)’.
Two notes before we begin: using the agent switcher will not enable you to actually watch the movies in different browsers, it will only enable you to obtain the download link to save the data.wmv files. As far as I know, you will also need Windoze to run mirakagi/FU4WM/WMP, but at least you don’t have to use IE, and that’s a step up in my book. Second of all, while some folks have suggested using the IE Tab add-on in Firefox (http://www.hackingnetflix.com/2007/0...x_instant.html), this is generally a pointless operation as in order to use IE Tab you need to have IE installed anyway.
Now then, go ahead and install the User Agent Switcher and restart Firefox. Go to Tools; User Agent Switcher; and select Internet Explorer 7 (Windows Vista). Proceed to the Netflix Watch Now site (netflix.com/watchnow), and instead of the usual ‘Your Internet browser is not compatible with this feature. Try again with Internet Explorer 6 or higher’ message, you should now be connected directly to the Watch Now page. You’ll get a little message saying that ActiveX is disabled, and the video obviously won’t load, but just view the page source code and grab the download link (see step 6 above). Keep in mind that each time you shutdown/restart Firefox, you’ll have to change the user agent to Internet Explorer as it reverts back the Firefox default agent when you restart.
So what’s the advantage of using the agent switcher? Well, aside from not having to use IE to rip the Watch Now movies, you also don’t have to bother with installing Netflix’s cumbersome Movie Viewer application.
And Why Isn’t There Support for Anything Besides IE and Windoze Anyway?
A few days after this textfile became popular news a post was made on Netflix’s blog (blog.netflix.com/2007/08/instant-watching-on-mac-firefox-and.html) explaining that, while Mac and Firefox support are on their list (and not saying a thing about *nix), Macs apparently lack the DRM tools necessary to placate the movie studios. That’s all fine and dandy (except that as the commentators have pointed out, there are DRM options for Macs), but on a totally unrelated note it might interest some folks to know that Reed Hastings, the CEO of Netflix, also happens to be on the finance committee of Microsoft’s board of directors (see bizjournals.com/sanjose/stories/2007/03/26/daily18.html and microsoft.com/presspass/press/2007/mar07/03-26HastingsPR.mspx – thanks to Lanny for the tip!). Not that I’m implying anything.
How to Reset your DRM Licenses
If you’re having problems with mirakagi being able to sniff out the keys to the Netflix movies, you may need to reset your DRM settings. If you installed Netflix’s Movie Viewer application, it should have also dumped a little file called ResetDRM.exe in the default installation path (‘C:\Program Files\Netflix\Netflix Movie Viewer’). Though if you didn’t bother with the installation, you can grab the program from netflix.com/pages/previews/resetdrm.exe. So if you’re having difficulties with your key management, try running the program which should clean out all of your old keys, and then load the data.wmv file again and follow the steps above.
What about the Time Limit Thingy?
You might remember that in the (very) first version of this textfile I boasted that there was a way to get around the time limit and get unlimited movies. No such luck. For, while the flicks you download don’t immediately show up in your Watch Now Viewing History (netflix.com/WatchNowViewingActivity), they do show up after 24 hours, no matter how much of the movie you view (that is, even if you watch only ten seconds of a flick, its full length will be recorded in your account after 24 hours). Other alleged ways of beating the time limit, like unplugging your modem, and flushing your cache/temporary files after downloading the flick also don’t appear to work as the time still gets deducted after 24 hours. As such, if you do manage to find a way to beat the time limit, do let us all know, as cracking the time limit seems to be the next Netflix challenge…
Now Don’t Get Cocky…
And lest you’re all too ready to start making torrents of the flicks, keep in mind that there have been some rumours about Netflix putting in uniquely identifying watermarks into the video files. Bear in mind, that these are just that: rumours, and may well be an attempt to spread some good ol’ FUD to cheaply prevent people from sharing the movies. Though I haven’t spotted any watermarks in the video myself (while viewing my films legally within Netflix’s Watch Now viewer ;)), the technology for such watermarking certainly does exist, so keep your eyes open.
And remember that it may be possible to track uploaders of files to torrent trackers (or other mediums) based on their viewing history (much like these dudes Arvind Narayanan and Vitaly Shmatikov recently demonstrated that users could be identified based on their ‘anonymous’ film ratings. See “How To Break Anonymity of the Netflix Prize Dataset” http://www.arxiv.org/PS_cache/cs/pdf/0610/0610105v1.pdf). In other words, it won’t be too hard to cross-reference one’s watch now viewing history with upload patterns to various torrent trackers…