This project implements a multithreaded HTTP/HTTPS proxy server with a built-in GUI using Python and tkinter. The proxy server supports caching, logs all events in a graphical interface, and maintains a list of cached websites.
- Handles both HTTP and HTTPS traffic
- Real-time log output
- Caching of HTTP responses
- Ability to clear the log and cached websites
- Graceful shutdown support
- Python 3.x All required libraries are part of the standard Python library, so no additional installation is needed.
- Save the script.
- Open Firfox, go to Settings.
- Search for network settings, go to Settings...
- Select Manual proxy configuration: HTTP Proxy-> 127.0.0.1 Port->8888
- Check the box beside Also use this proxy for HTTPS.
- Click OK and run the code on terminal.
- HTTPS traffic is handled via tunneling using the CONNECT method.
- Caching is currently limited to HTTP responses and based on URL hashing.
- This proxy is intended for educational/testing use— it does not handle advanced HTTP features like chunked transfer, gzip encoding, or cookies.