Configuration for using mitmproxy to intercept traffic from Nintendo consoles and sent it to a local Pretendo Network server. This fork is configured for use with https://github.com/MatthewL246/pretendo-docker.
Go to file
2023-12-15 16:25:56 -05:00
client-certificates Simplify client certificates 2022-06-22 20:03:46 -04:00
configuration Reconfigure mitmproxy for Docker 2023-12-15 16:25:56 -05:00
.gitignore Reconfigure mitmproxy for Docker 2023-12-15 16:25:56 -05:00
.mitmproxy Reconfigure mitmproxy for Docker 2023-12-15 16:25:56 -05:00
Dockerfile Reconfigure mitmproxy for Docker 2023-12-15 16:25:56 -05:00
launch Update the launch script to prevent quoting issues 2021-08-30 19:27:01 -04:00
mitmdump initial commit 2020-06-03 04:08:31 -05:00
mitmproxy initial commit 2020-06-03 04:08:31 -05:00
mitmweb initial commit 2020-06-03 04:08:31 -05:00
pretendo_addon.py Add support for rverse redirection 2022-07-22 23:34:51 -04:00
readme.md Add instructions for compiling OpenSSL 2022-06-28 19:10:38 -04:00
unlicense.txt initial commit 2020-06-03 04:08:31 -05:00

mitmproxy-nintedo

A package for intercepting traffic from the WiiU and 3DS

Prerequisites

Usage

  • Clone this repo to your computer
  • Run one of the launcher scripts to launch a proxy server
  • Configure your console to connect to the proxy

Running the launcher script will now automatically load the Pretendo addon script. This will add the custom pretendo_redirect and pretendo_http options to mitmproxy.

Replacing server certificates

  1. Back up all of your Wii U's certificates from /storage_mlc/sys/title/0005001b/10054000/content. This backup will be necessary to undo any modifications.
  2. Convert your mitmproxy certificate to the right format by running the command openssl x509 -in mitmproxy-ca-cert.pem -outform der -out CACERT_NINTENDO_CA_G3.der in the configuration folder.
  3. Upload the created CACERT_NINTENDO_CA_G3.der file to /storage_mlc/sys/title/0005001b/10054000/content/scerts, replacing the original file.

To undo this modification, just upload the backup files back to the content folder.

Using a custom version of OpenSSL with mitmproxy

  1. Install mitmproxy normally with pip install mitmproxy.
  2. Get the latest version of OpenSSL 1.1.1 and download it with curl https://www.openssl.org/source/openssl-1.1.1(version).tar.gz | tar xz; cd openssl-1.1.1(version)
  3. Compile OpenSSL and Python cryptography according to the Python cryptography module documentation:
sudo apt-get install build-essential libffi-dev python3-dev cargo -y
sudo apt-get remove libssl-dev -y
./config -Wl,-Bsymbolic-functions -fPIC shared
sudo make -j8
sudo make install_sw
openssl version
hash -r
pip install cryptography --no-binary cryptography --force

Running mitmproxy --version should now show the custom version of OpenSSL.