diff options
Diffstat (limited to 'examples/change_upstream_proxy.py')
-rw-r--r-- | examples/change_upstream_proxy.py | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/examples/change_upstream_proxy.py b/examples/change_upstream_proxy.py index 86031d29..e063ca4f 100644 --- a/examples/change_upstream_proxy.py +++ b/examples/change_upstream_proxy.py @@ -4,17 +4,18 @@ # Usage: mitmdump -s "change_upstream_proxy.py host" from libmproxy.protocol.http import send_connect_request +alternative_upstream_proxy = ("localhost", 8082) def should_redirect(flow): - return (flow.request.host == "example.com") -alternative_upstream_proxy = ("localhost",8082) + return flow.request.host == "example.com" -def request(ctx, flow): - if flow.live and should_redirect(flow): - # If you want to change the target server, you should modify flow.request.host and flow.request.port - # flow.live.change_server should only be used by inline scripts to change the upstream proxy, - # unless you are sure that you know what you are doing. - server_changed = flow.live.change_server(alternative_upstream_proxy, persistent_change=True) - if flow.request.scheme == "https" and server_changed: - send_connect_request(flow.live.c.server_conn, flow.request.host, flow.request.port) - flow.live.c.establish_ssl(server=True) +def request(context, flow): + if flow.live and should_redirect(flow): + + # If you want to change the target server, you should modify flow.request.host and flow.request.port + # flow.live.change_server should only be used by inline scripts to change the upstream proxy, + # unless you are sure that you know what you are doing. + server_changed = flow.live.change_server(alternative_upstream_proxy, persistent_change=True) + if flow.request.scheme == "https" and server_changed: + send_connect_request(flow.live.c.server_conn, flow.request.host, flow.request.port) + flow.live.c.establish_ssl(server=True) |