A lightweight HTTP proxy downloader written in Python using raw sockets.
It fetches files on your behalf, handles errors, and deals with large content โ all while keeping things fast and minimal.
- Acts as a basic HTTP proxy server
- Downloads content from given URLs
- Handles large files using buffered reads
- Gracefully handles
404 Not Founderrors - Built with only Python standard libraries
- Logs HTTP status codes and connection info
- Easy to run from the command line
The proxy listens on a custom port (e.g., 12345) and waits for incoming requests from a browser like Firefox.
Once a request is received:
- It extracts the host and file path.
- Connects to the actual web server via sockets.
- Sends an HTTP GET request.
- Receives the response and writes the content to a file.
- Continues listening for more requests.
Originally developed as part of a CS421 Computer Networks programming assignment at Bilkent University.
- Python 3.x
- Works cross-platform (tested on Linux)
No external libraries are needed.