Webproxy setup (apache/squid?)

This project received 6 bids from talented freelancers with an average bid price of $138 USD.

Get free quotes for a project like this
Employer working
Project Budget
Total Bids
Project Description

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.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online