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.

combine-connections

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.

installation

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).

check

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”.

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.

list

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.

networks

ip-address

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,

dispatch-start-priority

In this example, incoming connections will be dispatched to 17.254.238.77, 7 times out of 10, and to 192.168.0.100, 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.

proxy-setting

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

2 comments:

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

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

    ReplyDelete