NUS: Difference between revisions
Jump to navigation
Jump to search
Hallowizer (talk | contribs) →Query a list of titles: EUR not PAL |
Hallowizer (talk | contribs) →Query a list of titles: added response struct from https://mozy.org/wii/old/index.html |
||
Line 7: | Line 7: | ||
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. | 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 | '''GetSystemUpdateRequest''' xmlns=urn:nus.wsapi.broadon.com | ||
:'''Version''' - | :'''Version''' - always 1.0? | ||
:'''MessageId''' - unknown | :'''MessageId''' - unknown | ||
:'''DeviceId''' - unknown | :'''DeviceId''' - unknown | ||
:'''RegionId''' - USA, JAP, EUR, or KOR | :'''RegionId''' - USA, JAP, EUR, or KOR | ||
:'''CountryCode''' - unknown | :'''CountryCode''' - unknown | ||
:Several '''TitleVersion''': | :Several '''TitleVersion''' structs: | ||
::'''TitleId''' - 16-digit title ID in hex | ::'''TitleId''' - 16-digit title ID in hex | ||
::'''Version''' - decimal version | ::'''Version''' - decimal version | ||
:'''Attribute''' - unknown | :'''Attribute''' - unknown | ||
:'''AuditData''' - 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.0rev02]]) | |||
:'''UncachedPrefixURL''' - always http://ccs.shop.wii.com/ccs/download (HTTP before 2.0rev02) | |||
: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=== | === Download a TMD, ticket, or content=== |
Revision as of 05:16, 13 July 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.0rev02)
- UncachedPrefixURL - always http://ccs.shop.wii.com/ccs/download (HTTP before 2.0rev02)
- 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
These can be downloaded from /ccs/download/<titleid>/<name>, where 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