I am looking for someone to provide the configuration files and scripts for a web proxy.
I currently have apache [url removed, login to view] installed on a Fedora 10 server. I have the squid module installed but not configured. I am willing to install other software packages if necessary, but I would prefer to use what I already have installed.
I am currently working with prototypes of a simple perl script to handle the proxy data. You will probably be creating some kind of wrapper to interface between this script and apache. My code is thread-safe, and doesn't care how many instances exist.
My script provides the following functions:
$hpc = new Hetero::ProxyController();
$hpc->permit_proxy( $client_ip, $server_ip );
- should be called by your code when a client tries to connect to a new server. The result from this function may be cached (although it should be possible for an admin to clear the cache)
- The result will either be false (the connection should be refused), a numeric error code (the connection should be refused with an appropriate HTTP status) or a list containing one or more of the values "PROXY_ALLOWED" (allow the client to connect through the proxy to this server), "CACHE_ALLOWED" (the proxy may cache data from this server, as a normal webcache) and "MONITOR_TRAFFIC" (the following function should be called for each request between this client/server)
$hpc->page_request( $client_ip, $request );
- Should be called whenever a request is made through the proxy for a client/server combination which responded "MONITOR_TRAFFIC".
- $request should be a HTTP::Request object
- I don't care whether this method is called before, during or after getting the server's response.
- If this method returns false, the server's response should be passed on to the client and/or cached by the proxy.
- If the return value is true, the server's response should also be passed to the following function:
$hpc->page_response( $client_ip, $request_id, $response );
- $request_id should be the value returned by the corresponding call to page_request()
- $response should be a HTTP::Response object
- If the response was a success and the request_id is the path to a non-existing file in a directory the apache user can write to, the response body should be saved there. In this case, the content of the $response object will not be examined.
If any of this isn't clear, please send me a message about it. I'm not too good at explaining these things.
5 freelancers are bidding on average $146 for this job
I have years of experiencie working with Squid. I wrote several Squid helpers: authentication, external acls, url rewriters. I could write a the perl script that use your api for your needs.