mitmproxy-pretendo/pretendo_addon.py
2022-07-22 23:34:51 -04:00

33 lines
1.2 KiB
Python

from mitmproxy import http, ctx
class PretendoAddon:
def load(self, loader) -> None:
loader.add_option(
name="pretendo_redirect",
typespec=bool,
default=False,
help="Redirect all requests from Nintendo to Pretendo",
)
loader.add_option(
name="pretendo_http",
typespec=bool,
default=False,
help="Sets Pretendo requests to HTTP",
)
def request(self, flow: http.HTTPFlow) -> None:
if ctx.options.pretendo_redirect:
if 'nintendo.net' in flow.request.pretty_host:
flow.request.host_header = flow.request.pretty_host.replace('nintendo.net', 'pretendo.cc')
elif 'nintendowifi.net' in flow.request.pretty_host:
flow.request.host_header = flow.request.pretty_host.replace('nintendowifi.net', 'pretendo.cc')
elif 'rverse.club' in flow.request.pretty_host:
flow.request.host_header = flow.request.pretty_host.replace('rverse.club', 'pretendo.cc')
if ctx.options.pretendo_http:
flow.request.scheme = 'http'
addons = [PretendoAddon()]