This project implements a HTTP/HTTPS web proxy in Python.
It implements multithreaded request handling, custom HTTP parsing and web sockets for HTTPS. It also features a simple UI for viewing, blocking and caching HTTP request data.
A detailed explanation of the implementation can be found in report.pdf
.
With python
installed simply run
> python3 Proxy.py
to start the proxy. By default it runs on localhost
with port 8080
. This can be changed by modifying the PROXY_HOST
and PROXY_PORT
variables in Proxy.py
.
To connect a browser to the proxy simply search for the proxy settings in the browser. I showcase firefox in the above demo video.