In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "NUS"

From WiiBrew
Jump to navigation Jump to search
(The announcement source is gone, replaced with archive.org)
(→‎Download a TMD, ticket, or content: fixed TMD version format and mentioned the ffff content IDs)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
'''NUS''' (short for '''Nintendo Update Server''') is a set of HTTP servers used to serve [[System Update|updates]] for Nintendo's consoles. For the Wii and Wii U, this server is located at http://nus.cdn.shop.wii.com.
 
'''NUS''' (short for '''Nintendo Update Server''') is a set of HTTP servers used to serve [[System Update|updates]] for Nintendo's consoles. For the Wii and Wii U, this server is located at http://nus.cdn.shop.wii.com.
  
https://ccs.shop.wii.com suddenly went offline with no announcement at 2022/3/16 21:40 UTC. NUS clients are currently being modified to download using a different method, although Nintendo has since [https://web.archive.org/web/20220325012700/https://www.gamedeveloper.com/business/the-wii-shop-and-dsi-shop-are-offline-and-nobody-knows-why announced the maintenance].
+
https://ccs.shop.wii.com suddenly went offline with no announcement around 2022/3/16 21:40 UTC. NUS clients have since modified to download using a different method, although Nintendo has since [https://web.archive.org/web/20220325012700/https://www.gamedeveloper.com/business/the-wii-shop-and-dsi-shop-are-offline-and-nobody-knows-why announced the maintenance]. There has been no further information from Nintendo, and the status reports on Nintendo's website still say everything is operational. The servers came back on July 6.
  
 
= Protocol =
 
= Protocol =
Line 43: Line 43:
  
 
These can be downloaded from <prefix>/<titleid>/<name>, where prefix is the base URL returned from the SOAP request, titleid is the title ID in hex, and name is one of three things:
 
These can be downloaded from <prefix>/<titleid>/<name>, where prefix is the base URL returned from the SOAP request, titleid is the title ID in hex, and name is one of three things:
* tmd[version] - downloads the TMD for the version provided, or the latest version if no version is provided
+
* tmd - downloads the TMD for the latest version
 +
* tmd.<version> - downloads the TMD for a given version
 
* cetk - downloads the ticket (free titles only)
 
* cetk - downloads the ticket (free titles only)
 
* <contentid> - downloads a specific content
 
* <contentid> - downloads a specific content
 +
 +
The TMDs and ticket are stored as contents with large IDs on the server. Information about these special content IDs is available on [https://dsibrew.org/wiki/Nintendo_CDN_Files DSiBrew].
  
 
[[Category:Online services]]
 
[[Category:Online services]]

Latest revision as of 08:14, 30 September 2022

NUS (short for Nintendo Update Server) is a set of HTTP servers used to serve updates for Nintendo's consoles. For the Wii and Wii U, this server is located at http://nus.cdn.shop.wii.com.

https://ccs.shop.wii.com suddenly went offline with no announcement around 2022/3/16 21:40 UTC. NUS clients have since modified to download using a different method, although Nintendo has since announced the maintenance. There has been no further information from Nintendo, and the status reports on Nintendo's website still say everything is operational. The servers came back on July 6.

Protocol

The Wii uses user agent wii libnup/1.0 for all requests.

Query a list of titles

To query a list of titles, a SOAP request is sent to /nus/services/NetUpdateSOAP, with action urn:nus.wsapi.broadon.com/. The result is an XML structure containing all titles that require updating.

Request structure

GetSystemUpdateRequest xmlns=urn:nus.wsapi.broadon.com

Version - always 1.0?
MessageId - unknown
DeviceId - unknown
RegionId - USA, JAP, EUR, or KOR
CountryCode - unknown
Several TitleVersion structs:
TitleId - 16-digit title ID in hex
Version - decimal version
Attribute - unknown
AuditData - unknown

Response structure

GetSystemUpdateResponse xmlns=urn:nus.wsapi.broadon.com

Version - same as version in request?
MessageId - same as MessageId from client
DeviceId - same as DeviceId from client
ErrorCode - 0 on success
ContentPrefixURL - always https://nus.cdn.shop.wii.com/ccs/download (HTTP before 2.0rev03)
UncachedPrefixURL - always https://ccs.shop.wii.com/ccs/download (HTTP before 2.0rev03, this is the URL the Wii uses)
Several TitleVersion structs:
TitleId - 16-digit title ID in hex
Version - latest title version available
FsSize - size in bytes?
UploadAuditData - unknown, possibly boolean?

Download a TMD, ticket, or content

There are a few prefixes that point to NUS. HTTP and HTTPS do not matter.

These can be downloaded from <prefix>/<titleid>/<name>, where prefix is the base URL returned from the SOAP request, titleid is the title ID in hex, and name is one of three things:

  • tmd - downloads the TMD for the latest version
  • tmd.<version> - downloads the TMD for a given version
  • cetk - downloads the ticket (free titles only)
  • <contentid> - downloads a specific content

The TMDs and ticket are stored as contents with large IDs on the server. Information about these special content IDs is available on DSiBrew.