npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

dispatch-proxy

v0.1.4

Published

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

Downloads

835

Readme

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