awesome-peer-to-peer

P2P library

A curated collection of peer-to-peer networking resources and libraries for building decentralized applications

A list of peer-to-peer resources.

GitHub

2k stars
94 watching
195 forks
last commit: over 1 year ago
Linked from 4 awesome lists

awesomep2ppeer-to-peerresources

Peer-to-Peer / Modules

easyRTC
wrtc 2,732 7 months ago : native module for NodeJS
rtc 265 about 7 years ago : WebRTC suite
rtc-dcstream 16 about 5 years ago : streams2 layer for WebRTC data channels
rtc-signaller 38 almost 9 years ago : transport agnostic signalling for WebRTC
rtc-quickconnect 186 over 1 year ago : high-level wrapper for creating WebRTC apps
rtc-switch 4 over 8 years ago : core logic for
rtc-switchboard 57 about 5 years ago : server side in-memory signaller
rtc-signal 5 about 8 years ago : core logic for client side signaling
rtc-mesh 71 over 9 years ago : create a P2P mesh data structure using data channels
rtc-core 12 about 2 years ago : core definitions and functions for rtc
rtc-everywhere 652 over 6 years ago : cross-everything WebRTC mega-project
webtorrent 29,663 7 days ago : streaming torrent client for node and the browser
peer-wire-swarm 80 about 5 years ago : swarm implementation for bittorrent
bittorrent-swarm : bittorrent swarm implementation
bittorrent-dht 1,233 26 days ago : BitTorrent DHT implementation
parse-torrent 441 26 days ago : parse a torrent identifier
simple-peer 7,440 5 months ago : Simple WebRTC video/voice and data channels
torrent-discovery 217 5 days ago : Discover BitTorrent and WebTorrent peers
bittorrent-tracker 1,787 14 days ago : BitTorrent tracker for client and server
create-torrent 341 26 days ago : Create torrent files
parse-torrent-file 63 over 6 years ago : Parse a torrent file
bittorrent-protocol 347 7 days ago : BitTorrent peer wire protocol
torrent 633 about 1 year ago : download torrents with NodeJS from the CLI
magnet-uri 225 2 months ago : parse a magnet URI
webtorrent-chrome : BitTorrent client as a Chrome App
peer-wire-protocol 46 over 6 years ago : peer wire protocol used in torrents for NodeJS
socket.io-p2p 1,030 about 4 years ago : signalling server and client library
node-torrent 197 3 months ago : torrent reader, write, and hash checker
torrent-piece 23 26 days ago : torrent piece abstraction
torrent-stream 1,952 almost 4 years ago : streaming torrent engine used by peerflix
torrent-mount 1,406 over 9 years ago : Mount a torrent or magnet link as a filesystem
peerflix 6,191 over 2 years ago : streaming torrent client for NodeJS
friends-swarm 33 about 6 years ago : a WebRTC swarm
peerbot 25 about 6 years ago : message seeding utility for friends
webrtc-swarm 382 about 4 years ago : create a swarm of P2P connections using WebRTC and a signalhub
signalhub 668 9 months ago : simple signalling server
peervision 97 about 9 years ago : live P2P streaming protocol
airswarm 130 over 8 years ago : network swarm that discovers other peers on the network using multicast DNS
webcat 445 over 4 years ago : P2P pipe using WebRTC, Github keys for auth, and signalhub for discovery
torrent-blob-store 38 almost 9 years ago : read-only BitTorrent backed streaming blob store
hyperlog 470 almost 8 years ago : Merkle DAG that replicates based on scuttlebutt logs and causal linking
ble-swarm 62 over 9 years ago : swarm over bluetooth low energy
multicast-dns 513 5 months ago : multicast-dns in JS
screencat 3,016 almost 9 years ago : WebRTC screensharing
torrent-docker 315 about 9 years ago : realtime boot of remote docker images using bittorrent
airpaste 824 over 3 years ago : Network pipe that auto-discovers other peers using mdns
polo 247 over 9 years ago : zero configuration service discovery
read-torrent 73 about 6 years ago : read and parse a torrent from a resource
magnet-link 63 over 3 years ago : get a magnet link from a torrent file
peervisionary 42 about 9 years ago : CLI combining airswarm and peervision
serverless-webrtc 1,545 about 3 years ago : serverless WebRTC
peer 4,377 3 days ago : peerjs server
scuttlebutt 1,317 over 7 years ago : real-time replication
secure-scuttlebutt 1,172 4 months ago : secure database with replication
scuttlebucket 21 over 11 years ago : nested scuttlebutts
scuttleboat 8 about 7 years ago : dynamic scuttlebucket
rtc-SCAMP 7 over 9 years ago : scalable membership protocol
rtc-SCAMP-mbr 2 over 9 years ago : scalable membership protocol
network 6 almost 10 years ago : arbitrary network implementations between clients
BoundedBroadcastDefinition 1 over 9 years ago : broadcasting component on top of communication overlay
discover 69 about 9 years ago : distributed master-less node discovery
k-bucket 156 over 1 year ago : DHT k-bucket implementation
gossipmonger 51 about 11 years ago : real-time replication with scuttlebutt
kadoh 242 almost 11 years ago : kademlia over HTTP
kademlia-dht 67 over 2 years ago : DHT
kademlia 142 over 5 years ago : kademlia
dhtkv 63 almost 9 years ago : cli for bittorrent storing values in mainline torrent DHT
abstract-peer-routing 12 over 4 years ago : a test suite for implementing peer routing in libp2p
abstract-record-store 9 over 4 years ago : a test suite to implement in IPFS record store
libp2p-swarm 47 about 5 years ago : IPFS swarm implementation
libp2p-kad-routing 9 over 6 years ago : IPFS Kademlia routing
libp2p-kad-record-store 4 over 6 years ago : IPFS Kademlia record store
libp2p-distributed-record-store 7 over 6 years ago : IPFS distributed record store
libp2p-record 7 over 6 years ago : IPFS record object
libp2p-railing 30 about 1 year ago : railing of a Node through a bootstrap peer list
libp2p-random-walk : peer discovery via a DHT random walk
libp2p-mdns-discovery 51 over 1 year ago : peer discovery via mDNS
libp2p-utp 12 10 months ago : node uTP implementation
libp2p-spdy 10 over 3 years ago : multistream into Stream Multiplexing
libp2p-udt 3 10 months ago : node UDT implementation
libp2p-udp 7 10 months ago : node UDP implementation
libp2p-tcp 76 over 1 year ago : TCP implementation of abstract transport interface
peer-info 37 over 4 years ago : IPFS peer abstraction
peer-id 81 10 months ago : IPFS peer id
peer-book 16 almost 5 years ago : Peer Store for libp2p and IPFS
muxrpc 99 about 1 year ago : multiplexed rpc
secret-stack 90 11 months ago : connect peers using secret handshakes
ssb-feed 15 almost 6 years ago : secure scuttlebutt feed
mdns 870 9 months ago : discover services on your local network
append-only-torrent : create a sequence of torrent files for growing input
fully-connected-topology 58 almost 9 years ago : create a fully connected topology (mesh)
blockcast 55 about 9 years ago : protocol for storing data in bitcoin blockchains
hive.js 16 about 1 year ago : browser-to-browser distributed cache for video using WebRTC
ipscend 263 about 5 years ago : deploy and host web apps on IPFS
babel-routing-protocol : routing over p2p mesh
webdht 16 over 6 years ago
butter 4,291 about 4 years ago : free parts of popcorn time
merkle-patricia-tree 306 almost 4 years ago : as documented by Ethereum
rtc-data-stream 43 about 7 years ago : convert a WebRTC data channel into a stream
peermesh 118 almost 2 years ago : p2p file transfer using WebRTC
peertransfer 323 7 months ago : sends files p2p securely in the browser
merkle-stream 103 over 2 years ago : generate a merkle tree from streamed data
discovery-channel 299 almost 3 years ago : search for a key across multiple discovery networks
anonymous-networks 1,636 over 3 years ago : distributed, p2p chat app using IPFS
hyperdrive 1,868 14 days ago : A file sharing network based on rabin file chunking and append only feeds of data verified by merkle trees
webrtc-connect 17 almost 9 years ago : Establish WebRTC Data Channels between browser-node and node-node with a TCP/HTTP/WebSockets "createServer/attach" like interface
discovery-network 31 about 12 years ago : a p2p discovery network
rtc-stream 14 almost 7 years ago : Webrtc using regular node streams
viraljs 962 over 8 years ago : p2p distribution of apps
wrtc-ice-cand-parse 8 almost 9 years ago : WRTC Ice Candidate parse
deejay 126 almost 9 years ago : Music player that broadcasts to everyone on the same network
osm-p2p-db 237 over 6 years ago : p2p database for open street map data
dns-discovery 193 over 2 years ago : Discovery peers in a distributed system using regular dns and multicast dns
k-rpc-socket 23 almost 2 years ago : Low level implementation of the k-rpc network layer that the BitTorrent DHT uses
ucat 6 over 8 years ago : ucat(uTP cat) implementation in JavaScript to be used with Node.js
k-rpc 74 almost 2 years ago : Low-level implementation of the k-rpc protocol used the BitTorrent DHT
osm-p2p-server 86 over 3 years ago : serve open street map 0.6 api endpoints over a local p2p http server
secure-webrtc-swarm 2 almost 9 years ago : with whitelisting and encryption
node-ice 34 almost 9 years ago : Interactive Connectivity Establishment (ICE) (RFC 5245) for Node.js
node-rtc-peer-connection 154 over 8 years ago : RTCPeerConnection for Node.js
ipfs-merkle-dag 1 over 8 years ago : IPFS Merkle DAG JavaScript Implementation
ipfs-blocks 13 over 3 years ago : JavaScript Implementation of Block and BlockService
electron-webrtc 317 almost 7 years ago : Use WebRTC in Node.js via a hidden Electron process
peerweb.js 198 almost 7 years ago : A client side library for fetching and rendering a static website from a torrent
webcoin 412 almost 3 years ago : SPV Bitcoin client for Node.js and the browser
swarmlog : create a p2p webrtc swarm around a hyperlog
discovery-swarm 375 over 4 years ago : A network swarm that uses discovery-channel to find peers
discovery-server 58 about 7 years ago : A tcp/utp server that auto announces itself using discovery-channel
ipfs-hyperlog 57 almost 7 years ago : IPFS Merkle DAG that replicates based on scuttlebutt logs and causal linking
karma-peer 3 over 8 years ago : Test p2p apps in multiple browsers with karma
nuTorrent 233 about 9 years ago : A Pure Javascript BitTorrent Client
hyperlog-seed : seed content hashes embedded in a hyperlog
peer-tweet 879 over 8 years ago : Decentralized feeds using BitTorrent's DHT
torrent-worker 10 over 4 years ago : Streaming torrent client in a web worker for Node.js
hyperlog-webtorrent-seed : seed webtorrent magnet links from a hyperlog
swarmbot-webtorrent : webtorrent seeding plugin for swarmbot
peer-exchange 152 over 7 years ago : Decentralized peer discovery and signaling
kad : extensible implementation of the kademlia distributed hash table for node.js and the browser
kad-webrtc : WebRTC transport for kad Kademlia implementation
freeice 289 over 1 year ago : Get free, randomized STUN and TURN servers for your WebRTC application
web-to-dat 12 over 8 years ago : Clone a website and share with dat
webtorrent-cli 1,173 13 days ago : WebTorrent, the streaming torrent client. For the command line
ipfs-data-importing 22 over 4 years ago : JavaScript implementation of the layout and chunking mechanisms used by IPFS
chatwizard : p2p webrtc chatroom client
js-gossip-cyclon 45 over 8 years ago : Cyclon Gossip: (P2P membership management) in Javascript
CheckWebPeer 19 over 8 years ago : Check WebRTC peers of torrents
hyperdrive-archive-stream 25 almost 8 years ago : Join the p2p swarm for a given hyperdrive archive
hyperirc 70 almost 7 years ago : Read IRC through hypercore
spellcast : p2p live streaming in the browser
orbit 1,636 over 3 years ago : Distributed peer-to-peer chat application on IPFS
orbit-db 5 almost 2 years ago : Distributed peer-to-peer database on IPFS
peer-network 184 over 7 years ago : Create servers/clients that listen on names instead of ports and hostnames and are accessible over the internet
resilient-swarm 73 about 7 years ago : An efficient, secure, and reliable WebRTC swarm
hyperdht 95 about 6 years ago : dht based on kademlia, with a focus on extensibility + modularity
hypercore-dag 24 about 8 years ago : DAGs on top of hypercore, allowing verified random-access to graph nodes
hypercore-archiver 71 almost 6 years ago : A hypercore peer that will backup multiple hypercores/hyperdrives efficiently to disk
hyperarchiver 13 about 7 years ago : Host, backup, and share hyperdrive archives
hyperpipe 119 over 7 years ago : Distributed input/output pipe
hypername 36 about 8 years ago : Distributed name server
hyperreduce 17 about 8 years ago : Distributed reduce on top of hypercore
hyperfilter 33 about 8 years ago : Distributed map and filter
normcore 28 almost 8 years ago : No-config distributed streams using hypercore
hyperfeed 69 over 7 years ago : p2p rss publishing
hyperdiscovery 135 almost 3 years ago : Join the swarm for a given hypercore or hyperdrive feed
dht-rpc 196 about 2 months ago : Make RPC calls over a Kademlia based DHT
hyperdrive-multiwriter : present a bundle of hyperdrive archives together as a multi-writer view
hyperhealth 39 over 5 years ago : Monitor the health of a hyperdrive or dat, including peer count and peer mirror percentages
assassin 78 about 4 years ago : Store key-value pairs in a decentralized NoSQL database built with
hyperlapse 23 almost 8 years ago : Distributed process manager
voter 15 about 11 years ago : Distributed voting based on Scuttlebutt
hyper-string 39 almost 7 years ago : p2p conflict-free string primitive
hyperhost 48 about 6 years ago : P2P Node Servers in the Browser
hypertweet 71 over 7 years ago : concept tweet -> hypercore thingy
nile.js 1,768 about 6 years ago : Scalable peer to peer live video streaming built on torrents and webRTC
chatmesh : p2p chat using hyperdb
SIP.js 1,898 5 months ago : A simple, intuitive, and powerful JavaScript signaling library
noise-network 97 over 5 years ago : Authenticated P2P network backed by HyperSwarm and NOISE

Peer-to-Peer / Libraries

libwebrtc 57 about 9 years ago : companion to
p2p 316 almost 9 years ago : browser JS library
SimpleWebRTC 4,656 over 2 years ago : browser JS library
signalmaster 1,305 about 4 years ago : signaling server for
rfc5766-turn-server 521 about 9 years ago
coturn 11,418 6 days ago : next evolution of the rfc5766-turn-server project
peerjs 12,476 7 days ago : simple peer-to-peer with WebRTC
go-peerstream 56 about 7 years ago : P2P multi-multiplexing in Go
ipfs 22,726 10 months ago : distributed file system
ipfs specs 1,165 16 days ago : specs for IPFS
ipget 394 5 days ago : wget for IPFS
btfs 3,889 3 months ago : bittorrent filesystem based on FUSE (C++)
swarmbot : mirroring for a p2p mesh of swarmlogs
p2p-graph 286 over 3 years ago : Real-time P2P network visualization with D3
planktos 539 over 4 years ago : Serving websites over bittorrent
dat 8,247 over 1 year ago : Sync data across the distributed web
Netflux 213 almost 3 years ago : full mesh network of clients and/or servers
libdatachannel 1,802 4 days ago : WebRTC DataChannels standalone implementation (C++)

Peer-to-Peer / Apps

whiteboard 156 about 5 years ago
friends 3,167 about 6 years ago : P2P chat
openbazaar : decentralized marketplace:
ipfsbin 133 over 8 years ago : Run IPFS snippets
patchwork 3,585 over 3 years ago : p2p secure messaging
webtorrent-app 9,732 9 days ago : WebTorrent, the streaming torrent client. For OS X, Windows, and Linux
snapdrop 18,373 3 months ago : A HTML5 clone of Apple's AirDrop
peerweb 118 over 4 years ago : PeerWeb browser
beaker 6,752 almost 2 years ago : Decentralization tech in a browser built with electron
PeerFast 103 over 3 years ago :
ferment : Peer-to-peer audio sharing and streaming application. Like SoundCloud but decentralized. A mashup of ssb, webtorrent and electron
roll-call 1,568 about 7 years ago : Free and reliable audio calls for everyone w/ browser p2p
cache-p2p 865 almost 3 years ago : CacheP2P is a highly distributed cache platform based on WebTorrent and runs only in the browser
dropub 219 almost 2 years ago : P2P publishing for everyone. Dropbox meets BitTorrent
norcal : P2P calendaring
hyperpad 200 almost 7 years ago : P2P collaborative text editor

Peer-to-Peer / Experiments

torrent-log : message feed over bittorrent
GitTorrent 4,747 over 4 years ago : A decentralization of Github using BitTorrent and Bitcoin
webrtc-ips 3,439 11 months ago : Stun IP address requests for WebRTC
web2web 2,254 about 1 year ago : P2P web powered by torrents and blockchain

Peer-to-Peer / Workshops

chat-room-server-and-p2p : workshop example creating a websocket chat room replaced with p2p version using webrtc
p2p-file-sharing-workshop 88 over 7 years ago : Learn about distributed file sharing through a series of fun and exciting exercises

Peer-to-Peer / Companies

Greta
peer5
hive streaming
Streamroot

Peer-to-Peer / Resources

bittorrent spec : BitTorrent specification
magnet URI scheme
WebRTC infrastructure
Getting Started
rtc.io
webtorrent.io : webtorrents for NodeJS and the browser
chord
webrtc-ring : resource discovery
P2P design : Dominic Tarr on P2P design issues
webgc : gossiping
topology 57 over 11 years ago : different network topologies
gossip
membership management
ipfs 147 almost 2 years ago
dynamic search
p2pweb 22 over 10 years ago : Create a web where web pages are published/shared in a P2P fashion
bitweb 30 almost 9 years ago : websites sharing using bittorrent
p2p handbook 129 over 4 years ago : introductory handbook on p2p tech & javascript

Peer-to-Peer / Other

fill-disk
brickhouse 6 almost 6 years ago : security focused desktop applications
bigchaindb 4,034 5 months ago : A scalable blockchain database

Peer-to-Peer / People

mafintosh
feross
substack
dominictarr
maxogden
jbenet
diasdavid
pfraze
perguth
nickdesaulniers
noffle

Backlinks from these awesome lists:

More related projects: