Skip to main content

mitm

import os

# This can also be replaced with another IP address.
USE_SSL = True
REMOTE_HOST = "39.106.144.26"
REMOTE_PORT = 9010

# REMOTE_HOST = "47.242.116.26"
# REMOTE_PORT = 443

if os.getenv('MITM_REMOTE_HOST') != None:
REMOTE_HOST = os.getenv('MITM_REMOTE_HOST')
if os.getenv('MITM_REMOTE_PORT') != None:
REMOTE_PORT = int(os.getenv('MITM_REMOTE_PORT'))
if os.getenv('MITM_USE_SSL') != None:
USE_SSL = bool(os.getenv('MITM_USE_SSL'))

print('MITM Remote Host: ' + REMOTE_HOST)
print('MITM Remote Port: ' + str(REMOTE_PORT))
print('MITM Use SSL ' + str(USE_SSL))

import re
from mitmproxy import http
from proxy_config import USE_SSL
from proxy_config import REMOTE_HOST
from proxy_config import REMOTE_PORT

class MlgmXyysd_Genshin_Impact_Proxy:
filter_rules = [
r"(.*?).mihoyo.com",
r"(.*?).hoyoverse.com",
r"^(?!autopatch)(.*?).yuanshen.com"
]

def request(self, flow: http.HTTPFlow) -> None:
# if flow.request.host in self.LIST_DOMAINS:
for rule in self.filter_rules:
if re.search(rule, flow.request.host):
if USE_SSL:
flow.request.scheme = "https"
else:
flow.request.scheme = "http"
flow.request.host = REMOTE_HOST
flow.request.port = REMOTE_PORT

addons = [
MlgmXyysd_Genshin_Impact_Proxy()
]