Skip to content
💫 Exchange files p2p and e2e encrypted over a fully meshed network in your browser using WebRTC.
JavaScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Start a fully meshed network by passing on the generated link and share files peer-to-peer and end-to-end encrypted powered by WebRTC!

  • Works fully in the browser using WebRTC.
  • Mesh swarms can be started by opening the site. A "mesh URL" is generated to be passed around.
  • The mesh URL contains a password. All files mesh will be sent end-to-end encrypted.
  • Swarms can be joined by opening the mesh URL.
  • Swarm form fully meshed networks (n:n) using webrtc-swarm.
  • WebRTC signaling data is exchanged via signalhub.
  • Swarm URLs can be bookmarked and reused. trust on first use: encryption keys
  • You see when the source code changes because of hyperboot. trust on first use: source code

Files will *not* be propagated among peers. The peers that initates a transfer will send the file to every connected peer individually.

Combining trust on first use both for encryption keys *and* source code will help you defeat Sauron!



git clone
cd peermesh
npm install

# You need a signaling server running:
npm install -g signalhub
signalhub listen -p 7000

# Now serve peermesh:
npm run build # and then open `public/index.html` in your browser or
npm start # to start the development server on `http://localhost:9966`


  • peertransfer Peertransfer is a (1:n) WebRTC based file transfer tool. Compared to peermesh it encodes a authentication code into the "sharing URL" that is passed around and will not initiate WebRTC signaling if the code is missing or wrong.


You can’t perform that action at this time.