ProxyTools overview
These tools should work on any system where Perl is provided.
Install Perl from http://www.activestate.com/,
or (if you are on a Unix system) CPAN.
Get the latest release of the proxyTools package at sourceforge.
If you are willing to experiment, get the latest development versions (bugs
and all!) of the individual files from sourceforge CVS. Follow the 'browse
CVS' links into localProxy2 or proxyTools directory, then click the version
number of the file you want, then click the download link. For example to
get v1.70 of findProxy.pl, you end up here:http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/~checkout~/
proxytools/proxyTools/findProxy.pl?rev=1.70
Note that you should use a CVS client to get these, but it is possible to
do it file by file using your web browser (see the FAQ for instructions).
If you got a distribution, unzip it to (say) c:\proxyTools.
If you got individual CVS files, just copy them on top of the old versions.
Open a command shell (command prompt, DOS shell, BASH shell etc.). Normally
(Windows users) this is on your Start menu (programs, or programs|accessories).
cd /d c:\proxyTools
The tools provided cover the following areas:
- analysis of your ISP's firewall rules to determine blocked ports (master.pl)
- analysis of your system, environment and any hints you provide to determine
the name servers to use, the proxies you have access to, the services you
have access to and any special subnets you may be able to access (master.pl,
statProxy.pl)
- analysis of proxies found (a very comprehensive test suite is run by
statProxy)
- extraction (and basic tests) from many formats of lists of proxies
in files, URLs, or even mail and forum/bbs messages (findProxy, statProxy)
- sorting proxy files, merging, deduping, 'safe'ing and reverse resolution
(sortProxy)
- database management with reliability and uptime calculated (mergeHosts)
- extraction/reports from the database with multiple selection parameters
like proxy capabilities and proxy location (extractHosts)
- a local proxy which attempts to build a configuration from all of the
above information, and provide you with services you can use without worrying
about proxies dying, inaccessible, censoring, down etc. The services which
are provided are non-censoring, reliable, as fast as your proxy database can
supply, etc.
- a logger which will tell you everything your clients are sending and
receiving (localProxy)
- an XML database maintained by myself (with test reports from others)
containing thousands of proxies with their capabilities, properties, uptime,
reliability , access info and speeds (hosts.xml)
- many other useful XML databases containing information like known firewalls
(blocked ports, proxies, name servers etc.)
An example to get you started
Having unzipped the package as above, you are ready to try one of the tools.
I'll use an old version of findProxy as an example, and to give you the flavor
of these things (all the proxyTools behave in a similar manner).
perl findProxy.pl -h
You will see some help information:
Usage: findProxy [-options]
-f Use a configuration file (command line options still
override)
-c Set country to test proxies for (default UAE)
-i Ignore proxies on these ports (default [23, 12000])
-t Set timeout value (default 60 secs)
-p URL for the proxy to use to get the proxy list,
or 'none' (default a UAE proxy)
-v Show program version
-h Print this message
-q Quiet - don't list the proxy list, and no beeps etc.
(default noisy)
-C Use CONNECT to test each proxy in the list (default off)
-P Use CONNECT via this proxy Note: if no
-p proxy is specified, the default for
-C is a UAE CONNECT proxy
-w On completion, wait for a GUI user to close
the window (default no wait)
-n [start,end] Check a range of URLs (increment %COUNT% in the url)
Even more detail may be obtained from the embedded documentation:
perldoc findProxy.pl
Run findProxy, without a configuration file (specifying all parameters on
the command line) like this (on one line):
perl findProxy.pl -c free -C -P http://CONNECT.proxy.address:8080/ http://www.angelfire.com/my/6waynes/checkedPublicProxies.html
In the UAE, you can leave out the CONNECT proxy specification because the
code will add one for you. To handle this more easily, edit one of the configuration
files with the information you want on the command line and run findProxy
like this:
perl findProxy.pl -f configFileName.rc
Much easier, but the parameters are hidden.
Note: the above example is from an old version of findProxy - see the up
to date help for findProxy here.
My old site is at: http://www.angelfire.com/my/6waynes
but I'm downgrading it's use as a file repository because angelfire became
quite unreliable for that purpose. The site will remain as the maintained
site for information, but sourceforge
is now the preferred site for proxyTools file distributions. Lists of proxies
are all distributed as part of the proxyTools distribution (in hosts.zip)
now.
wayne@nym.alias.net