Skip to content

erenolmez/CacheMeIfYouCan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ•ต๏ธโ€โ™‚๏ธ CacheMeIfYouCan

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.


๐Ÿš€ Features

  • Acts as a basic HTTP proxy server
  • Downloads content from given URLs
  • Handles large files using buffered reads
  • Gracefully handles 404 Not Found errors
  • Built with only Python standard libraries
  • Logs HTTP status codes and connection info
  • Easy to run from the command line

๐Ÿ“ฆ How It Works

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:

  1. It extracts the host and file path.
  2. Connects to the actual web server via sockets.
  3. Sends an HTTP GET request.
  4. Receives the response and writes the content to a file.
  5. Continues listening for more requests.

๐Ÿง  Use Case

Originally developed as part of a CS421 Computer Networks programming assignment at Bilkent University.


๐Ÿ› ๏ธ Requirements

  • Python 3.x
  • Works cross-platform (tested on Linux)

No external libraries are needed.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages