port-mux

Multiplex multiple services through one (TCP) port.

Usage no npm install needed!

<script type="module">
  import portMux from 'https://cdn.skypack.dev/port-mux';
</script>

README

node-port-mux

Multiplex multiple services through one (TCP) port.

How?

The muxer basically sniffs the initial data packet sent by the client to determine (using a rule set) where to forward the request to.

Install

npm install port-mux

Example

var Muxer = require('node-mux');

// instantiate Muxer
new Muxer()
  // match HTTP GET requests and forward them to localhost:80
  .add("GET ", 80)                                            // string
  // match TLS (HTTPS) requests (versions 3.{0,1,2,3})
  .add(/^\x16\x03(?:\x00|\x01|\x02|\x03)/, '192.168.1.1:443') // regex
  // you can also pass a matcher function:
  .add(function(chunk) {
    // - chunk is a Buffer
    // - if the function returns true, the match is considered a success.
  }, 1234)
  // start listening on port 3000
  .listen(3000);

LICENSE

Simplified BSD License ( BSD-2-Clause ).