Commandline tool and CommonJS module for quickly creating tcp tunnel on localhost to another machine. Ease the pain of working with inter-machine services.
CoffeeScript JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Travis CI badge


Creats quick-and-dirty ad-hoc local tcp connection tunnel / proxy to another port / machine.

$ npm install -g tcpmole

How to

EXAMPLE: Create local tunnels to run your redis-based tests on production servers:

$ tcpmole 6379

This will makes your local port 6379 actually connects to amazon! :)

Also good for monitoring stuff

Wanna see all the live traffic going through the tunnel? Just add --monitor!

$ tcpmole --monitor 6379

Also works for websites as well.

Much easier than writing obscure package capture language for sure!

$ tcpmole --monitor 80 3000

Now sends something to port 80 and you should see the HTTP packets being sent.

Uses as a module

Right now the mole exports a simple function that creates proxying server when invoked:

var mole = require('tcpmole')
  , opts =
    { src: { port: 80 }
    , dest: { host: '', port: 8080 }
  , tunnel = mole(opts);

tunnel.on('connection', function() {
  // a connection has been made to the mole




Just opens a new GitHub issue, pings me on Twitter @chakrit, or if you see me on the node.js irc channel (by the name chakrit), just ask me there :)