Simple, robust, BitTorrent swarm implementation

npm install bittorrent-swarm
9 downloads in the last day
47 downloads in the last week
190 downloads in the last month

bittorrent-swarm travis npm downloads gittip

Simple, robust, BitTorrent "swarm" implementation

This is a node.js abstraction of a BitTorrent "swarm", which is handy for managing all peer connections for a given torrent download. This handles connecting to peers, listening for incoming connections, and doing the initial peer wire protocol handshake with peers. It also tracks total data uploaded/downloaded to/from the swarm.

Also works in the browser with browserify and chrome-net! This module is used by WebTorrent.


npm install bittorrent-swarm


var Swarm = require('bittorrent-swarm')

var swarm = new Swarm(myInfoHash, myPeerId)

swarm.on('wire', function(wire) {
    // a relevant wire has appeared, see `bittorrent-protocol` for more info

    wire.on('unchoke', function() {
        // we are now unchoked

    swarm.wires // <- list of all connected wires

swarm.add('') // add a peer
swarm.remove('') // remove a peer



This was originally forked from peer-wire-swarm which is also MIT licensed.

npm loves you