Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

pudge (1)

pudge
  (email not shown publicly)
http://pudge.net/
AOL IM: Crimethnk (Add Buddy, Send Message)

I run this joint, see?

Journal of pudge (1)

Wednesday April 30, 2003
06:36 AM

iTunes and "Sharing"

[ #11922 ]

Someone told me he thought that the fact that iTunes cannot copy Playlist Sharing files, but could only stream them, was a restriction by the server. This seemed unlikely, so I did some investigation.

Copying the MP3 in reality is painfully easy:

[pudge@bourque pudge]$ curl http://10.0.1.132:03689/databases/32/items/1104.mp3?session-id=20570 > file.mp3
    % Total % Received % Xferd Average Speed Time Curr.
                                                                  Dload Upload Total Current Left Speed
100 11.0M 100 11.0M 0 0 3071k 0 0:00:03 0:00:03 0:00:00 2818k

Now I have the MP3 as a file, streamed from iTunes via Playlist Sharing. Nothing on the server side prohibits this. I open it in iTunes and it is a regular ol' MP3. It has the exact same bytecount as the original file.

Note: I got the URL by peeking at the TCP/IP traffic with Interarchy:

010.000.001.104:49825->010.000.001.132:03689 (224 bytes)
TH_PUSH TH_ACK
GET /databases/32/items/1104.mp3?session-id=20570 HTTP/1.1

So I call the exact same thing with curl, except that I save to a file instead of opening the URL in iTunes. I can't tell a way to get the URL without doing that; this is not meant to describe a way to fetch arbitrary files from iTunes Playlist Sharing, just proving that copying files the same way you stream them is technically trivial.

And more fun: if I open that URL in iTunes instead of downloading it via curl, it shows up as a regular stream in my Library. And it DOES work with get current track AppleScript, although if I play the exact same stream via Playlist Sharing, it doesn't. Again, I maintain this behavior is either a bug or intentional breakage, not a neglected feature. And because I have proven that copying the file is so technically trivial, I believe DRM concepts are most likely involved.

Jobs says that users are not being treated like criminals, but iTunes 4 assumes that if I want to share my tracks with more than three computers, if I want to copy streamed track, if I want to burn more than 10 CDs with a "protected" track, that I am doing so illegitimately. I know they need to strike a balance with their partners, but that doesn't mean I am going to just ignore these facts.

I am, frankly, more offended by the clearly false assertion by Jobs that we are not being treated like criminals than I am by the fact that I cannot share the music or burn playlists without limit (except in the case of copying files from shared playlists).

BTW, this morning my Apple ID finally was able to work with iTunes Music Store. It wasn't site traffic, nor my credit card, since I could connect with a different Apple ID at the same time, using the same credit card. I am just happy Apple fixed whatever was wrong with my Apple ID.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • I am, frankly, more offended by the clearly false assertion by Jobs that we are not being treated like criminals than I am by the fact that I cannot share the music or burn playlists without limit (except in the case of copying files from shared playlists).

    First of all, the "good karma" limitations being placed on copying media are like the lock on your front door -- it's there to keep honest people honest, not prevent illegal activity. Anyone who wants to illegally copy digital music badly enough wil

    • It is more like Apple putting a lock on my front door and letting me have a key to it, that I can use 10 times a day, in order to make sure I am not letting anyone else use my computer.
    • Locks on houses seem really only to keep the owner out when they forget their keys. Honest people don't go into other people's houses and as you point out, criminals will not be detered by a lock.

      That being said... ;-)

      The real entity treating you like a "criminal" is the copyright owner. When, not if, the AAC protection is cracked it will be the RIAA and not Apple that slaps you with a DMCA violation. When you work around the 10 playlist burning limitation it will be the RIAA who comes after you, not A
      • The real entity treating you like a "criminal" is the copyright owner. When, not if, the AAC protection is cracked it will be the RIAA and not Apple that slaps you with a DMCA violation. When you work around the 10 playlist burning limitation it will be the RIAA who comes after you, not Apple.

        Apple is the one preventing me from doing things with songs I might, as far as they know, have the legal right to do. I am not saying the RIAA gets a pass. The only reason Apple is doing what it does is to appease
  • FYI, the 10 burn restriction is not per-track, it's per playlist. In other words, say that you have a playlist with 10 tracks in it. You can only burn this playlist 10 times. However, you can burn the individual files as many times as you want as long as you keep using different playlists. The goal is to prevent people from mass producing a CD.
  • This was simple, however, any suggestions on how to record non-recordable Real Audio-streams? Is it possible to somehow dump all traffic on a certain connection (specified by being udp, coming from a certain address to a certain port)?
  • I've been looking into this a little more. File order appears to be keyed on Date-Added. If you add the Date added field to itunes, and then stream the files, you can see they continue almost sequencially.

      192.168.1.101:49186 -> 140.247.81.130:3689 [AP]
        GET /databases/35/items/289.mp3?session-id=11720 HTTP/1.1..Host: metadata:1..User-Agent: iTunes/4.0 (Macintosh; N; PPC)..connection: close.. ..

    T 192.168.1.101:49187 -> 140.247.81.130:3689 [AP]
        GET /databases/35/

    • It would be an interesting test to see if iTunes is adding information to the file before streaming it. (for identification, as Pudge suggested)
      This would be possible by doing a binary diff on the two files. I don't have two macs with iTunes 4 installed (yet!, but I intend to install iTunes on the others soon), so I can't test this theory. Any volunteers?


      I already did this when I posted the journal entry, saying "I open it in iTunes and it is a regular ol' MP3. It has the exact same bytecount as the orig