Proxy Server which can be used to keep requests and data transfer secure. It takes in requests from the client in HTTP (unencrypted), talks to the server requested using HTTPS (encrypted), and then finally transmits the data it receives from the server back to the client. A cache is implemented and the proxy acts appropriately when HTTPS is not available.
Time spent on project: 2 weeks during 2nd year of University