MobileMe

From Archiveteam
Revision as of 06:42, 1 October 2011 by Arrith (talk | contribs) (→‎Tools/Archiving: Added iDisk section)
Jump to navigation Jump to search
MobileMe
MobileMe logo
Screenshot-MobileMe Sign In - Google Chrome.png
URL https://me.com/[IAWcite.todayMemWeb]
Project status Closing on June 30, 2012
Archiving status Not saved yet
Project source Unknown
Project tracker Unknown
IRC channel #archiveteam (on EFnet)
Project lead Unknown

Apple's MobileMe will close on June 30, 2012.

From the Wikipedia page:

MobileMe (formerly .Mac and iTools) is a subscription-based collection of online services and software offered by Apple Inc. Originally launched on January 5, 2000, as iTools, a free collection of Internet-based services for users of Mac OS 9, Apple relaunched it as .Mac on July 17, 2002, when it became a paid subscription service primarily designed for users of Mac OS X. Apple relaunched the service again as MobileMe at WWDC 2008 on July 9, 2008, now targeting Mac OS X, Windows, iPad, iPhone, and iPod Touch users.

On February 24, 2011, Apple discontinued offering MobileMe through its retail stores. The MobileMe retail boxes are also not offered through resellers anymore. Apple is also no longer accepting new subscribers for MobileMe. At the WWDC 2011, on June 6, Apple announced it will launch iCloud in the Northern Hemisphere Autumn 2011, which will replace MobileMe for new users. MobileMe itself will continue to function until June 30, 2012, at which point the service will no longer be available, although users are encouraged to migrate to iCloud before that date.

Site structure

(Copied from Wikipedia) There are public subdomain access points to each MobileMe members' individual account functions. These provide direct public web access to each MobileMe users account, via links to each function directly; Gallery, Public folder, published website, and published calendars (not available currently). See list:

  • http://www.me.com – member login.
  • http://gallery.me.com/<username> – member public photo/video Gallery.
  • http://public.me.com/<username> – member Public folder access.
  • http://web.me.com/<username> – member Website access.
  • http://ical.me.com/<username>/<calendar name> – member individual calendar publishing. In the older system, many calendars could be published at the same time. In the current iteration of MobileMe, there is no calendar publishing available.

web.me.com and web.mac.com

The domains web.me.com and web.mac.com point to the same web pages.

Interesting (large) examples

  • web.me.com: rightangles
  • homepage.mac.com: russconte
  • gallery.me.com: aaaashy
  • public.me.com: morkjturner

Tools/Archiving

There's a repository on the ArchiveTeam Github: https://github.com/ArchiveTeam/mobileme-grab

homepage.mac.com

This is a separate site from web.me.com (older, probably). The sites on this domain can probably be downloaded with a script similar to that for web.me.com.

web.me.com / iWeb

Some sites on web.me.com can be downloaded with a standard wget --mirror command. However, sites that proudly claim to be 'Made on a Mac' often have so much bad JavaScript that extra steps are necessary.

A script is available in the git repository. You need PhantomJS and a WARC-enabled wget to run this.

Download procedure:

  • Use PhantomJS and a custom bit of JavaScript to click every link and discover every url on the site.
  • Run wget on the list of urls to download the files and save them to a WARC file.

public.me.com

The files on public.me.com are accessible via WebDAV: https://public.me.com/ix/<username>

A script is available in the git repository.

Download procedure:

  • Send a PROPFIND request with Depth: infinity to https://public.me.com/ix/<username>. This will return the complete, recursive file list.
  • Parse the WebDAV response to find the href of each file and download them.

gallery.me.com

If you ask nicely, gallery.me.com will give you a zip file of the entire gallery contents.

A script is available in the git repository.

Download procedure:

  • Send a GET to http://gallery.me.com/<username>?webdav-method=truthget&feedfmt=json&depth=Infinity. This will give you a JSON file that contains details about all albums and all photos/videos in the gallery. (Example)
  • Search through this file for the properties largeImageUrl and videoUrl, which contain the urls for the largest versions of images and videos that are available.
  • Use these files to construct a ziplist description:
    <?xml version="1.0" encoding="utf-8" ?>
    <ziplist xmlns="http://user.mac.com/properties/">
      <entry>
        <name><!-- the target path of the file in the zip file --></name>
        <href><!-- the url of the image (the largeImageUrl or videoUrl) --></href>
      </entry>
      ...
    </ziplist>
    
  • Send this document with a POST request with a Content-Type: text/xml; charset="utf-8" header to http://gallery.me.com/<username>?webdav-method=ZIPLIST
  • The server will now generate a zip file for you, containing the files specified in the ziplist document. This may take a short while, but eventually the request will give you a response with a X-Zip-Token header.
  • Use the zip token to download the zip file: http://gallery.me.com/<username>?webdav-method=ZIPGET&token=<ziptoken>.

Note: I found that with very large galleries the ZIP request fails. Therefore, it's better to make one zip file per album. The Python script does that.

ical.me.com

To download a calendar you need the username and the name of the calendar. (There seems to be no way to list all calendars of a specific user.) Once you have these two names, you can download the ics file using one of these urls:

  • http://ical.mac.com/WebObjects/iCal.woa/wa/Download/<calendarname>.ics?u=<username>&n=<calendarname>.ics
  • http://homepage.mac.com/<username>/.calendars/<calendarname>.ics

iDisk

Supposedly a script that got xml of the idisk stuff was provided in #archiveteam at some point.

"the idisk stuff isn't directly scrapable. there are tricks to do it though."

"try http://homepage.mac.com/mac_vieuxnez/FileSharing16.html for example"