We need an application that will act as a proxy for people accessing the Internet. For all web browsers that access the Internet, it should: 1. Change the HTTP_REFERRER that is normally sent out. For all content requests, including requests for images in a web page and all other linked content, the app should do one of the following (It should be easy to set which option to use when compiling): a. Send the same string for all Referrers (this could be blank or it could always be the same URL, like “[login to view URL]?). b. Automatically send a Referrer equal to the base directory or domain name being requested. So that when the image “[login to view URL]? is requested the Referrer is sent as “[login to view URL] directory/images/??. If the page “[login to view URL]? is loaded the Referrer is sent as “[login to view URL]? c. Make no modification and let the Referrer be sent as it would be before the application was installed. 2. Each content request sent out by the browser should be accompanied by an extra HTTP header. We should be able to set the name and value of this extra header when the app is compiled. 3. If a user enters a domain name that cannot be found, instead of showing a message like “We can't find [login to view URL]? (as is done in Internet Explorer), the browser should re-direct the user to a domain name we specify. The domain that could not be found should be put at the end of the path, exactly as it was entered (ie “[login to view URL] [login to view URL]?). It should be possible to set more than one domain to use as the re-direct name, and these should rotate sequentially. For example, if the user tries three bad domain names they would be redirected like this: “[login to view URL]??, “[login to view URL]??, “[login to view URL]??. It should be easy to set the list of these names when the app is compiled. SEE ATTACHED for more notes about project and coder guidelines.
## Deliverables
This program should be built in C++ with MS Visual Studio .net. 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
It should work on Windows 95 and above with IE 5.0 or above installed. Should work with non-IE browsers like Firefox/Netscape and Opera.