Wednesday, May 28, 2014

How to Combine Multiple Internet Connections to Increase Download Speed

Most people have access to more than one internet connection. There may be a cable Ethernet connection at home, a community Wi-Fi, and multiple 3G/4G connections via as many cell phones. Despite having so many different connection possibilities, you can only connect through one at a time on your computer.

Dispatch-proxy is a free and open source tool that essentially combines multiple internet connections into one single pipe. You can combine as many Wi-Fi networks, wired Ethernet connection, 3G or 4G connections you have access to, to one big load balanced connection.


Dispatch-proxy functions by creating a local proxy on your machine that will dispatch every incoming and outgoing connection to a different network interface, allowing you to make the most of every available connection. The load balancing happens automatically but you can also prioritize the available networks in order of speed or reliability so that the faster (or more reliable) connection handles majority of the data packets.

A threaded download manager will be able to get the most out from this setup. BitTorrent download speed will also significantly increase.

How to install Dispatch-proxy

Dispatch-proxy requires the Node.js runtime, so first download and install Node.js on your computer

To install dispatch-proxy, open the Command Prompt as administrator. On Windows, type "cmd" in the search menu/start screen, right-click on the Command Prompt icon and then click on "Run as administrator".

In the command prompt, run “npm install -g dispatch-proxy”. This will automatically download dispatch-proxy from an internet repository and install the same.


You can check if dispatch-proxy is correctly installed by running the command “dispatch -V”. (Note the capital V). This should print the current installed version of dispatch-proxy (not necessarily 0.1.2 as shown in the screenshot).


How to run Dispatch-proxy

Dispatch-proxy supports two types of proxies: SOCKS5 proxy and HTTP proxy.

  • HTTP proxy interprets traffic only at the HTTP level and should be used only for web surfing and downloading through HTTP servers.
  • SOCKS5 proxy establishes connection at the TCP level and provides authentication support, and supports any kind of protocol over any port. If you use applications such as Skype and BitTorrent, you should be using a SOCKS5 proxy.

To start a HTTP proxy, run the command “dispatch start --http”.

To start a SOCKS5 proxy, run the command “dispatch start”.


The program will start a proxy at localhost:1080, and then list all IP addresses the program will be dispatching requests to.

Assigning Priorities to Network Connections

You’ll notice that the IP addresses are preceded by the characters “@1”. This indicates that each IP address associated to each internet connection has been assigned a priority of 1, or equal priority.

You can also specify exactly which internet connection you wish to dispatch to, and also assign a priority to each interface.

Right now, the dispatch utility only supports IPv4 addresses. If your network interface uses public IPv6 addresses, you must use the associated local IPv4 address of the interface. To find out the IP addresses of each network interface, run the command “dispatch list”. This will lists all available network interfaces and their respective local addresses.


Here you can see all network interfaces and their IPv4 addresses. Note down the IPv4 addresses of all your physical network interfaces, in my case, the “MBlaze USB Modem” and “Wireless Network Connection”.

You can also find out the IP addresses of each network interface from the Network and Sharing Center. Here you will see all your active connections. Click on a connection to see its status, and then click on the “Details” button. Do this for each of your active connections and note down all IP addresses.



To assign priorities to each IP addresses, type the IP address followed by @priority_number after the “dispatch start” or the “dispatch start –http” command. Such as,


In this example, incoming connections will be dispatched to, 7 times out of 10, and to, 3 times out of 10.

How to use Dispatch-proxy

Using dispatch-proxy is like using any other proxy. Open the internet application’s proxy configuration settings and enter the proxy address “localhost” and the port number as printed by the dispatch command.

If you started an HTTP proxy, enter the address printed by “dispatch start –http” in the HTTP field. If you started a SOCKS5 proxy, do the same but in the SOCKS field.


The program will now start using the dispatch proxy which will dispatch traffic through all your active connections at the same time.


  1. Hey that's really cool! I always enjoy articles like this

  2. That's really helped me to improve my internet speed.I followed your tips and confirmed it through a speed test in

  3. Have you tried iNetFusion ,
    Yeaa i did get a speed boost for my 4g and DSL while doing a movie over utorrent
    Worth a catch :)

  4. i have some issues/queries on connecting my 2 network cards to 2 isps using Node.js.
    1) I installed node.js, moved node .exe to c:node. I ran npm install -g dispatch-proxy and got npm installed. I was able to assign priorities and got it working.
    2) when i shutdown and resatarted the mchine and setting are gone.How do i put this in start up.
    3) the next time I tried dispatch related commands it failed and gave errors relating to path and method handles not found. I have installed Node.js in c Program files. is it correct.
    My machine runs windows XP sp3 and I use ver node-v0.10.22-x86 (v12 doesnot work).
    Any suggestions

  5. i was looking for something like this a few years back... never thought there was a solution until i saw this! thanks :D


Popular Posts