YouTube

From 3dbrew
Revision as of 16:49, 4 September 2014 by Ds84182 (talk | contribs) (Update the page, fix spelling, add list of exposed apis)
Jump to navigation Jump to search

The YouTube application available from the eShop is a web-browser. Like the main browser this uses WebKit. All data is downloaded with plaintext HTTP.

User-Agent and Browser Versions

The user-agent format is almost identical to the main browser: "Mozilla/5.0 (Nintendo 3DS; U; ; Factory Media Production) Version/<version>.<region>". <lang> is "en", "fr", etc. <region> is "US", "EU", etc. See below for <version>.

Browser version USA/EUR CDN Title-version Notes
1.7498 v16 and v0 Initial app version.
1.7498 v1056 and v1040 First app update. This build uses the v7.0 NCCH encryption for the main CXI, this was the first retail title to use this.

RomFS

The RomFS only contains CROs("/cro/") and the CRR("/.crr/static.crr"), the following is the "/cro/" contents:

  • JavaScriptCore_CTR.cro
  • WebCore_CTR.cro
  • WebkitMediaPlayer_CTR.cro
  • WebKit_CTR.cro
  • static.crs

Webkit

Looks like the YouTube application uses a newer version of Webkit than the Internet Browser applet. It has the ability to construct Blobs, of course the HTML5 video element, and possibly the Audio element (Visible, but untested). It also supports the localStorage API. Here a list of exposed apis http://pastie.org/private/cmtppzyqmopzi9umhg8za here. (Sorry, it will not let me put in a link)

embedded.ctr

Inside all webkit applications for the 3DS, there is a pseudo-webserver running that links to a structure inside ExeFS. This structure provides a list of urls under the domain "http://embeded.ctr/". This also possibly exists for the Internet Browser, but is unused. This same structure may be used for the Miiverse applet when in offline mode.