Proxy servers can be chained. The user may configure his or her browser to use Foxy as its first-hop proxy server, then Foxy may be configured to forward requests to another proxy server (or multiple proxy servers).
Typical reasons why you may need another proxy:
Foxy may be configured to forward requests to multiple proxies depending on the target web site URL. For example, you can use a list of anonymous proxies to connect to a few chat room sites, and use your ISP's caching proxy for the rest of the Internet.
One or more proxy mappings may be defined. A proxy mapping maps a set of host names to a set of proxy servers that must be used to connect to those hosts.
When more that one proxy mapping is defined, Foxy checks if the host part of the requested URL matches one of the hosts of the first mapping. If it doesn't, the second mapping is tried, etc. until a matching mapping is found. Target hosts in a mapping may be specified using wildcards and there may be exceptions, exactly like for filters.
If the requested URL does not match any of the defined proxy mappings (or there are no proxy mappings defined), Foxy will connect to the host directly.
If a matching mapping is found, Foxy tries to connect to one of the proxies of that mapping. All proxy servers in the list are tried in order, until one of them accepts connection. The order in which proxies are tried depends on previous availability; proxies that have been available recently are tried first.
Every proxy mapping has a direct connection option. If all proxies of the mapping fail (or there are no servers defined for that mapping), and the direct connection option in enabled, the destination host will be contacted directly.
Once a matching mapping is found, no other mappings will be tried, so at least one of the proxy servers of every mapping must be alive, or direct connection must be allowed for that mapping.
A proxy server may appear in more then one mapping.
Proxy Mapping Configuration File
The name of the file is defined by the proxy_file parameter of the main configuration file. Configuration of every proxy mapping is represented by a block of lines. Every line has a name = value format. Individual proxy mappings are separated with one or more empty lines (the structure is similar to that of the filters configuration file). See an example below.
See also proxy mapping editor.
Proxy Mapping parameters:
name = unique_proxy_mapping_name
include = url_pattern
exclude = url_pattern
proxy = host:port
direct = boolean
name
Mapping name. Must be unique, cannot be omitted, cannot be empty.
include, exclude
One or more include/exclude parameters define a set of domains requests for pages from which must be forwarded to one or more proxy servers defined by proxy parameters.
These two parameters are similar to those of the
filter configuration file. Unlike filter parameters though, they cannot
include the path part, only domain part is allowed. Domain names may still
contain wildcard characters. Like for filters, a domain will match all its
subdomains. For more information see URL patterns.
proxy
One or more proxy parameters define a list of proxy servers. The format is host:port, where host defines IP address or domain name of the HTTP proxy server, and port defines port. If only host part is specified, port 8080 is assumed (or is it 80?).
If more than one proxy server is defined for a mapping, they all will be
tried in order until one of them accepts connection. Over time Foxy gathers
statistics about proxy servers' availability and will try more reliable
servers first. If all proxies fail, and direct = true, Foxy will
issue a direct (unproxied) request.
direct
Specifies whether or not direct requests are allowed if all proxies fail or
there are no proxy servers defined for this mapping.
Example
This example demonstrates the most typical use of the forwarding feature. Let's assume we want to connect to hosts foo.com and bar.org (and subdomains thereof) only through public proxies, direct connection is not allowed. To all other hosts (“*”) we want to connect through our ISP's caching proxy (cache:8080), or directly if that fails. This can be achieved if our proxies.cfg contains the following:
name = Anonymous access to foo.com and bar.org include = foo.com include = bar.org proxy = 170.115.249.18:80 proxy = 220.77.129.183:8080 proxy = 212.155.169.124:80 proxy = 217.17.228.40:80 proxy = 168.12.40.248:80 direct = false name = Everything else include = * proxy = cache:8080 direct = true
This time we don't have direct access to web and have to go through our employer's webgateway box which is running another instance of Foxy on port 8080 spying on our traffic:
name = The Web Gateway include = * proxy = webgateway:8088 direct = false
Proxy lists:
http://www.multiproxy.org/anon_proxy.htm
http://www.stayinvisible.com/index.pl/proxy_list
http://www.publicproxyservers.com/page1.html
Please beware that some of the sites hosting lists of free public proxies may contain viruses. Also, keep in mind that a proxy server has full access to your traffic and may try to extract and maliciously use your personal information. Before using a public proxy ask yourself, why are they there in the first place? The primary purpose of at least some of them may be collection of private information.