Modify existing code, [url removed, login to view]
1. The client needs to be turned into a DLL that is injected into a windows process on boot.
2. The transfer of information needs to be encrypted to prevent eavesdropping.
3. The client needs to connect to the server on boot.
4. The client needs to return OS/Memory/CPU/Maxmind GEOIP result on boot(Will use local maxmind geoip lite file).
5. Every 30 seconds the client will update the server as to how fast the client receives a ping from a remote site that the server will specify.
6a. The client will receive a request from the server to crawl a remote website. ( Needs: User Agent, Cookies, Auto Redirect, Keep-Alive options).
6b. The client will start a new thread to perform this request.
I will build in the parsing functions after the project is done but I need the framework for this including a clear way to move from different requests. For instance an example of a way to perform a GET request, extract login page fields then a POST request to submit the data.
6c. a GET request example
6d. a POST Request example
6e. a function that can be used to download and save an image
6f. a function that explode or splits a string
6g. a Regex function that can be used to extract data.
7. After the crawl has been completed the client needs a function to transfer the results back to the main server securely. Results will include full HTML data from page and Cookies.
8. A function that can be initiated by the server to update the remote client.
9. A function that can be initiated by the server to uninstall and remove the remote client.
10. The client will update the server to any exceptions that are encountered during the crawl process with full HTML and Cookie data as well as the exception message and which function it occurred in.
11. We want to keep the memory/CPU footprint of this application low for the client side as I will be using this on some of my older machines.