Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/hackerkid/snowden-docs
- Owner: hackerkid
- License: apache-2.0
- Created: 2015-10-13T16:32:42.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-10-13T18:07:31.000Z (about 9 years ago)
- Last Synced: 2023-08-01T12:24:49.550Z (over 1 year ago)
- Size: 344 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.