Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!


Click here to return to the 'Save iTMS Music videos in iTunes 4.7.1' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Save iTMS Music videos in iTunes 4.7.1
Authored by: fragmentoflight on Jul 06, '05 02:21:09PM

Okay, I wasn't thinking when I posted to email me about the solution, haha, for some reason it didn' click that i'm going to have half the mac user base emailing me, although I only recieved three this morning, which isn't bad. It could get worse. It's inevtiable that apple is going to break it, and I wanted to automate it first, i'm currently learning perl, and it probably would be that hard to bake up a perl script to do it. Okay so here's the solution, it's crude but really easy.



first you need tcpflow for osx 'm too lazy right now to go get a link, you'll can google it yahoo it whatever

once you install that it should be in your usr/local/bin folder thus

sudo /usr/local/bin/tcpflow -c -i en1 >dump.txt

go itunes music store

click on video size you want

stop video

go back to terminal and ctrl-c the process

type grep "Host: " dump.txt

you will see a list of servers, the last one or one of them should be a680.phobos.apple.com or whatever, the a680 part will change each time

copy that

type grep "Features" dump.txt

you will see something like GET /Features/y2005/m06/d28/h13/dj.lwxzhkur.mov just copy everything after the GET

then put the two together the host and path

then curl it or post it in your browser if you have quicktime pro, once it finishes downloading you can save it as a self contained movie or like this just curl it

ButterflyCrashes:~ ember$ curl -O a680.phobos.apple.com/Features/y2005/m06/d28/h13/dj.lwxzhkur.mov
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 39.2M 100 39.2M 0 0 398k 0 0:01:40 0:01:40 --:--:-- 449k
ButterflyCrashes:~ ember$

and that will download the movie straight from the servers

A note on tcpflow, is you are using line ethernet, you will need change the i- en1 to eth0 or something, or just leave it out and it will default, the en1 is for airport

If anyone could automate this it would be helpful, and this could be greatly simplified which i tried doing, but not that great with modfying pipes.. and of course I don't know enough about perl yet, although i did bake up a half ass perl script.... anyway have fun, get lots of videos before apple shuts us down again!





[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: webzone on Jul 06, '05 06:30:52PM

It is not mandatory to check what host was used to download the file. The same content is available on every server. I think that different hosts are used only to distribute the load and prevent delays.

To save time, you could just check the filename (grep "Features" dump.txt) and use the same host all the time.

Here are some hosts so that you do not have to check
a41.phobos.apple.com
a659.phobos.apple.com
a687.phobos.apple.com
a1150.phobos.apple.com



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: hypert on Jul 07, '05 12:23:59AM
One last note, before I call it quits for the night. If I get more time to play with tcpflow (or maybe someone already knows how to do this), the only packet we need to look at has this format:
192.168.000.101.51849-064.086.089.009.00080: GET /Features/y2005/m06/d21/h14/dj.ogikntir.mov HTTP/1.1
User-Agent: QTS (qtver=7.0.1;cpu=PPC;os=Mac 10.4.1)
Accept: */*
Connection: close
Host: a1710.phobos.apple.com
tcpflow supports "expressions" such that we should be able to filter accesses to "*.phobos.apple.com" or to "064.086.089.*". Combine that with a limited byte-count option, and we might not even have to Ctrl-C tcpflow to stop it. This would make it EASY to call from inside a script (I'm no good dealing with pipes, either).

I'll follow-up when I have more time, or maybe someone else will pick this up before I do...

[ Reply to This | # ]

Save iTMS Music videos in iTunes 4.7.1
Authored by: hypert on Jul 07, '05 12:04:26AM
Thanks for figuring out a way to still do this. I'm not sure how automated I can make this, but I will work on it (later). I did see this in my dump after clicking on the video icon/artwork (before selecting Small or Large):
x-apple-twofish-key: 383D8A44A1E11745915B7FF49E9FA98D
Content-Encoding: gzip, x-aes-cbc
x-apple-crypto-iv: 5bebcd82a3a0bba784a06b39d721c95b
Aaarrgghh! Apple did encrypt the webpage. So, anyone know how to crack Twofish? :-)

[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: fragmentoflight on Jul 07, '05 02:07:00PM

As long as we can still the find the GET request, we shoudl always be able to get the videos. The only thing I can really think of to block my method is to encrypt the entire file, or set up a secure authorization between the itunes client and the servers. Personally I think it's a little too easy? The encrypted the headers, but left open the ability to simply to fake the final request. They could of simply added Fair Play to the videos and let people keep them on the computer... then again Fair Play's days, at least version 2 is over, as that thing has been cracked wider then humpty. Be ready to start over in iTunes version 5

Hello cat
I'm mouse...



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: hypert on Jul 07, '05 02:58:21PM
Yeah, I thought it was very strange to encrypt the lead-in pages and not the MOV itself. Of course, that might be next, even before iTunes 5 (which had better add folders/hierarchy to the playlist management!).

Still, I'm bummed that my method of saving the video with the Artist/Title info in the filename won't work anymore. :-(

I've started a forum thread so that we might dive into this some more (without cluttering this Hint more than it is), and so that people can subscribe to the thread (instead of having to keeping checking this hint manually).

[ Reply to This | # ]

Save iTMS Music videos in iTunes 4.7.1
Authored by: awalls on Jul 07, '05 04:20:40PM

Looks like something is going to happen before iTunes 5 is released. For a lot of the daytime today iTunes store has not been available in the UK which i put down to the 500 millioneth song promotion. But tonight at home my 3 UK OS X macs can get into the american iTunes store but when requesting videos we are pushed back to the lacklustre UK video list of 103 duller than dull videos despite store home still being listed as as America.

I have suspected that the reason apple were tightening up on saving videos was not record company rights management concerns... they must be trying to close a free resource stream ready for the hard sell of video iPod will necessitate. The other main uk source of downloadable Quicktime music videos which partners with apple has also started only supplying streaming videos



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: ssevennm on Aug 25, '05 11:58:43AM

Sure, try this.



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: maksim on Jul 07, '05 08:46:17PM

Thanks to fragmentoflight, I made a little bash script.

You need tcpflow, that you could find here : http://www2.entropy.ch/download/tcpflow-0.21.pkg.tar.gz

For the newbies -> How to make a script :
1) put the code in a simple texte file
2) in the terminal, make it executable in typing "chmod u+x extractor" (if you have named your file 'extractor', of course)
3) launch it on typing "./extractor"


#! bin/bash
sudo echo
sudo -b /usr/local/bin/tcpflow -c -i en1 > dump.txt
echo "Hit Return when iTunes begin to play"
read something
set `ps -a | grep tcpflow`
sudo kill -9 $1
IFS=" "
set `grep "Host: [a-z][0-9]" dump.txt | grep "phobos"`
variable0=$2
IFS="."
set $variable0
variable0=$1
IFS=" "
set `grep "Features" dump.txt`
variable1=$3
IFS=""
variable2="$variable0.phobos.apple.com$variable1"
/bin/rm dump.txt
curl -O $variable2



How to use ?
1) Go to iTunes, select the video that you want, but DON'T play. Just be ready to play on clicking on the size.
2) Launch the script (on the terminal, typing "./extractor", and enter your password).
3) Go back to iTunes, click on video size you want and wait that iTunes begins to play.
4) Now, go back to the Terminal, and hit `Return`.

That's all, the video will be save in the same folder than the script.



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: Ganymede on Jul 08, '05 05:43:43AM

Hi, I'm hanging on by a thread!! :rolleyes:

I downloaded and installed tcpflow. I copied the textfile, made it executable per your instructions. I keep getting this error:

ganymede@GanyG4 /Users/ganymede/Applications % chmod u+x itmsvidext
ganymede@GanyG4 /Users/ganymede/Applications % ./itmsvidext
tcsh: ./itmsvidext: Exec format error. Binary file not executable.
Exit 1

I put the file in my local Applications directory, and I'm in that dir when I try to run it in the terminal. Does it have to be in one of the special "path" folders? (Also, how do I add directories to my pathlist??)

Why does the error come from tcsh, my interactive shell - the script specifies bash. What do I need to change?

My ethernet is en0. Do I need to change the occurrence of en1 in the script? I've already tried it both ways, the error remains the same.
I tried making the file using Word. BBEdit, and textEdit.

I'm running OSX 10.3.9, iTunes 4.8, & QuickTime 6.5.2 on a 733mHz G4 (Digital Audio) with a gig of memory. I am still able to capture the videos "the old way" from the /private/tmp/501/TemporaryItems directory - I just snagged ColdPlay's Speed Of Sound.

I greatly appreciate any advice on the Unix/Terminal/Command File topics - thanks for all your hard work, and for sharing your knowledge in these forums...;)

Ganymede



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: fragmentoflight on Jul 10, '05 01:06:44AM

Just type sudo sh <filename>



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: jedik on Jul 10, '05 01:03:32PM
I had to change the first line to:
#!/bin/bash
for the shell script to work. Worked like a charm, BTW. :)
Cheers

---
:: Jedi Knight ::
-- Mac Rules! --

[ Reply to This | # ]

Save iTMS Music videos in iTunes 4.7.1
Authored by: BSS on Jul 12, '05 12:15:02PM

Obviously, I'm a newbie. I don't understand the front bit about making a script and run it in Terminal. Help. Thanks in advance.

I have tcpflow installed.



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: BSS on Jul 16, '05 03:10:49PM

Help?



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: Ganymede on Jul 17, '05 08:31:40AM

I made the change Jedik suggested, still no luck. Same error as before:

tcsh: ./itmsvidext: Exec format error. Binary file not executable.
Exit 1

When I switch to bash to run it, the error message is shorter still:

can't execute binary

?? Help??



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: Eric24601 on Sep 19, '05 02:07:21PM

Is there a way to do this in iTunes 5 ? I tried running the script using iTunes 5 but it doesn't work. Does anyone have a modified version of this script that would run on iTunes 5?



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: mithridain on Oct 10, '05 06:33:01PM

The method using tcpflow works with iTunes 5.0 and QuickTime 7.



[ Reply to This | # ]
Save iTMS Music videos in iTunes 4.7.1
Authored by: mithridain on Oct 13, '05 03:46:20PM

They've changed how ITMS handles music videos. Now, it's like previewing songs so you only get a snippet.

The tcpflow did work with iTunes 6, but not after they changed the way the store works.

Does anyone know of another way around?



[ Reply to This | # ]