diff --git a/proxy.py b/proxy.py new file mode 100644 index 000000000..1961c90dc --- /dev/null +++ b/proxy.py @@ -0,0 +1,68 @@ +## +# +# Copyright (C) 2002-2022 MlgmXyysd All Rights Reserved. +# +## + +## +# +# Genshin Impact script for mitmproxy +# +# https://github.com/MlgmXyysd/ +# +# *Original fiddler script from https://github.lunatic.moe/fiddlerscript +# +# Environment requirement: +# - mitmdump from mitmproxy +# +# @author MlgmXyysd +# @version 1.0 +# +## + +from mitmproxy import ctx, http + +class MlgmXyysd_Genshin_Impact_Proxy: + + def request(self, flow: http.HTTPFlow) -> None: + + # This can also be replaced with another IP address. + REMOTE_HOST = "localhost" + + LIST_DOMAINS = [ + "api-os-takumi.mihoyo.com", + "hk4e-api-os-static.mihoyo.com", + "hk4e-sdk-os.mihoyo.com", + "dispatchosglobal.yuanshen.com", + "osusadispatch.yuanshen.com", + "account.mihoyo.com", + "log-upload-os.mihoyo.com", + "dispatchcntest.yuanshen.com", + "devlog-upload.mihoyo.com", + "webstatic.mihoyo.com", + "log-upload.mihoyo.com", + "hk4e-sdk.mihoyo.com", + "api-beta-sdk.mihoyo.com", + "api-beta-sdk-os.mihoyo.com", + "cnbeta01dispatch.yuanshen.com", + "dispatchcnglobal.yuanshen.com", + "cnbeta02dispatch.yuanshen.com", + "sdk-os-static.mihoyo.com", + "webstatic-sea.mihoyo.com", + "webstatic-sea.hoyoverse.com", + "hk4e-sdk-os-static.hoyoverse.com", + "sdk-os-static.hoyoverse.com", + "api-account-os.hoyoverse.com", + "hk4e-sdk-os.hoyoverse.com" + ] + + if flow.request.url.startswith("http://overseauspider.yuanshen.com:8888/log"): + ctx.log.info("Block overseauspider.yuanshen.com") + flow.response = http.HTTPResponse.make(404) + elif flow.request.host in LIST_DOMAINS: + ctx.log.info("Redirect " + flow.request.host) + flow.request.host = REMOTE_HOST + +addons = [ + MlgmXyysd_Genshin_Impact_Proxy() +] \ No newline at end of file