Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hackerkid/snowden-docs

Docs for the HTTP proxy server
https://github.com/hackerkid/snowden-docs

Last synced: about 1 month ago
JSON representation

Docs for the HTTP proxy server

Awesome Lists containing this project

README

        

# snowden (HTTP Proxy Serever) Docs

This repo contains the docs for the HTTP proxy server which I (Vishnu Ks, IIT2013075) made for the networking course. The source code would be made public once the evaluation is over at http://github.com/hackerkid/snowden

##Installing

* Extract the compressed file
* run `make` in terminal for compiling and building the binary
* run `./proxy Port` to start the proxy server in the desired PORT

###IIITA Proxy
* If you are testing the proxy server in IIIT-A network then change the value of `CONNECT_TO_IRONPORT` defined in line 15 proxy.cpp to `true`.
* If you are using mobile data then there is no need of chaning the value of `CONNECT_TO_IRONPORT`. Leave it as `false`.
* The python tests would only work under mobile data.

##Design

The proxy server would act as both a client and server.
![image](https://www.drupal.org/files/project-images/proxy.png)

* Each client would connect to the proxy server which in turn fetches the desired web page back to the client.
* To support multiple clients I used thread programming (pthread library).
* The request made to the proxy server by the client can be validated with the help of `ParsedRequest_parse` function in `proxy_parse.h`.
* HTTPS is not supported becuase the data send between the client and server is heavily encrypted. No sense can be made of data and it would be useless to cache anything in the proxy server.

##Testing
Go to the `Edit` menu in Firefox.
* Select `Preferences`. Select `Advanced` and then select `Network.
* Under `Connection`, select `Settings`.
* Select `Manual Proxy Configuration`. If you are using localhost, remove the
default `No Proxy for: localhost 127.0.0.1`. Enter the hostname (eg localhost) and port where
your proxy program is running.
* Save your changes by selecting `OK` in the connection tab and then select `Close`
in the preferences tab.