NUS: Difference between revisions
Hallowizer (talk | contribs) 2.0rev03 |
Hallowizer (talk | contribs) More info on prefixes, as the DSi server seems to have Wii titles as well |
||
| Line 27: | Line 27: | ||
:'''ErrorCode''' - 0 on success | :'''ErrorCode''' - 0 on success | ||
:'''ContentPrefixURL''' - always https://nus.cdn.shop.wii.com/ccs/download (HTTP before [[2.0rev03]]) | :'''ContentPrefixURL''' - always https://nus.cdn.shop.wii.com/ccs/download (HTTP before [[2.0rev03]]) | ||
:'''UncachedPrefixURL''' - always | :'''UncachedPrefixURL''' - always https://ccs.shop.wii.com/ccs/download (HTTP before 2.0rev03, this is the URL the Wii uses) | ||
:Several '''TitleVersion''' structs: | :Several '''TitleVersion''' structs: | ||
::'''TitleId''' - 16-digit title ID in hex | ::'''TitleId''' - 16-digit title ID in hex | ||
| Line 35: | Line 35: | ||
== Download a TMD, ticket, or content == | == Download a TMD, ticket, or content == | ||
There are a few prefixes that point to NUS. HTTP and HTTPS do not matter. | |||
* https://nus.cdn.shop.wii.com/ccs/download (does not seem to work) | |||
* https://ccs.shop.wii.com/ccs/download | |||
* https://ccs.cdn.c.shop.nintendowifi.net/ccs/download | |||
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[version] - downloads the TMD for the version provided, or the latest version if no version is provided | ||
Revision as of 02:51, 1 December 2021
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.
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.
- https://nus.cdn.shop.wii.com/ccs/download (does not seem to work)
- https://ccs.shop.wii.com/ccs/download
- https://ccs.cdn.c.shop.nintendowifi.net/ccs/download
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
- cetk - downloads the ticket (free titles only)
- <contentid> - downloads a specific content