{"id":19469515,"url":"https://github.com/hackerkid/snowden","last_synced_at":"2025-04-25T11:33:19.051Z","repository":{"id":71211758,"uuid":"43807861","full_name":"hackerkid/snowden","owner":"hackerkid","description":"yet another proxy server in C++","archived":false,"fork":false,"pushed_at":"2015-11-03T12:24:52.000Z","size":306,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T21:11:16.528Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hackerkid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-07T10:05:37.000Z","updated_at":"2022-10-30T08:18:00.000Z","dependencies_parsed_at":"2023-03-08T02:26:07.270Z","dependency_job_id":null,"html_url":"https://github.com/hackerkid/snowden","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackerkid%2Fsnowden","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackerkid%2Fsnowden/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackerkid%2Fsnowden/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackerkid%2Fsnowden/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackerkid","download_url":"https://codeload.github.com/hackerkid/snowden/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250808458,"owners_count":21490668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T18:51:42.401Z","updated_at":"2025-04-25T11:33:18.741Z","avatar_url":"https://github.com/hackerkid.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# snowden\nYet another proxy server in C++\n\n##Installing\n\n* Extract the compressed file\n* run `make` in terminal for compiling and building the binary\n* run `./proxy Port` to start the proxy server in the desired PORT\n\n###IIITA Proxy\n* 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`. \n* If you are using mobile data then there is no need of chaning the value of `CONNECT_TO_IRONPORT`. Leave it as `false`. \n* The python tests would only work under mobile data.  \n\n##Design \n\nThe proxy server would act as both a client and server. \n![image](https://www.drupal.org/files/project-images/proxy.png)\n\n* Each client would connect to the proxy server which in turn fetches the desired web page back to the client.\n* To support multiple clients I used thread programming (pthread library). \n* The request made to the proxy server by the client can be validated with the help of `ParsedRequest_parse` function in `proxy_parse.h`. \n* 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.\n\n\n##Testing\nGo to the `Edit` menu in Firefox.\n* Select `Preferences`. Select `Advanced` and then select `Network.\n* Under `Connection`, select `Settings`.\n* Select `Manual Proxy Configuration`. If you are using localhost, remove the\ndefault `No Proxy for: localhost 127.0.0.1`. Enter the hostname (eg localhost) and port where\nyour proxy program is running.\n* Save your changes by selecting `OK` in the connection tab and then select `Close`\nin the preferences tab.\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackerkid%2Fsnowden","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackerkid%2Fsnowden","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackerkid%2Fsnowden/lists"}