GithubHelp home page GithubHelp logo

nvdnkpr / dispatch-proxy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alexkirsz/dispatch-proxy

0.0 3.0 0.0 260 KB

Combine multiple internet connections, increase your overall download speed

dispatch-proxy's Introduction

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

dispatch-proxy's People

Contributors

alexkirsz avatar

Watchers

Navid Nikpour avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.