ProxySwitcher's proxy scanner:
Maximizing Scanning Speed



Disclaimer of responsibility - since this article involves changing of internal behaviour of the Windows operating system author cannot take any responsibility for the results these actions might cause. Proceed at your own risk.

Before you start reading this - I need to warn you that instructions here can potentially make your machine unbootable, and are intended for the advanced users only who understand what exactly they are doing in each step.

How Proxy Switcher operates

Now on to understanding what Proxy Switcher does to find working/anonymous/elite servers. First thing that gets done is fetching list of  web site addresses that contain public proxy lists. Then this list is used to download and parse actual proxy lists from all the listed web servers. Now comes in the actual scanning - Proxy Switcher has to go over all the proxy addresses that were retrieved and actually try to use them to determine are they any good.

This is where the scanning speed can become an issue since there are so many servers to check. Actually Proxy Switcher is built with real high speed scanning in mind. The reason why we usually have to scan only about 5-7 servers in parallel is thanks to the Microsoft. It has built in artificial connection throttling mechanism into all recent Windows operating systems (all Windows XP SP2 and newer). This limiter disables program from making connections if it tries to do it too fast.

Removing speed limit

Code that controls the connection speed is hidden inside driver named tcpip.sys. Only way to disable these limitations  are to patch this driver.

32 bit Windows

Older Windows versions than XP Service Pack 2 do not have this limiter built in, so skip to changing scanner options.
For Windows XP SP2 and Windows 2003 you can use LvlLord's patcher to change this limitation. Keep in mind - no warranties of any kind given. Since these are low level modifications to your system - if you are really unlucky you could potentially make your system unusable.
LvlLord's patching utility
Patching Windows Vista x86 (32 bit) is a bit trickier than Windows XP, but  there is a driver named CrackTcpip.sys which promises to patch the tcpip.sys externally. Keep in mind that this can make your system unbootable as well.

Windows Vista x64

Now this is hardest of all, since Microsoft has made it mandatory for all the drivers to be signed to be loaded. So this must be done in two steps - first need to to disable driver signature checking, then to actually patch the tcpip.sys driver.

Disabling signature checking

Currently (SP1) the only legitimate way to disable driver signature checking is to select "Disable driver signature checking" option each time Windows is booted. Clearly that is far from being convenient. This problem is solved by the SetupReadyDriverPlus utility - it automates selection of this option.

Patching tcpip.sys

Then we can proceed to patching tcpip.sys driver. This can be done by vistapatcher.co.cc which is a fairly universal Vista x64 patching utility or search for version specific patches.
ReadyDriver Plus

Changing Scanner Options

This is the actual dialog where you can set proxy scanner options. Worker count option is what controls how many servers in parallel are checked during the scanning. The obvious way to speed up scanning is to increase worker count to an amount your internet connection can handle without getting timeouts. Proxy Switcher's settings dialog
Proxy Switcher is fairly smart - it tries to guess how many connections Windows will actually allow and sets maximal limit of the worker count accordingly. If you are certain it has made an error you can press the Increase Max Worker Count button to override default behaviour. Keep in mind that if you are wrong setting too high worker count will break scanning altogether. Maximized scanner count