node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »



Distributed peer-to-peer load balancing using the P2P WebRTC API.


  • Automatic scaling – the more people visit a page, the more seeders a given file has, and the less the server has to work.


  • Doesn't send raw binary image data.
  • Doesn't respect Cache-Control headers, will quickly result in loosing control of files.
  • No security, anyone could seed invalid data to other peers.
  • Since you can't set the DataChannel to reliable, files are limited in size.
  • Due to the Same Origin Policy, images has to be hosted on the same origin as the signaling server.


npm install peerbalanced; npm install -d

Since it just barely works at the moment, I recommend against using it for anything serious.


redis-server; node index.js; open http://localhost:8080/examples/example.html http://localhost:8080/examples/example.html

More info

Information about the protocol used can be found in the wiki.