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 3 years ago
Linked from 4 awesome lists

awesomep2ppeer-to-peerresources

Peer-to-Peer / Modules

easyRTC
wrtc2,738over 2 years ago: native module for NodeJS
rtc266about 9 years ago: WebRTC suite
rtc-dcstream16almost 7 years ago: streams2 layer for WebRTC data channels
rtc-signaller38over 10 years ago: transport agnostic signalling for WebRTC
rtc-quickconnect186over 3 years ago: high-level wrapper for creating WebRTC apps
rtc-switch4over 10 years ago: core logic for
rtc-switchboard57almost 7 years ago: server side in-memory signaller
rtc-signal5about 10 years ago: core logic for client side signaling
rtc-mesh71over 11 years ago: create a P2P mesh data structure using data channels
rtc-core12about 4 years ago: core definitions and functions for rtc
rtc-everywhere651over 8 years ago: cross-everything WebRTC mega-project
webtorrent29,740almost 2 years ago: streaming torrent client for node and the browser
peer-wire-swarm79about 7 years ago: swarm implementation for bittorrent
bittorrent-swarm: bittorrent swarm implementation
bittorrent-dht1,233almost 2 years ago: BitTorrent DHT implementation
parse-torrent443almost 2 years ago: parse a torrent identifier
simple-peer7,477over 2 years ago: Simple WebRTC video/voice and data channels
torrent-discovery216almost 2 years ago: Discover BitTorrent and WebTorrent peers
bittorrent-tracker1,794almost 2 years ago: BitTorrent tracker for client and server
create-torrent341almost 2 years ago: Create torrent files
parse-torrent-file63over 8 years ago: Parse a torrent file
bittorrent-protocol351almost 2 years ago: BitTorrent peer wire protocol
torrent632almost 3 years ago: download torrents with NodeJS from the CLI
magnet-uri224about 2 years ago: parse a magnet URI
webtorrent-chrome: BitTorrent client as a Chrome App
peer-wire-protocol46over 8 years ago: peer wire protocol used in torrents for NodeJS
socket.io-p2p1,032almost 6 years ago: signalling server and client library
node-torrent197about 2 years ago: torrent reader, write, and hash checker
torrent-piece23almost 2 years ago: torrent piece abstraction
torrent-stream1,953almost 6 years ago: streaming torrent engine used by peerflix
torrent-mount1,406over 11 years ago: Mount a torrent or magnet link as a filesystem
peerflix6,195over 4 years ago: streaming torrent client for NodeJS
friends-swarm33about 8 years ago: a WebRTC swarm
peerbot25about 8 years ago: message seeding utility for friends
webrtc-swarm383almost 6 years ago: create a swarm of P2P connections using WebRTC and a signalhub
signalhub668over 2 years ago: simple signalling server
peervision97about 11 years ago: live P2P streaming protocol
airswarm131over 10 years ago: network swarm that discovers other peers on the network using multicast DNS
webcat446about 6 years ago: P2P pipe using WebRTC, Github keys for auth, and signalhub for discovery
torrent-blob-store38almost 11 years ago: read-only BitTorrent backed streaming blob store
hyperlog470over 9 years ago: Merkle DAG that replicates based on scuttlebutt logs and causal linking
ble-swarm62about 11 years ago: swarm over bluetooth low energy
multicast-dns513over 2 years ago: multicast-dns in JS
screencat3,017over 10 years ago: WebRTC screensharing
torrent-docker315almost 11 years ago: realtime boot of remote docker images using bittorrent
airpaste823about 5 years ago: Network pipe that auto-discovers other peers using mdns
polo247over 11 years ago: zero configuration service discovery
read-torrent73almost 8 years ago: read and parse a torrent from a resource
magnet-link63over 5 years ago: get a magnet link from a torrent file
peervisionary42about 11 years ago: CLI combining airswarm and peervision
serverless-webrtc1,546about 5 years ago: serverless WebRTC
peer4,418almost 2 years ago: peerjs server
scuttlebutt1,318over 9 years ago: real-time replication
secure-scuttlebutt1,172about 2 years ago: secure database with replication
scuttlebucket21about 13 years ago: nested scuttlebutts
scuttleboat8about 9 years ago: dynamic scuttlebucket
rtc-SCAMP7over 11 years ago: scalable membership protocol
rtc-SCAMP-mbr2over 11 years ago: scalable membership protocol
network6over 11 years ago: arbitrary network implementations between clients
BoundedBroadcastDefinition1over 11 years ago: broadcasting component on top of communication overlay
discover69almost 11 years ago: distributed master-less node discovery
k-bucket156over 3 years ago: DHT k-bucket implementation
gossipmonger51almost 13 years ago: real-time replication with scuttlebutt
kadoh242almost 13 years ago: kademlia over HTTP
kademlia-dht67over 4 years ago: DHT
kademlia142over 7 years ago: kademlia
dhtkv63over 10 years ago: cli for bittorrent storing values in mainline torrent DHT
abstract-peer-routing12over 6 years ago: a test suite for implementing peer routing in libp2p
abstract-record-store9over 6 years ago: a test suite to implement in IPFS record store
libp2p-swarm47about 7 years ago: IPFS swarm implementation
libp2p-kad-routing9over 8 years ago: IPFS Kademlia routing
libp2p-kad-record-store4over 8 years ago: IPFS Kademlia record store
libp2p-distributed-record-store7over 8 years ago: IPFS distributed record store
libp2p-record7over 8 years ago: IPFS record object
libp2p-railing30almost 3 years ago: railing of a Node through a bootstrap peer list
libp2p-random-walk: peer discovery via a DHT random walk
libp2p-mdns-discovery51about 3 years ago: peer discovery via mDNS
libp2p-utp12over 2 years ago: node uTP implementation
libp2p-spdy10over 5 years ago: multistream into Stream Multiplexing
libp2p-udt3over 2 years ago: node UDT implementation
libp2p-udp7over 2 years ago: node UDP implementation
libp2p-tcp76about 3 years ago: TCP implementation of abstract transport interface
peer-info37over 6 years ago: IPFS peer abstraction
peer-id81over 2 years ago: IPFS peer id
peer-book16over 6 years ago: Peer Store for libp2p and IPFS
muxrpc99almost 3 years ago: multiplexed rpc
secret-stack90over 2 years ago: connect peers using secret handshakes
ssb-feed15over 7 years ago: secure scuttlebutt feed
mdns872over 2 years ago: discover services on your local network
append-only-torrent: create a sequence of torrent files for growing input
fully-connected-topology58almost 11 years ago: create a fully connected topology (mesh)
blockcast55almost 11 years ago: protocol for storing data in bitcoin blockchains
hive.js16almost 3 years ago: browser-to-browser distributed cache for video using WebRTC
ipscend263almost 7 years ago: deploy and host web apps on IPFS
babel-routing-protocol: routing over p2p mesh
webdht16over 8 years ago
butter4,290almost 6 years ago: free parts of popcorn time
merkle-patricia-tree307over 5 years ago: as documented by Ethereum
rtc-data-stream43about 9 years ago: convert a WebRTC data channel into a stream
peermesh118over 3 years ago: p2p file transfer using WebRTC
peertransfer323over 2 years ago: sends files p2p securely in the browser
merkle-stream105over 4 years ago: generate a merkle tree from streamed data
discovery-channel299over 4 years ago: search for a key across multiple discovery networks
anonymous-networks1,638over 5 years ago: distributed, p2p chat app using IPFS
hyperdrive1,874almost 2 years ago: A file sharing network based on rabin file chunking and append only feeds of data verified by merkle trees
webrtc-connect17almost 11 years ago: Establish WebRTC Data Channels between browser-node and node-node with a TCP/HTTP/WebSockets "createServer/attach" like interface
discovery-network31about 14 years ago: a p2p discovery network
rtc-stream14over 8 years ago: Webrtc using regular node streams
viraljs961about 10 years ago: p2p distribution of apps
wrtc-ice-cand-parse8almost 11 years ago: WRTC Ice Candidate parse
deejay126almost 11 years ago: Music player that broadcasts to everyone on the same network
osm-p2p-db238about 8 years ago: p2p database for open street map data
dns-discovery193over 4 years ago: Discovery peers in a distributed system using regular dns and multicast dns
k-rpc-socket23over 3 years ago: Low level implementation of the k-rpc network layer that the BitTorrent DHT uses
ucat6over 10 years ago: ucat(uTP cat) implementation in JavaScript to be used with Node.js
k-rpc74over 3 years ago: Low-level implementation of the k-rpc protocol used the BitTorrent DHT
osm-p2p-server86over 5 years ago: serve open street map 0.6 api endpoints over a local p2p http server
secure-webrtc-swarm2over 10 years ago: with whitelisting and encryption
node-ice34over 10 years ago: Interactive Connectivity Establishment (ICE) (RFC 5245) for Node.js
node-rtc-peer-connection154over 10 years ago: RTCPeerConnection for Node.js
ipfs-merkle-dag1over 10 years ago: IPFS Merkle DAG JavaScript Implementation
ipfs-blocks13about 5 years ago: JavaScript Implementation of Block and BlockService
electron-webrtc317over 8 years ago: Use WebRTC in Node.js via a hidden Electron process
peerweb.js198over 8 years ago: A client side library for fetching and rendering a static website from a torrent
webcoin412over 4 years ago: SPV Bitcoin client for Node.js and the browser
swarmlog: create a p2p webrtc swarm around a hyperlog
discovery-swarm376about 6 years ago: A network swarm that uses discovery-channel to find peers
discovery-server58almost 9 years ago: A tcp/utp server that auto announces itself using discovery-channel
ipfs-hyperlog57almost 9 years ago: IPFS Merkle DAG that replicates based on scuttlebutt logs and causal linking
karma-peer3over 10 years ago: Test p2p apps in multiple browsers with karma
nuTorrent233almost 11 years ago: A Pure Javascript BitTorrent Client
hyperlog-seed: seed content hashes embedded in a hyperlog
peer-tweet879over 10 years ago: Decentralized feeds using BitTorrent's DHT
torrent-worker10over 6 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-exchange152over 9 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
freeice289over 3 years ago: Get free, randomized STUN and TURN servers for your WebRTC application
web-to-dat12about 10 years ago: Clone a website and share with dat
webtorrent-cli1,183almost 2 years ago: WebTorrent, the streaming torrent client. For the command line
ipfs-data-importing22about 6 years ago: JavaScript implementation of the layout and chunking mechanisms used by IPFS
chatwizard: p2p webrtc chatroom client
js-gossip-cyclon45over 10 years ago: Cyclon Gossip: (P2P membership management) in Javascript
CheckWebPeer19over 10 years ago: Check WebRTC peers of torrents
hyperdrive-archive-stream25almost 10 years ago: Join the p2p swarm for a given hyperdrive archive
hyperirc70almost 9 years ago: Read IRC through hypercore
spellcast: p2p live streaming in the browser
orbit1,638over 5 years ago: Distributed peer-to-peer chat application on IPFS
orbit-db5over 3 years ago: Distributed peer-to-peer database on IPFS
peer-network184over 9 years ago: Create servers/clients that listen on names instead of ports and hostnames and are accessible over the internet
resilient-swarm73about 9 years ago: An efficient, secure, and reliable WebRTC swarm
hyperdht95about 8 years ago: dht based on kademlia, with a focus on extensibility + modularity
hypercore-dag24almost 10 years ago: DAGs on top of hypercore, allowing verified random-access to graph nodes
hypercore-archiver71almost 8 years ago: A hypercore peer that will backup multiple hypercores/hyperdrives efficiently to disk
hyperarchiver13about 9 years ago: Host, backup, and share hyperdrive archives
hyperpipe119about 9 years ago: Distributed input/output pipe
hypername36almost 10 years ago: Distributed name server
hyperreduce17almost 10 years ago: Distributed reduce on top of hypercore
hyperfilter33almost 10 years ago: Distributed map and filter
normcore28almost 10 years ago: No-config distributed streams using hypercore
hyperfeed69over 9 years ago: p2p rss publishing
hyperdiscovery135over 4 years ago: Join the swarm for a given hypercore or hyperdrive feed
dht-rpc197almost 2 years ago: Make RPC calls over a Kademlia based DHT
hyperdrive-multiwriter: present a bundle of hyperdrive archives together as a multi-writer view
hyperhealth39over 7 years ago: Monitor the health of a hyperdrive or dat, including peer count and peer mirror percentages
assassin78about 6 years ago: Store key-value pairs in a decentralized NoSQL database built with
hyperlapse23almost 10 years ago: Distributed process manager
voter15almost 13 years ago: Distributed voting based on Scuttlebutt
hyper-string39over 8 years ago: p2p conflict-free string primitive
hyperhost48about 8 years ago: P2P Node Servers in the Browser
hypertweet71over 9 years ago: concept tweet -> hypercore thingy
nile.js1,767almost 8 years ago: Scalable peer to peer live video streaming built on torrents and webRTC
chatmesh: p2p chat using hyperdb
SIP.js1,904over 2 years ago: A simple, intuitive, and powerful JavaScript signaling library
noise-network97about 7 years ago: Authenticated P2P network backed by HyperSwarm and NOISE

Peer-to-Peer / Libraries

libwebrtc57almost 11 years ago: companion to
p2p316over 10 years ago: browser JS library
SimpleWebRTC4,660about 4 years ago: browser JS library
signalmaster1,304almost 6 years ago: signaling server for
rfc5766-turn-server521almost 11 years ago
coturn11,555almost 2 years ago: next evolution of the rfc5766-turn-server project
peerjs12,564almost 2 years ago: simple peer-to-peer with WebRTC
go-peerstream56about 9 years ago: P2P multi-multiplexing in Go
ipfs22,751over 2 years ago: distributed file system
ipfs specs1,169almost 2 years ago: specs for IPFS
ipget397almost 2 years ago: wget for IPFS
btfs3,897about 2 years ago: bittorrent filesystem based on FUSE (C++)
swarmbot: mirroring for a p2p mesh of swarmlogs
p2p-graph286over 5 years ago: Real-time P2P network visualization with D3
planktos539over 6 years ago: Serving websites over bittorrent
dat8,246over 3 years ago: Sync data across the distributed web
Netflux213over 4 years ago: full mesh network of clients and/or servers
libdatachannel1,835almost 2 years ago: WebRTC DataChannels standalone implementation (C++)

Peer-to-Peer / Apps

whiteboard156about 7 years ago
friends3,167about 8 years ago: P2P chat
openbazaar: decentralized marketplace:
ipfsbin133over 10 years ago: Run IPFS snippets
patchwork3,583over 5 years ago: p2p secure messaging
webtorrent-app9,748almost 2 years ago: WebTorrent, the streaming torrent client. For OS X, Windows, and Linux
snapdrop18,527about 2 years ago: A HTML5 clone of Apple's AirDrop
peerweb118about 6 years ago: PeerWeb browser
beaker6,753almost 4 years ago: Decentralization tech in a browser built with electron
PeerFast103over 5 years ago:
ferment: Peer-to-peer audio sharing and streaming application. Like SoundCloud but decentralized. A mashup of ssb, webtorrent and electron
roll-call1,565about 9 years ago: Free and reliable audio calls for everyone w/ browser p2p
cache-p2p865over 4 years ago: CacheP2P is a highly distributed cache platform based on WebTorrent and runs only in the browser
dropub219over 3 years ago: P2P publishing for everyone. Dropbox meets BitTorrent
norcal: P2P calendaring
hyperpad201over 8 years ago: P2P collaborative text editor

Peer-to-Peer / Experiments

torrent-log: message feed over bittorrent
GitTorrent4,750about 6 years ago: A decentralization of Github using BitTorrent and Bitcoin
webrtc-ips3,437almost 3 years ago: Stun IP address requests for WebRTC
web2web2,255almost 3 years 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-workshop88over 9 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
topology57over 13 years ago: different network topologies
gossip
membership management
ipfs147over 3 years ago
dynamic search
p2pweb22about 12 years ago: Create a web where web pages are published/shared in a P2P fashion
bitweb30almost 11 years ago: websites sharing using bittorrent
p2p handbook129over 6 years ago: introductory handbook on p2p tech & javascript

Peer-to-Peer / Other

fill-disk
brickhouse6over 7 years ago: security focused desktop applications
bigchaindb4,037about 2 years 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: