Changes

261 bytes removed ,  22:55, 25 January 2016
no edit summary
Line 8: Line 8:  
The 3DS Internet Browser is [http://en.wikipedia.org/wiki/Netfront Netfront] Browser NX v1.0 based on [http://en.wikipedia.org/wiki/WebKit WebKit] engine.
 
The 3DS Internet Browser is [http://en.wikipedia.org/wiki/Netfront Netfront] Browser NX v1.0 based on [http://en.wikipedia.org/wiki/WebKit WebKit] engine.
   −
The browser supports up to 64 bookmarks.
+
On O3DS the exheader name of this title is "SPIDER"; on N3DS, "SKATER".
 +
The only difference between the ExeFS .code for each region of the Old3DS/New3DS browser, is byte values for the title uniqueID/region.
   −
The exheader name of this title is "spider".
+
A [[#v9.9_dummy_web-browser|"dummy" browser]] (which replaces the actual browser) is being included with cartdrige games shipping the [[9.9.0-26|9.9.0-X]] system update.  
 
+
In addition, versions of the real browser since 9.9.0-26X attempt to [[#Forced_system-update|check-in with a Nintendo server]] to determine if the existing browser version is out of date.
The only difference between the ExeFS .code for each region of the Old3DS/New3DS browser, is byte values for the title uniqueID/region, otherwise the binaries are identical.
  −
 
  −
A [[#v9.9_dummy_web-browser|"dummy" browser]] (which replaces the actual browser) is now being included beginning with games shipping the [[9.9.0-26|9.9.0-X]] system update. In addition, versions of the real browser since 9.9.0-26X now attempt to [[#Forced_system-update|check-in with a Nintendo server]] to determine if the existing browser version is out of date.
      
==[[New 3DS]] Internet Browser==
 
==[[New 3DS]] Internet Browser==
New3DS has a separate browser title, the exheader name is "SKATER".
+
New3DS has a separate browser title, with the exheader name "SKATER".
 +
Unlike the Old3DS browser, the New3DS browser has videos+HTML5 support.  
   −
Unlike the Old3DS browser, this New3DS browser has videos+HTML5 support. This browser also has a filter enabled by default(ExeFS codebin is same for all regions, this filter only applies for JPN region). Disabling it requires paying money with a credit-card, for [[NIM_Services|purchasing]] web-browser [[Title_list/DLC|DLC]].
+
This browser also has a filter enabled by default in the JPN version.  
 
+
Disabling it requires paying money with a credit-card, for [[NIM_Services|purchasing]] web-browser [[Title_list/DLC|DLC]].
During startup the browser does various HTTPS comms. When visting an URL, the browser sends a plaintext HTTP POST to here: [http://ars.ifuser.jp:20080/ars2/rating]. The raw POST data begins with "ARS/2.0\r\n\x00", the rest appears to be encrypted. The server reply content also has this ARS header + encrypted data. This appears to use a fixed xorpad, likely from a fixed encryption CTR/IV. The server content responses for allowed sites, and blocked sites, are fixed. When the server returns that the site is blocked, the browser goes to this page: [http://ars.ifuser.jp/filter/44.html](the Referrer header value is set to the same URL it's actually requesting).
+
During startup the browser does various HTTPS comms. When visting an URL, the browser sends a plaintext HTTP POST here: [http://ars.ifuser.jp:20080/ars2/rating]. The raw POST data begins with "ARS/2.0\r\n\x00", the rest appears to be encrypted. The server reply content also has this ARS header + encrypted data. This appears to use a fixed xorpad, likely from a fixed encryption CTR/IV. The server content responses for allowed sites, and blocked sites, are fixed. When the server returns that the site is blocked, the browser goes to this page: [http://ars.ifuser.jp/filter/44.html](the Referrer header value is set to the same URL it's actually requesting).
    
The WebKit source was updated since the Old3DS browser.
 
The WebKit source was updated since the Old3DS browser.
 
+
The New3DS browser uses the following services: [[MVD_Services|mvd:STD]] and [[IR_Services|ir:rst]](DLC-related services are used too but those aren't New3DS specific).
Unlike the Old3DS browser, the New3DS browser uses the following services: [[MVD_Services|mvd:STD]] and [[IR_Services|ir:rst]](DLC-related services are used too but those aren't New3DS specific).
  −
 
   
Video decoding is done with [[MVD_Services|mvd:STD]]. Audio decoding/playback is done with a browser-specific DSP binary. The Old3DS browser used CSND for audio playback, the New3DS browser doesn't have access to that at all since it uses DSP instead.
 
Video decoding is done with [[MVD_Services|mvd:STD]]. Audio decoding/playback is done with a browser-specific DSP binary. The Old3DS browser used CSND for audio playback, the New3DS browser doesn't have access to that at all since it uses DSP instead.
   
The browser manual includes licenses for Android and PacketVideo. The browser uses libstagefright from Android.
 
The browser manual includes licenses for Android and PacketVideo. The browser uses libstagefright from Android.
   Line 314: Line 310:  
== Old3DS browser ==
 
== Old3DS browser ==
    +
 +
=== Old3DS Browser Specifications ===
 +
* "Browser engine: NetFront® Browser"
 +
* "User agent: Mozilla/5.0 (Nintendo 3DS; region; ; en) Version/1.7498.US"
 +
* "Supported protocols: HTTP1.0/HTTP1.1/SSLv3/TLS1.0"
 +
* "Web standard: HTML 4.01/XHTML 1.1/CSS 1/CSS 2.1/CSS 3 (partial functionality)/DOM Levels 1-3/ECMAScript
 +
/XMLHttpRequest/Canvas Element (partial functionality)"
 +
* "Image format: MPO / GIF / JPEG / PNG / BMP / ICO (some images cannot be displayed)"
 +
* "Plug-ins: Plug-ins such as Adobe Flash are not supported"
 +
 +
Old3DS browser doesn't support events "focusin" and "focusout"
    
=== User-Agent and Browser Versions ===
 
=== User-Agent and Browser Versions ===
Line 615: Line 622:  
| s64 timestamp, can be either a normal positive timestamp or a relative negative one. Used with the forced-update described above. When an update is detected this timestamp is negative, otherwise this is a normal positive timestamp(it's unknown how exactly this timestamp is checked). When positive, this seems to be the last time the forced-update HTTPS request was done where no update was needed.
 
| s64 timestamp, can be either a normal positive timestamp or a relative negative one. Used with the forced-update described above. When an update is detected this timestamp is negative, otherwise this is a normal positive timestamp(it's unknown how exactly this timestamp is checked). When positive, this seems to be the last time the forced-update HTTPS request was done where no update was needed.
 
|}
 
|}
  −
==Web Standards==
  −
*HTML 4.01
  −
*HTML 5 (120/400 score on [http://www.html5test.com HTML5Test.com])
  −
*XHTML 1.1
  −
*CSS 1
  −
*CSS 2.1
  −
*CSS 3 (some functionality is unavailable)
  −
*DOM Levels 1-3
  −
*ECMAScript (partial support for ECMA-262 5th Edition)
  −
*XMLHttpRequest Level 2
  −
*Canvas Element (some functionality is unavailable)
  −
  −
Old3DS browser doesn't support events "focusin" and "focusout", while the New3DS browser does support those events(going by webkit/WebCore/dom/EventNames.h).
  −
  −
==Protocols==
  −
*HTTP 1.0
  −
*HTTP 1.1
  −
*SSLv3
  −
*TLS 1.0
  −
  −
==Image Formats==
  −
*[[File_Formats|MPO]]
  −
*GIF
  −
*JPEG
  −
*PNG
  −
*BMP
  −
*ICO (some files cannot be displayed)
  −
  −
==Plug-Ins==
  −
  −
Plug-ins (such as Adobe Flash) are not supported.
      
==Other details==
 
==Other details==
Line 742: Line 717:  
==Example Sites==
 
==Example Sites==
 
<!-- If you have a website that demonstrates these techniques, place it here! -->
 
<!-- If you have a website that demonstrates these techniques, place it here! -->
 +
* [http://www.nintendo.com/3ds/internetbrowser/bookmarks Nintendo 3DS Bookmarks] - This is the first bookmark pre-installed in the browser.
 
* [http://3ds.andysmith.co.uk/jFox.html jFox] (Short URL: http://bit.ly/iB7FqW)
 
* [http://3ds.andysmith.co.uk/jFox.html jFox] (Short URL: http://bit.ly/iB7FqW)
 
* [http://ditto3d.com/3ds Ditto3D] (Short URL: http://bit.ly/oVreWA)
 
* [http://ditto3d.com/3ds Ditto3D] (Short URL: http://bit.ly/oVreWA)
* [http://www.nintendo.com/3ds/internetbrowser/bookmarks Nintendo 3DS Bookmarks] - This is the first bookmark pre-installed in the browser.
 
14

edits