Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
update_alt_svc.py34 linesDownload Raw Back to addons
1import re2 3from mitmproxy import ctx4from mitmproxy.http import HTTPFlow5from mitmproxy.proxy import mode_specs6 7ALT_SVC = "alt-svc"8HOST_PATTERN = r"([a-zA-Z0-9.-]*:\d{1,5})"9 10 11def update_alt_svc_header(header: str, port: int) -> str:12    return re.sub(HOST_PATTERN, f":{port}", header)13 14 15class UpdateAltSvc:16    def load(self, loader):17        loader.add_option(18            "keep_alt_svc_header",19            bool,20            False,21            "Reverse Proxy: Keep Alt-Svc headers as-is, even if they do not point to mitmproxy. Enabling this option may cause clients to bypass the proxy.",22        )23 24    def responseheaders(self, flow: HTTPFlow):25        assert flow.response26        if (27            not ctx.options.keep_alt_svc_header28            and isinstance(flow.client_conn.proxy_mode, mode_specs.ReverseMode)29            and ALT_SVC in flow.response.headers30        ):31            _, listen_port, *_ = flow.client_conn.sockname32            headers = flow.response.headers33            headers[ALT_SVC] = update_alt_svc_header(headers[ALT_SVC], listen_port)34 
codekingpro/portable-devtools · Team Ai