Running localProxy
Simplest view:
Download. Unpack. Run localProxy.pl (or .exe if you downloaded the
Windows executable). Click an appropriate configuration . Click 'start
services'.
To implement web browsing, configure the web browser to use
localhost:10080 as it's proxy.
To implement Usenet News access, create an account in your news client
which has it's news server at localhost:10119.
Done.
Simpler view:
- Extract all of the component files into the same directory.
- Double-click localProxy.pl (or .exe). The GUI should now start
up, and a command window (the GUI log) will open. This log window
does not interact with the localProxy back-end, or engine, when it's
running. Errors from the GUI will appear here.
- If this is the first time you have run localProxy, several
modules will be installed automatically from the Internet. Wait for
these to finish and restart localProxy as instructed.
- Select a configuration (last, saved, auto, UAE-dialup, UAE-adsl,
KSA-<your ISP> , user0, user1, user2, etc.).
- 'Last' is the last configuration you used (with speeds etc.
saved).
- 'Saved' is similar but was saved, at the user's request, as
a snapshot while LP was running.
- 'Auto' will only be present if you have used the
'AutoConfigure' button. Use if there is no suitable configuration
already available.
The configurations labelled UAE and KSA should work in those places.
The other non-country configs are there as examples, but may work. I
recommend you copy a config-*.xml file to make your own config file
with your own services, and redirectors/proxies. See config-wayne.xml
to see how I set mine up, and
help-configExample.txt for further examples.
- Click 'Go advanced' to see the advanced window.
- Click 'run setup script' if you have written one. This will
execute a file called 'script-<configName>.bat to allow you to
set up things before running the localProxy back-end. You would need
to write your own script if you want this to do anything useful. The
script may log into shell accounts, start ssh port-forwarding
tunnels, start proxies etc. These services may then be used by
localProxy when it starts up.
- Click 'Start services' You should notice a perl window start on
the task bar (on some versions of Windows, it will pop up in your
face). This is the localProxy back-end; that log window will show
speeds, errors, data etc.
- Wait for the 'Start services' button to turn green.
- Configure your web browser to use it's http proxy on localhost,
port 10080 and surf. In your news client (ex: Outlook Express) set up
a news account at localhost:10119 and download usenet news. I've
included a free news server in the distributed congiguration, but
normally you would use your shell account's news server.
- At any time, you may save or view the running configuration,
enable or disable individual commStrats or proxies, examine error
statistics etc. from the GUI.
- When you've finished, you may stop localProxy by clicking the
'Stop services' or 'Exit' button.
Simple view:
2) Users without Tk (probably Unix users) may start the back end
(localproxy2.pl (or .exe)) by itself.
4a) If this is the first time you have run localProxy and you don't see
an obviously applicable configuration to choose in the configurations
list, then you may wish to run 'AutoConfigure'. Place any proxies you
would like to have included in the tests in the field near this button
(in particular, include your local ISP's proxies) and press the button.
Note that LP will find proxies in the registry, environment, user
configuration files etc. automatically, so they don't need to be
specified here. Wait for the firewall rules to be tested, the proxies
to be tested and the results merged in to the 'auto' configuration.
This can take many minutes (there are 19 tests done currently, so
several minutes per proxy may be needed and things like
'proxy1.emirates.net.ae:8080' actually resolve to multiple proxies).
The 'auto' configuration will eventually appear in the configuration
list, and you may then use it like other configurations below.
4d) You may also add special proxies to be tested and included in
localProxy's build by selecting a configuration, adding the proxies to
the field above the 'test and merge' button and click that button.
Again, wait... Note that such proxies will be selected for use by
localProxy (and appear later in the 'hosts' lists in the GUI) only if
the test results indicate they are fast and with suitable capabilities
for a particular service,commStrat, layer. You can 'insist' that
localProxy uses these by editing their reliabilty to 1, and speed to 1
etc after they have been added into the current configuration file, but
unless you really know what you are doing you will probably just be
making things harder for LP.
8) Do *not* type ctrl-break here to start debug mode unless you are
sure. That will still work, but will shut down it's parent (the GUI)
- that may be what you wanted, of course.
8a) Selecting a service and then a commStrat will show a list of the
configured proxies in each layer of the commStrat once a 'built'
configuration is available to the GUI (after the back end has been
started). A special case for the 'last' configuration allows the user to
see this configuration even before running the back end. This is
probably useful only if you intend changing the default configuration
files. The layer 0 and layer 1 windows you see below the communication
strategy window, are not editable. They are the result of a substantial
amount of processing by the localProxy back end. Individual proxies in
these layers, commStrats and whole services may be enabled/disabled via
right-click context sensitive menus however.
8b) Click 'show running config'. Wait a few seconds and a window will
open up with a data tree displayed. The '+' symbols may be clicked to
expand that subtree. The interesting information is in the tree nodes
which have numeric-only names. Look for 'friendly names' to see what
service the subtree covers, and 'host' to see which address and port
the statistics cover at the bottom of the tree (on the rightmost side
of the window) when the tree is expanded fully.
8c) Unless you used a prebuilt configuration (last, saved) localProxy
needs to 'practice' to recognize the speeds and reliability of the
various communication strategies and paths available to it, so self
testing is enabled and running as soon as the build is ready. The 'Self
tests' button allows you to turn that off. Don't do this unless you
need to (for example, if you want to use the logging facility and the
self tests are causing too much noise).
CommStrat 2 has many substrategies, and it will take quite a lot of
testing to fully explore all of these, but the result is usually very
good. I expect people to often use localProxy to verify proxies, so
there might be a substantial number of bad ones in the configuration.
LocalProxy must try each one several times before it's convinced not
to use it as much. The easiest way to assist in training localProxy is
to surf to a complicated, fast web page. Click 'stop', if necessary,
after most of the activity has stopped (don't wait too long). Then
reload the page(s) using (in Internet Explorer) ctrl-refresh (to
ensure that full requests to the web server are made for the training
phase speed measurements). After some refreshes, a good page should
load quickly and without errors. You may decide to continue with your
browsing at any time, refreshing as required (the 'go' button in IE
will fill in any missed page components without requesting much at
all).
8d) The log window will be showing very little information at this
point. To see more information from the engine (ex:
connection/commStrat/proxy speeds) , the debug level may be increased
from the GUI.
8e) In addition, the localProxy engine log windows may be used as a
logger by clicking the 'log all' button in the GUI. You would
normally want to turn off the internal tests first to decrease the
noise in this log.
11a) This will automatically save the current, learned (running)
parameters; they may be recalled next time you start localProxy2 by
selecting the 'last' configuration.
Correct view:
Ahh ... you must read the rest of the documentation and then the Perl
code itself for this much enlightenment :-)