1. RedDucks

    OP RedDucks Advanced Member
    Newcomer

    Joined:
    Apr 28, 2017
    Messages:
    69
    Country:
    United States
    Overview:

    Over the past week or so I have been doing research on the WiiU eShop, and it's associated servers, and I now have a working SOAP (NUS), eShop, and CDN replacement. This works with the built-in eShop title on the WiiU and can serve any type of title. This includes legitimate titles from NUS, modded titles, homebrew apps (assuming they are titles), etc.

    This replacement server is part of a larger project, named Pretendo, which has been on hiatus until now. The project is now back in full swing and we have begun work on a full Nintendo Network replacement again.

    At the moment the servers are not publicly accessible, as I must do a rewrite of the account servers to support SOAP accounts. There is also no IDBE server replacement yet, so titles with non-legitimate title IDs will show up in "Download Management" with an icon of "?" and a name of "Could not get title information", however this is just visual and the title is fine.

    This is still very much a WIP, and will continue to be updated to make the UI better and add more titles to the database

    Demo:


    Disclaimer:

    While this does technically mean that pirated content can be served through this server, it was not designed with this in mind. Eventually this will be open source, and then anyone can setup a server to serve whatever they want. I am not responsible for anything anyone does with this once it's open source
     
  2. CatmanFan

    CatmanFan Anxious and regretful
    Member

    Joined:
    Aug 14, 2016
    Messages:
    1,951
    Country:
    Morocco
    Wow, this is mind-blowing! Can't wait to see what people can do with this, perhaps servers to host homebrew or injected VC titles, or GC forwarders even. Great work! :)
     
  3. blackkawa

    blackkawa Member
    Newcomer

    Joined:
    Feb 9, 2018
    Messages:
    26
    Country:
    Brazil
    It could be the best way of downloading injects directly on the wii u
     
  4. NexoCube

    NexoCube stop using piracy :(
    Member

    Joined:
    Nov 3, 2015
    Messages:
    1,219
    Country:
    France
    No piracy, though :)
     
    blackkawa likes this.
  5. blackkawa

    blackkawa Member
    Newcomer

    Joined:
    Feb 9, 2018
    Messages:
    26
    Country:
    Brazil
    Of course, we dont want nintendo bashing the server down
     
  6. FanNintendo

    FanNintendo GBAtemp Advanced Fan
    Member

    Joined:
    Apr 16, 2018
    Messages:
    653
    Country:
    United States
    looks like Wii U USB Helper directly
     
  7. Well

    Well Newbie
    Newcomer

    Joined:
    Jan 25, 2018
    Messages:
    2
    Country:
    Brazil
    This looks amazing!
     
  8. Zense

    Zense GBAtemp Maniac
    Member

    Joined:
    Apr 20, 2008
    Messages:
    1,155
    Country:
    Italy
    I appreciate this as a replacement and preservation for when Nintendo sadly closes the Wii U eShop.
     
  9. RedDucks

    OP RedDucks Advanced Member
    Newcomer

    Joined:
    Apr 28, 2017
    Messages:
    69
    Country:
    United States
    To be clear; while this will preserve the functionality of the eShop in general, it will not preserve the titles from the eShop. We will not be hosting any kind of pirated content. I will be open sourcing these servers, and what someone does with them after that is out of my control. But know that we will not be hosting anything besides homebrew and possibly mods

    Thanks!
     
    Zense likes this.
  10. Zense

    Zense GBAtemp Maniac
    Member

    Joined:
    Apr 20, 2008
    Messages:
    1,155
    Country:
    Italy
    Yeah, I was more refering to having the functionality there as a sort of esthetic, even if it "just" would serve to host homebrew. It'll be nice to have 5-10 years down the line when you want to visit and see how the wii u eshop was.

    Will you use your own graphics and will it be possible to add the official nintendo one by getting the files off your own wii u? The same question goes for wii u eshop music too. Personally I just want the experience to be as authentic as it can be.
     
  11. RedDucks

    OP RedDucks Advanced Member
    Newcomer

    Joined:
    Apr 28, 2017
    Messages:
    69
    Country:
    United States
    To avoid any issues with Nintendo's branding or the use of any code written by Nintendo (even though the eShop is just a glorified web browser so the UI is just html/css/js), we will almost certainly be using our own design. Though I have dumped the assets for the official UI, so I suppose in the future it's possible to replicate it. But atm we have no plans of using the original design. As for the music, that is actually built in to the eShop app itself. For now that will stay, because we see no reason to replace it and no issues with not doing so.

    Edit: spelling
     
    Last edited: Dec 9, 2019
    CatmanFan and Zense like this.
  12. vbarros22

    vbarros22 GBAtemp Regular
    Member

    Joined:
    Jun 20, 2017
    Messages:
    155
    Country:
    Brazil
    Loving the news for Wii U scene
    Great job man
     
  13. RedDucks

    OP RedDucks Advanced Member
    Newcomer

    Joined:
    Apr 28, 2017
    Messages:
    69
    Country:
    United States
  14. realg123

    realg123 GBAtemp Regular
    Member

    Joined:
    Aug 9, 2010
    Messages:
    179
    Country:
    Canada
    Awesome!
     
  15. huma_dawii

    huma_dawii GBAtemp Psycho!
    Member

    Joined:
    Apr 3, 2014
    Messages:
    3,470
    Country:
    United States
    AMAZING, this was VERY NEEDED.
     
  16. dojafoja

    dojafoja life elevated
    Member

    Joined:
    Jan 2, 2014
    Messages:
    598
    Country:
    So I'm assuming that we just set up a debugging proxy like Charles or Fiddler and remap all requests going to the eshop servers and point them to the root of the custom Grove server? Then I set the WiiU to use a proxy connection that points to the IP and port of my debugging proxy. I tried playing around last night but couldn't get it working, probably because I was too tired and only played with it for 10 or 15 minutes. Is there something more I need to do? I remapped requests going to the URL beginning with geish or something like that. I assumed that was the server that handles the GUI since it was one of the first requests. I also know that I need to setup the SOAP server but I was just trying to get the UI to load
     
    Last edited: Dec 16, 2019
  17. jesus96

    jesus96 Pinkboi
    Member

    Joined:
    Sep 2, 2015
    Messages:
    189
    Country:
    Mexico
    Thanks for this since we don't know how long ninty is going to have the servers up
     
  18. RedDucks

    OP RedDucks Advanced Member
    Newcomer

    Joined:
    Apr 28, 2017
    Messages:
    69
    Country:
    United States
    You can connect to the custom servers in multiple ways. You can either use a proxy or patch the URLs with homebrew. Using a proxy is probably the easiest way, so I'll just give a step-by-step guide on how to use Fiddler to connect to the custom servers, though you might be able to apply these steps to Charles as well with some tweaking. An important note though, that when Pretendo fully launches we will be using SSL+URL patches via homebrew to remove the need for a proxy, so these steps are really only used for development purposes

    1. Setup Fiddler and your WiiU to allow for MITMing. You can find steps to set things up here https://github.com/PretendoNetwork/Pretendo/blob/master/CONTRIBUTING.md#getting-started
    2. In the above steps, change account.nintendo.net to geisha-wup.cdn.nintendo.net
    3. In the above steps, change address.of.account.server to http://eshop.pretendo.cc
    4. Edit your systems hosts file (For Windows this is located at C:\Windows\System32\drivers\etc and most be opened with admin perms to save changes) and add the following line: 192.168.0.12 eshop.pretendo.cc
    5. Change 192.168.0.12 to whatever the IP address is that hosts the Grove server (192.168.0.12 is just my local IP)
    What this basically did was allow your console to send traffic to Fiddler that it can fully understand. Fiddler is then told "hey, if the address is geisha-wup.cdn.nintendo.net then set the address to http://eshop.pretendo.cc". Editing your hosts file then told your computer "hey, if you get a request to eshop.pretendo.cc then use this IP address"

    It is important that the servers are requested with domains that they understand. Each server is designed to only handle certain subdomains (meaning, the Grove server will only return the eShop UI when requested with a domain with the subdomain "eshop", hence changing the hosts file)

    When you connect your WiiU to the Fiddler server and open the eShop, it should try to request geisha-wup.cdn.nintendo.net but it should then get redirected to http://eshop.pretendo.cc which in turn uses the IP address you set earlier to point to your local Grove server

    It's important to note though that you must pack your homebrew apps to use title IDs of legitimate titles, at the moment. This is because of a required request made to the IDBE server which will fail when using a non-legitimate title ID. A patch was made for this by one of our developers but it is still in development and has not been released yet. Until then, you can use NUSPacker to pack your homebrew using a title ID of a legitimate title and it should work fine

    If you, or anyone else, needs further help setting up any of these servers you can reach us on the Pretendo Discord server :)

    [​IMG]
     
    dojafoja, CreeperMario and KiiWii like this.
  19. dojafoja

    dojafoja life elevated
    Member

    Joined:
    Jan 2, 2014
    Messages:
    598
    Country:
    Thanks for the write-up! The issue I was having was definitely with the SSL certificates, definitely not my strong point. After reading the guide you linked, I see that we would need to install the proxies root certificate on the console. There's obviously a risk of brick doing stuff like that and I've also had ftpiiu do some wonky stuff to me in the past and i only trust it about 99% Would CBHC be able to recover from such a brick? I'm thinking it wouldsince it would probably lock up well after CBHC autoboots but I'm not sure.

    THANKS for your hard work and efforts on this one. This is cool and opens the door for things like installing titles on the console without needing an SD card, hosting custom mods and homebrew, etc. I can't imagine how much fun it was though sniffing all that network traffic and breaking it down to the point of writing a custom server and API to work with the eshop client. Very nice work!
     
    Last edited: Dec 21, 2019
  20. RedDucks

    OP RedDucks Advanced Member
    Newcomer

    Joined:
    Apr 28, 2017
    Messages:
    69
    Country:
    United States
    There is definitely always a brick risk when you start poking around the console. However, so long as you are careful there shouldn't be any problems. I have been using replaced certificates for around a year now and haven't had any issues. If you are really, really, worried I suppose you could always use redNAND. Or you can modify our SSL+URL patch homebrew to patch whatever URL you want and not bother with certificates at all, but that requires you to compile the homebrew yourself
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - functioning, custom, [WIP]