catalyst-proxy

A proxy that accelerates requests via multipart downloading

npm install catalyst-proxy
14 downloads in the last month

catalyst-proxy

A proxy that silently accelerates requests via multipart downloading. Officially the best thing ever.

catalyst-proxy establishes multiples connections to download a single resource from a web server, potentially increasing the download speed.

Only supports "streaming" acceleration for now: resources are cut into parts of equal length (--partSize CLI option) that are downloaded concurrently (--threads CLI option) and served sequentially. This behavior differs from most download managers and allows to consume the resource while downloading it.

Use-cases

  • Speed up video streaming websites, such as YouTube.
  • Speed up software and game downloaders/installers.
  • Speed up everything.

Installation

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

$ npm install -g catalyst-proxy

To update:

$ npm update -g catalyst-proxy

Usage

$ catalyst start to boot up the proxy. Simply add the printed address and port as an HTTP proxy in your system settings and you're set.

$ catalyst start -h to list all available options.

Configuration

--partSize, --threads and --contentLength are the three CLI options you should be tweaking.

  • partSize specifies the size of each thread part. For example, if set to 1048576, it will cut the resource into parts of 1 megabyte = 1048576 bytes each. For video streaming, you should try to set this as low as is reasonable.
  • threads specifies the maximum amount of concurrent threads. For example, if set to 12, it will launch as many as 12 concurrent threads, each downloading a resource part of size partSize. Note that download speed will be balanced between threads.
  • contentLength specifies the minimum size of a resource for catalyst to try to download it using threaded downloading.
npm loves you