node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


chrome-portfinder npm downloads gittip

Find an open port on the current machine (for Chrome Apps)

This module lets you find an open port, ala portfinder, but for Chrome Packaged Apps.

Instead of learning the quirks of Chrome's chrome.socket API for networking in Chrome Apps just use the higher-level portfinder API you're familiar with. Then, compile your code with browserify and you're all set!

This module is used by webtorrent.


npm install chrome-portfinder


The chrome-portfinder module has a simple interface:

  var portfinder = require('chrome-portfinder')
  portfinder.getPort(function (err, port) {
    // `port` is guarenteed to be a free port
    // in this scope.

By default portfinder will start searching from 8000. To change this simply set portfinder.basePort.


To run tests, use npm test. The tests will run TCP servers and launch a few different Chrome Packaged Apps with browserified client code. The tests currently assume you have Chrome Canary on Mac. If you're on Windows or Linux, feel free to send a pull request to fix this limitation.


MIT. Copyright (c) Feross Aboukhadijeh. Originally forked from portfinder which is also MIT.