|
|
Redirect any incoming TCP/IP traffic to any other TCP/IP port - transparently!
Duplicate existing services on multiple ports - allow standard services to answer on ports not blocked by firewalls!
Create automatic failover and load-balancing among multiple servers without expensive hardware!
Includes intelligent traffic filters that allow custom response/actions for various services, such as proxy capabilities!
Runs as a secure background system service on Windows NT4/2K/XP/2003/Vista/2008 machines!
|
Greyware Detour Service allows you to transparently reroute any TCP connection from
one IP/Port on your Windows NT4/2K/XP/2003/Vista/2008 system to any other IP/Port. Detour lets you solve
some of the thorniest network problems with ease:
Need to re-route web traffic to another server without waiting for DNS changes to
propogate? Use Detour to transparently forward all traffic to the new machine. Another
application is hogging your port? Just forward everything to an unused port!
Detour's powerful and high-speed engine also provides simple load balancing and
fallback support for any number of TCP/IP services on your systems. Set up high-availability,
redundant fallback servers without the expensive hardware!

Screen shot showing the Detour Control Panel applet
|
Some of the amazing things you can do with Detour:
- Add additional port(s) for a service. For example, if your SMTP server is
already answering on port 25, you could have it answer on port 2525 too.
- Redirect connections to another machine using the same port.
For example, the Detour Service could redirect all incoming connections on
port 80 to another machine's Web server.
- Redirect connections to another machine using a different port.
For example, the Detour Service could redirect all incoming connections on
port 25 to your ISP's SMTP server on port 2525.
- Provide fallback support. You can specify additional servers to be used
in case the primary server is not responding. For example, incoming web
connections can be redirected to server1. If server1 is down, connections
automatically go to server2. If server2 is also down, connections
automatically go to server3, and so forth. When the server(s) come back
up, they are automatically reenabled.
- Provide simple load-balancing. You can use the additional servers for
load-balancing instead of fallback. In this case, the Detour Service will
allocate connections on a round-robin basis to spread out the load. If
any servers fail to respond, they are temporarily dropped from the rotation
as if you were using them for fallback.
- Use the built-in filters for added functionality. The Detour Service ships
with a number of filters, each of which enhances service for a particular
kind of protocol. For example, one of the NNTP filters forces NT authentication
from the client before allowing a connection to the NNTP server.
- Create your own filters for special applications. The Detour Development
Kit gives you the libraries, include files, and documentation so you can
write, compile, and link your own filter DLLs. (The Detour Development Kit
is sold separately.)
- Create your own stand-alone applications using the Detour Engine. The heart
of the Detour Service is the Detour Engine, a DLL that handles all of the
complex connection details. By linking your application with the Detour
Engine, you can create a detour with as little as one API call. Libraries,
include files, and documentation for the Detour Engine are included with
the Detour Development Kit (sold separately).
Requirements
Version History
- 2.2.b.20050823 - maintenance release. Internal changes only.
- 2.2.b.20040308 - maintenance release. Added workaround for occasional XP shutdown problem.
- 2.2.b.20030506 - maintenance release. Increased internal buffers to handle more
simultaneous connections (limit is now 512), and fixed bug in control panel applet security
settings that caused deny access to fail if a range of only one IP address was specified.
- 2.2.b.20030103 - maintenance release. Fixed bug in control panel applet that prevented
entering port numbers greater than 60000.
- 2.2.b.20020401 - recommended upgrade. Fix introduced in 20020216 version could cause
different protection fault in certain filters.
- 2.2.b.20020216 - bug fix. Corrected problem with connections from the same machine where
detour is running triggering the Denial of Service filter and causing a protection fault. No
other changes; upgrade optional. If you have experienced any protection faults, you should
upgrade.
- 2.2.b.20010224 - major upgrade. Includes setup program, new control
panel applet, new system tray icon, rewritten detour engine, and rewritten
filters. More efficient than ever, still tiny (only 946K including all
setup files, readmes, and control panel applet).
- 1.1.b.19990602 - first public release.
- 1.0.b.19990401 - internal use release. Basic functionality established.
Setup and Configuration
Installation
Detour Service requires Windows NT4/2K/XP/2003/Vista/2008, and runs as a system service.
You must be logged on using an account with administrative privileges to install or remove the service.
After you download the zip file, unzip the contents to a temporary directory on your
machine (or a shared network directory), then double-click setup.exe and click
the Install button.
If Detour Service is already installed, the Install button will not
be present. Instead, setup will present an Upgrade button.
If older versions of any of the distribution files
already exist on your machine, the program will upgrade them automatically when you
select Upgrade.
In some cases, it may be necessary for you to reboot your machine to complete
installation or an upgrade. If so, you will be prompted to restart.
Detour Service installs to the system directory (usually c:\windows\system32 or c:\winnt\system32).
Removal
Run setup.exe again, and click the Remove button on the setup dialog.
You may also run detour.exe /remove from the system directory. The Remove
button will only be enabled if setup determines that the service is already installed.
Upgrading
To upgrade to a new version, download and unzip the new version to a temporary
directory. Double-click the new setup.exe and click the Upgrade button.
The Upgrade button will only be visible if setup determines that an older version
of the service is already installed. Otherwise, only the Install and Remove
buttons will be shown.
Command-line Options
Although not generally needed, you may specify the following command-line options when
running setup.exe or detour.exe. You may use a dash or a forward slash before the option. Slashes
are shown below for clarity. Options may also be specified by just the first letter.
- detour.exe /version or setup.exe /version -- displays the program's version and copyright information.
- setup.exe /install -- forces installation.
- detour.exe /remove or setup.exe /remove-- forces removal.
- detour.exe /foreground -- (only if supported) runs the program in the foreground.
- setup.exe /upgrade -- upgrade to newer version without removing and reinstalling.
To assist with automated installations, the program also supports the /quiet command-line switch.
You may use the /quiet switch in conjunction with /remove, /install, or /upgrade.
When the /quiet switch is specified, the program only displays dialog boxes if errors are encountered;
otherwise, the program performs the requested function and exits immediately. This feature makes it easy to
handle installations or upgrades network-wide with a simple batch file.
Administrative Options and Remote Installation
- Remote Install or Removal
The setup program, setup.exe allows you to specify parameters on the command line for remote installation
or removal:
setup [ -install | -remove | -upgrade ] [ -quiet ] [\\targetmachine]
Examples
- setup -upgrade \\fred would install the service (upgrading if necessary) onto the machine named \\fred
- setup -remove \\barney would remove the service from the machine \\barney
- setup -install -quiet would install the service onto the local machine without any prompts
- setup -remove -quiet would remove the service from the local machine without any prompts
Note: For remote installation or removal to work (i.e., specifing a target machine name as in the above two examples
using \\fred and \\barney), both the machine you are working on and the target machine must be Windows NT4/2K/XP/2003/Vista/2008, and you
must be logged on under an account that has administrative privileges on the target machine.
Notes
The Detour Service is controlled by its Control Panel applet. The applet lets you define,
name, rename, remove, or change detours. The applet also lets you view statistics in
real-time. If you make changes to a running detour, you have the choice of having the
changes take effect immediately or waiting until the next time you restart the service.

Screen shot showing the Control Panel applet setting
up a detour for a SAP R/3 system
The Control Panel applet lets you connect to, control, and view statistics on any
machine where the Detour Service is installed. (You must have administrative privileges
on the target machine.)
Note: Although the Detour Service itself requires NT, you may use the
Control Panel applet on a Win95/Win98 machine, provided that your Win95/Win98 machine
meets these requirements:
- The remote registry service is installed on the Win95/Win98 machine
- You have user-level security enabled on the Win95/Win95 machine
- You have logged in using a domain username/password with administrative privileges
on the machine(s) you want to control
- You have copied DETOUR.CPL to your C:\WINDOWS\SYSTEM directory
This setup allows you to control the Detour Service on an NT machine from your Win95/Win98
machine.
Tuning
Detour is self-tuning, and should not need adjustment. However, if you
have special requirements, there are several settings in the registry you may set
to affect how Detour works.
Detour Engine Settings
If you want to set any of these values, you must first create the registry
keys. The Detour Engine uses the default values if the registry keys are not
present.
HKEY_LOCAL_MACHINE
Software
Greyware
Detour Engine
Parameters
| Value Name |
Value Type |
Default Value |
Description |
| ErrorsUntilRehab |
REG_DWORD |
3 |
Number of errors a server may give until taken out of rotation for rehabilitation |
| RehabTime |
REG_DWORD |
120000 (2 minutes) |
Number of milliseconds a server must be in rehab before allowed to participate again |
| InactivityTimeout |
REG_DWORD |
300000 (5 minutes) |
Number of milliseconds a connection may remain inactive (no traffic either direction) before it is automatically closed. |
| RecvBufferSize |
REG_DWORD |
0 |
Number of bytes to allocate internally for double-buffering on receives. If this number is zero (the default), double-buffering is disabled. Receive throughput generally is best without double-buffering. |
| SendBufferSize |
REG_DWORD |
32768 |
Number of bytes to allocate internally for double-buffering on sends. Adjust this number only if you have a special application that uses extrememly large block sizes. |
|