• This repository has been archived on 02/May/2022
  • Stars
    star
    3,467
  • Rank 12,713 (Top 0.3 %)
  • Language
    CoffeeScript
  • License
    MIT License
  • Created almost 11 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Combine internet connections, increase your download speed

This project is archived and will not receive any further updates. A modern rewrite of this tool is available here.

dispatch-proxy

A SOCKS5/HTTP proxy that balances traffic between multiple internet connections.

Works on Mac OS X, Windows and Linux.

Detailed installation instructions:

Installation

You'll need to have Node.JS >= 0.10.0 installed on your system.

$ npm install -g dispatch-proxy

To update:

$ npm update -g dispatch-proxy

Rationale

You often find yourself with multiple unused internet connections, be it a 3G/4G mobile subscription or a free wifi hotspot, that your system won't let you use together with your main one.

For example, my residence provides me with a cabled and wireless internet access. Both are capped at 1,200kB/s download/upload speed, but they can simultaneously run at full speed. My mobile internet access also provides me with 400kB/s download/upload speed.

Combine all of these with dispatch and a threaded download manager and you get a 2,800kB/s download and upload speed limit, which is considerably better :)

Use-cases

The possibilities are endless:

  • combine as many Wi-Fi networks/Ethernet/3G/4G connections as you have access to in one big, load balanced connection,
  • use it in conjunction with a threaded download manager, effectively combining multiple connections' speed in single file downloads,
  • create two proxies, assign to each its own interface, and run two apps simultaneously that use a different interface (e.g. for balancing download/upload),
  • create a hotspot proxy at home that connects through Ethernet and your 4G card for all your mobile devices,
  • etc.

Quick start

The module provides a simple command-line utility called dispatch.

$ dispatch start

Start a SOCKS proxy server on localhost:1080. Simply add this address as a SOCKS proxy in your system settings and your traffic will be automatically balanced between all available internet connections.

Usage

$ dispatch -h

  Usage: dispatch [options] [command]

  Commands:

    list                   list all available network interfaces
    start [options]        start a proxy server

  Options:

    -h, --help     output usage information
    -V, --version  output the version number
$ dispatch start -h

  Usage: start [options] [addresses]

  Options:

    -h, --help      output usage information
    -H, --host <h>  which host to accept connections from (defaults to localhost)
    -p, --port <p>  which port to listen to for connections (defaults to 8080 for HTTP proxy, 1080 for SOCKS proxy)
    --http          start an http proxy server
    --debug         log debug info in the console

Examples

$ dispatch start --http

Start an HTTP proxy server listening on localhost:8080, dispatching connections to every non-internal IPv4 local addresses.

$ dispatch start 10.0.0.0 10.0.0.1

Dispatch connections only to local addresses 10.0.0.0 and 10.0.0.1.

$ dispatch start 10.0.0.0@7 10.0.0.1@3

Dispatch connections to 10.0.0.0 7 times out of 10 and to '10.0.0.1' 3 times out of 10.

More Repositories

1

facebook-sixth-sense

A Chrome extension that lets you know when your friends start writing to you on Facebook
475
star
2

dispatch

Combine internet connections, increase your download speed
Rust
146
star
3

react-list-view

Infinite list view component
JavaScript
61
star
4

rn-pokevision

React Native app leveraging the GoRadar API in order to display all the Pokรฉmon around you
JavaScript
42
star
5

webpack-externals-plugin

Provides more powerful externals configuration options to webpack.
JavaScript
24
star
6

socksv5

SOCKS v4a and v5 basic building blocks to build your own async SOCKS application
Rust
17
star
7

react-side-context

Experiment with subscription-based context for React
JavaScript
14
star
8

react-europe-hackathon-boilerplate

Boilerplate for the second challenge of the React Europe Hackathon
Objective-C
14
star
9

curve-intersection

Bezier curve intersection algorithm and utilities.
JavaScript
13
star
10

catalyst-proxy

A proxy that accelerates requests via multipart downloading
CoffeeScript
7
star
11

socks-handler

A SOCKS4a/SOCKS5 server implementation
CoffeeScript
6
star
12

esp-front

2D visualization environment for a physics simulation
JavaScript
4
star
13

webpack-vendor-chunk-plugin

Removes the runtime code from a webpack chunk.
JavaScript
4
star
14

node-dxt

Bindings for the squish DXT compression/decompression library
C++
4
star
15

webpack-dedupe

JavaScript
4
star
16

amf-struct

AMF0/AMF3 serializer and deserializer for NodeJS
CoffeeScript
3
star
17

image-website

TypeScript
3
star
18

multisource-stream

CoffeeScript
3
star
19

introspect-extension

A Chrome extension that provides insights as to how your messages on social media might be perceived.
JavaScript
2
star
20

boids

Boids simulation in Rust, running in the browser with WebAssembly
Rust
2
star
21

binary-struct

Pack/unpack binary structures
CoffeeScript
1
star
22

webpack-simple-server

Simple webpack server for serving a directory of entries
JavaScript
1
star
23

dvirt

An experiment in trying to make the smallest possible Docker image
Rust
1
star
24

BetterWorkout

Better workout data field for Garmin watches
Monkey C
1
star