diff --git a/README.md b/README.md index 0d4a480..a92b866 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,34 @@ # Node HTTP Proxy -This package is an HTTP proxy, written in Node.js. Spun up on a virtual machine. +This project is an HTTP proxy, written in Node.js. + +I wrote this because I deal with proxies at work all the time, and wanted to write one as an exercise. I chose +Node.js due to the event-driven architecture lending itself well to networking applications and because I +am familiar with the language. + +My goal for this project is to have it be easy to spin up, and compatible with major browsers. It will do 2 things. + +1. It will monitor application-level traffic (anything over HTTP/HTTPS) - and log it. +2. It will block traffic after it's detected that you've been on a certain site for too long. + +In the future I would like it to: + +1. Block traffic based on pre-configured block rules. +2. Attempt to block any content it deems dangerous. +3. Provide a web interface for configuration management. +4. Provide a configuration file. + +So in reality, it will be a tool to help monitor your internet usage and block you from spending too much time on any particular site! # Testing -To test, can either spin up the vagrant instance, or utilize the unit tests. \ No newline at end of file +To test, can either spin up the vagrant instance, or utilize the unit tests. + +# TODO + +1. Setup a server that listens on a port +2. Write a rudimentary parsing routine. +3. Get Jest tests set up for the parsing routine +4. Get Vagrantfile so can test with an actual browser that asks for a proxy +5. Implement forwarding an HTTP request to the host after requesting it +6. Return forwarded HTTP request to client after response is returned. \ No newline at end of file