We need a C++ program that compiles on Linux that determines if an IP address and port number is an active proxy. It should be OOP if possible and have comments. Program will be provided a list of proxy servers to test. Here are the parts of the program:
**_For HTTP Proxies_** Do both a GET and POST test on the proxy to determine if the proxy is good and it's speed. The GET and POST test should use a RegEx from loading [[login to view URL]][1] to look for "20.. Yahoo" to avoid false positives.
If the GET and POST were both successful, the tester will call a remote script to test if the proxy is elite (passing along the IP the outgoing socket is binded to [login to view URL]).
If the proxy is elite and pasted GET/POST test then it should test to see if the proxy supports the CONNECT method for an SSL enabled connection. Loading the page [[login to view URL]][1] with the CONNECT method and looking for the string "20.. Yahoo".
Program will then input good proxies into a mySQL database:
ip, port, ssl (Yes/No), IP country, proxy speed, last tested (GMT date & time)
**_
For SOCKS_** Ensure SOCKs proxy is working, determine speed, and if it is elite anonymous. Determine if it is SOCKS4 or SOCKS5. If SOCKS5, determine if it supports remote DNS. Verify SOCKs proxy supports both TCP and UTP. Add to another mySQL table if the IP is good.
**_Additional Command Lines_** Program must accept command line options to scan proxies in the mySQL tables. Rechecking they are up, the speed, anonymous, and support SSL (if HTTP proxy).
**_
Make It Fast_** Use multi-threading to increase speed and be sure there are no memory leaks.
## Deliverables
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
RedHat Linux 9.0