Skip to content

Commit

Permalink
Prepare for merge to upstream
Browse files Browse the repository at this point in the history
  • Loading branch information
MatthewL246 committed Jan 5, 2024
1 parent 72dec8b commit 7e66dfe
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 52 deletions.
2 changes: 0 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,3 @@ updates:
directory: /
schedule:
interval: daily
assignees:
- MatthewL246
96 changes: 48 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,26 +13,26 @@ redirecting requests to a local Pretendo Network server and collecting Wii U and
2. First, make sure to **disable** Inkay or Nimbus to ensure that you are
connected to the official Nintendo Network servers. Then, download the right
NoSSL patches for your console.
<!-- TODO: Where are the patches? Link them here. -->
<!-- TODO: Where are the patches? Link them here. -->
3. Configure your console to connect to the proxy server.
- Wii U:
1. Open System Settings => Internet => Connect to the Internet =>
Connections => (Your current internet connection) => Change Settings.
2. Go to Proxy Settings => Set => OK => (Set the proxy server to your
computer's IP address and the port to 8082) => Confirm => Don't Use
Authentication.
- 3DS:
1. Open System Settings => Internet Settings => Connection Settings =>
(Your current connection) => Change Settings.
2. Go to Proxy Settings => Yes => Detailed Setup => (Set the proxy
server to your computer's IP address and the port to 8083) => OK =>
Don't Use Authentication.
- Wii U:
1. Open System Settings => Internet => Connect to the Internet =>
Connections => (Your current internet connection) => Change Settings.
2. Go to Proxy Settings => Set => OK => (Set the proxy server to your
computer's IP address and the port to 8082) => Confirm => Don't Use
Authentication.
- 3DS:
1. Open System Settings => Internet Settings => Connection Settings =>
(Your current connection) => Change Settings.
2. Go to Proxy Settings => Yes => Detailed Setup => (Set the proxy server
to your computer's IP address and the port to 8083) => OK => Don't Use
Authentication.
4. Copy the command that matches your console and paste it inside a terminal
window to start the proxy server inside a Docker container.
- Wii U:
`docker run -it --rm -p 8082:8082 -v ./dumps:/home/mitmproxy/dumps ghcr.io/pretendonetwork/mitmproxy-nintendo:wiiu mitmdump`
- 3DS:
`docker run -it --rm -p 8083:8083 -v ./dumps:/home/mitmproxy/dumps ghcr.io/pretendonetwork/mitmproxy-nintendo:3ds mitmdump`
- Wii U:
`docker run -it --rm -p 8082:8082 -v ./dumps:/home/mitmproxy/dumps ghcr.io/pretendonetwork/mitmproxy-nintendo:wiiu mitmdump`
- 3DS:
`docker run -it --rm -p 8083:8083 -v ./dumps:/home/mitmproxy/dumps ghcr.io/pretendonetwork/mitmproxy-nintendo:3ds mitmdump`
5. Check your terminal window to make sure that your console is connecting to
the proxy server. You should see some "client connect" and "client disonnect"
messages.
Expand Down Expand Up @@ -60,34 +60,34 @@ also delete the NoSSL patch you downloaded in step 2.

### Running with Docker

This is the recommended way to run mitmproxy-pretendo because it always uses the
This is the recommended way to run mitmproxy-nintendo because it always uses the
latest image and is already set up with OpenSSL 1.1.1.

1. Install Docker using the
[official instructions](https://docs.docker.com/get-docker/).
2. Run a new Docker container using the `ghcr.io/matthewl246/mitmproxy-pretendo`
image.
- If you're not familiar with Docker, copy the `docker run ...` command from
[this script](./start-docker.sh) to get started. Then, open
<http://127.0.0.1:8081/> in your browser to access the `mitmweb` web
interface for mitmproxy.
- Note that if you delete the `mitmproxy-pretendo-data` volume, the
mitmproxy server certificates will be regenerated and you will need to set
up the SSL patches with your custom certificates again.
2. Run a new Docker container using the
`ghcr.io/pretendonetwork/mitmproxy-nintendo` image.
- If you're not familiar with Docker, copy the `docker run ...` command from
[this script](./start-docker.sh) to get started. Then, open
<http://127.0.0.1:8081/> in your browser to access the `mitmweb` web
interface for mitmproxy.
- Note that if you delete the `mitmproxy-pretendo-data` volume, the mitmproxy
server certificates will be regenerated and you will need to set up the SSL
patches with your custom certificates again.

#### Rebuilding the Docker image

If you want to make modifications to the image, you need to rebuild it locally.

1. Clone this repository to your computer
(`git clone https://github.com/MatthewL246/mitmproxy-pretendo.git`).
(`git clone https://github.com/PretendoNetwork/mitmproxy-nintendo.git`).
2. Use the `./start-docker.sh` script to build and run the container. This build
overwrites the version you downloaded from the container registry. This will
take a few minutes the first time, but it will be cached for future builds.
- You need to rebuild the container every time you change something here.
- You need to rebuild the container every time you change something here.

If you want to revert your local image to the published version, run
`docker pull ghcr.io/matthewl246/mitmproxy-pretendo`.
`docker pull ghcr.io/pretendonetwork/mitmproxy-nintendo`.

### Running locally

Expand All @@ -102,15 +102,15 @@ fail if mitmproxy is using OpenSSL 3.0.0.

1. Install Python 3 and pip.
2. Clone this repository to your computer
(`git clone https://github.com/MatthewL246/mitmproxy-pretendo.git`).
(`git clone https://github.com/PretendoNetwork/mitmproxy-nintendo.git`).
3. Create a virtual environment with `python3 -m venv venv`.
4. Activate the virtual environment with `. ./venv/bin/activate`.
5. Install [mitmproxy](https://mitmproxy.org/) with `pip install mitmproxy`.
- Test that mitmproxy is working by running `mitmproxy --version`.
- If the OpenSSL version is above 3.0.0, the console will fail to connect
via HTTPS. Consider using the Docker container instead, or compile a
custom version of OpenSSL and Python cryptography
([see below](#using-a-custom-version-of-openssl-with-mitmproxy)).
- Test that mitmproxy is working by running `mitmproxy --version`.
- If the OpenSSL version is above 3.0.0, the console will fail to connect via
HTTPS. Consider using the Docker container instead, or compile a custom
version of OpenSSL and Python cryptography
([see below](#using-a-custom-version-of-openssl-with-mitmproxy)).
6. Run one of the launcher scripts (i.e. `./mitmproxy`) to launch the mitmproxy
server.

Expand All @@ -122,14 +122,14 @@ redirect HTTP requests to your local server.

1. Install Pretendo Network patches on your console using
[the official guide](https://pretendo.network/docs/install):
- Download the patches for
[Wii U](https://github.com/PretendoNetwork/Inkay/releases) or
[3DS](https://github.com/PretendoNetwork/nimbus/releases).
- Skip creating a PNID on the official Pretendo server if you will be
hosting your own server.
- If you want to use Juxtaposition, you'll now need to recompile the patches
with your custom certificate
([see below](#compiling-custom-pretendo-patches)).
- Download the patches for
[Wii U](https://github.com/PretendoNetwork/Inkay/releases) or
[3DS](https://github.com/PretendoNetwork/nimbus/releases).
- Skip creating a PNID on the official Pretendo server if you will be hosting
your own server.
- If you want to use Juxtaposition, you'll now need to recompile the patches
with your custom certificate
([see below](#compiling-custom-pretendo-patches)).
2. Configure your console to connect to the proxy using its system settings. Set
the console's proxy server to your computer's IP address and the port
to 8080.
Expand All @@ -147,10 +147,10 @@ Fortunately, it's pretty easy if you use Docker to compile the patches.
1. Clone the Inkay patcher
(`git clone https://github.com/PretendoNetwork/Inkay.git`)
2. Copy your mitmproxy certificate.
- If you're using the Docker container, run
`docker run -it --rm -v mitmproxy-pretendo-data:/mnt busybox cat /mnt/mitmproxy-ca-cert.pem`.
- If you're running mitmproxy locally, run
`cat .mitmproxy/mitmproxy-ca-cert.pem`.
- If you're using the Docker container, run
`docker run -it --rm -v mitmproxy-pretendo-data:/mnt busybox cat /mnt/mitmproxy-ca-cert.pem`.
- If you're running mitmproxy locally, run
`cat .mitmproxy/mitmproxy-ca-cert.pem`.
3. Replace the contents of `./Inkay/data/ca.pem` with your mitmproxy
certificate.
4. Run `docker build Inkay -t inkay-build` to build the Inkay build environment.
Expand Down
4 changes: 2 additions & 2 deletions start-docker.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! /bin/sh

docker build . -t ghcr.io/matthewl246/mitmproxy-pretendo
docker run -it --rm --name mitmproxy-pretendo -v mitmproxy-pretendo-data:/home/mitmproxy/.mitmproxy -p 8080:8080 -p 127.0.0.1:8081:8081 ghcr.io/matthewl246/mitmproxy-pretendo mitmweb --web-host 0.0.0.0
docker build . -t ghcr.io/pretendonetwork/mitmproxy-nintendo
docker run -it --rm --name mitmproxy-pretendo -v mitmproxy-pretendo-data:/home/mitmproxy/.mitmproxy -p 8080:8080 -p 127.0.0.1:8081:8081 ghcr.io/pretendonetwork/mitmproxy-nintendo mitmweb --web-host 0.0.0.0

0 comments on commit 7e66dfe

Please sign in to comment.