Awesome Lists

awesome-peer-to-peer

by kgryte

awesome listpushed over 3 years ago

A list of peer-to-peer resources.

AI summary

P2P library

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

stars
2.4K
forks
195
watching
94
awesome lists
4
entries
254
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/kgryte/awesome-peer-to-peer/links.svg)](https://awesome.facts.dev/awesome/kgryte/awesome-peer-to-peer)
HTML
<a href="https://awesome.facts.dev/awesome/kgryte/awesome-peer-to-peer"><img src="https://awesome.facts.dev/shield/kgryte/awesome-peer-to-peer/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/kgryte/awesome-peer-to-peer/links.svg

What's in the list

254 links in 9 sections, with live GitHub stats.activeno commit in 2y

Modules

  • wrtc

    : native module for NodeJS

  • rtc

    : WebRTC suite

  • rtc-dcstream

    : streams2 layer for WebRTC data channels

  • rtc-signaller

    : transport agnostic signalling for WebRTC

  • rtc-quickconnect

    : high-level wrapper for creating WebRTC apps

  • rtc-switch

    : core logic for

  • rtc-switchboard

    : server side in-memory signaller

  • rtc-signal

    : core logic for client side signaling

  • rtc-mesh

    : create a P2P mesh data structure using data channels

  • rtc-core

    : core definitions and functions for rtc

  • rtc-everywhere

    : cross-everything WebRTC mega-project

  • webtorrent

    : streaming torrent client for node and the browser

  • peer-wire-swarm

    : swarm implementation for bittorrent

  • bittorrent-swarm

    : bittorrent swarm implementation

  • bittorrent-dht

    : BitTorrent DHT implementation

  • parse-torrent

    : parse a torrent identifier

  • simple-peer

    : Simple WebRTC video/voice and data channels

  • torrent-discovery

    : Discover BitTorrent and WebTorrent peers

  • bittorrent-tracker

    : BitTorrent tracker for client and server

  • create-torrent

    : Create torrent files

  • parse-torrent-file

    : Parse a torrent file

  • bittorrent-protocol

    : BitTorrent peer wire protocol

  • torrent

    : download torrents with NodeJS from the CLI

  • magnet-uri

    : parse a magnet URI

  • webtorrent-chrome

    : BitTorrent client as a Chrome App

  • peer-wire-protocol

    : peer wire protocol used in torrents for NodeJS

  • socket.io-p2p

    : signalling server and client library

  • node-torrent

    : torrent reader, write, and hash checker

  • torrent-piece

    : torrent piece abstraction

  • torrent-stream

    : streaming torrent engine used by peerflix

  • torrent-mount

    : Mount a torrent or magnet link as a filesystem

  • peerflix

    : streaming torrent client for NodeJS

  • friends-swarm

    : a WebRTC swarm

  • peerbot

    : message seeding utility for friends

  • webrtc-swarm

    : create a swarm of P2P connections using WebRTC and a signalhub

  • signalhub

    : simple signalling server

  • peervision

    : live P2P streaming protocol

  • airswarm

    : network swarm that discovers other peers on the network using multicast DNS

  • webcat

    : P2P pipe using WebRTC, Github keys for auth, and signalhub for discovery

  • torrent-blob-store

    : read-only BitTorrent backed streaming blob store

  • hyperlog

    : Merkle DAG that replicates based on scuttlebutt logs and causal linking

  • ble-swarm

    : swarm over bluetooth low energy

  • multicast-dns

    : multicast-dns in JS

  • screencat

    : WebRTC screensharing

  • torrent-docker

    : realtime boot of remote docker images using bittorrent

  • airpaste

    : Network pipe that auto-discovers other peers using mdns

  • polo

    : zero configuration service discovery

  • read-torrent

    : read and parse a torrent from a resource

  • magnet-link

    : get a magnet link from a torrent file

  • peervisionary

    : CLI combining airswarm and peervision

  • serverless-webrtc

    : serverless WebRTC

  • peer

    : peerjs server

  • scuttlebutt

    : real-time replication

  • secure-scuttlebutt

    : secure database with replication

  • scuttlebucket

    : nested scuttlebutts

  • scuttleboat

    : dynamic scuttlebucket

  • rtc-SCAMP

    : scalable membership protocol

  • rtc-SCAMP-mbr

    : scalable membership protocol

  • network

    : arbitrary network implementations between clients

  • BoundedBroadcastDefinition

    : broadcasting component on top of communication overlay

  • discover

    : distributed master-less node discovery

  • k-bucket

    : DHT k-bucket implementation

  • gossipmonger

    : real-time replication with scuttlebutt

  • kadoh

    : kademlia over HTTP

  • kademlia

    : kademlia

  • dhtkv

    : cli for bittorrent storing values in mainline torrent DHT

  • abstract-peer-routing

    : a test suite for implementing peer routing in libp2p

  • abstract-record-store

    : a test suite to implement in IPFS record store

  • libp2p-swarm

    : IPFS swarm implementation

  • libp2p-kad-routing

    : IPFS Kademlia routing

  • libp2p-kad-record-store

    : IPFS Kademlia record store

  • libp2p-distributed-record-store

    : IPFS distributed record store

  • libp2p-record

    : IPFS record object

  • libp2p-railing

    : railing of a Node through a bootstrap peer list

  • libp2p-random-walk

    : peer discovery via a DHT random walk

  • libp2p-mdns-discovery

    : peer discovery via mDNS

  • libp2p-utp

    : node uTP implementation

  • libp2p-spdy

    : multistream into Stream Multiplexing

  • libp2p-udt

    : node UDT implementation

  • libp2p-udp

    : node UDP implementation

  • libp2p-tcp

    : TCP implementation of abstract transport interface

  • peer-info

    : IPFS peer abstraction

  • peer-id

    : IPFS peer id

  • peer-book

    : Peer Store for libp2p and IPFS

  • muxrpc

    : multiplexed rpc

  • secret-stack

    : connect peers using secret handshakes

  • ssb-feed

    : secure scuttlebutt feed

  • mdns

    : discover services on your local network

  • append-only-torrent

    : create a sequence of torrent files for growing input

  • fully-connected-topology

    : create a fully connected topology (mesh)

  • blockcast

    : protocol for storing data in bitcoin blockchains

  • hive.js

    : browser-to-browser distributed cache for video using WebRTC

  • ipscend

    : deploy and host web apps on IPFS

  • babel-routing-protocol

    : routing over p2p mesh

  • butter

    : free parts of popcorn time

  • merkle-patricia-tree

    : as documented by Ethereum

  • rtc-data-stream

    : convert a WebRTC data channel into a stream

  • peermesh

    : p2p file transfer using WebRTC

  • peertransfer

    : sends files p2p securely in the browser

  • merkle-stream

    : generate a merkle tree from streamed data

  • discovery-channel

    : search for a key across multiple discovery networks

  • anonymous-networks

    : distributed, p2p chat app using IPFS

  • hyperdrive

    : A file sharing network based on rabin file chunking and append only feeds of data verified by merkle trees

  • webrtc-connect

    : Establish WebRTC Data Channels between browser-node and node-node with a TCP/HTTP/WebSockets "createServer/attach" like interface

  • discovery-network

    : a p2p discovery network

  • rtc-stream

    : Webrtc using regular node streams

  • viraljs

    : p2p distribution of apps

  • wrtc-ice-cand-parse

    : WRTC Ice Candidate parse

  • deejay

    : Music player that broadcasts to everyone on the same network

  • osm-p2p-db

    : p2p database for open street map data

  • dns-discovery

    : Discovery peers in a distributed system using regular dns and multicast dns

  • k-rpc-socket

    : Low level implementation of the k-rpc network layer that the BitTorrent DHT uses

  • ucat

    : ucat(uTP cat) implementation in JavaScript to be used with Node.js

  • k-rpc

    : Low-level implementation of the k-rpc protocol used the BitTorrent DHT

  • osm-p2p-server

    : serve open street map 0.6 api endpoints over a local p2p http server

  • secure-webrtc-swarm

    : with whitelisting and encryption

  • node-ice

    : Interactive Connectivity Establishment (ICE) (RFC 5245) for Node.js

  • node-rtc-peer-connection

    : RTCPeerConnection for Node.js

  • ipfs-merkle-dag

    : IPFS Merkle DAG JavaScript Implementation

  • ipfs-blocks

    : JavaScript Implementation of Block and BlockService

  • electron-webrtc

    : Use WebRTC in Node.js via a hidden Electron process

  • peerweb.js

    : A client side library for fetching and rendering a static website from a torrent

  • webcoin

    : SPV Bitcoin client for Node.js and the browser

  • swarmlog

    : create a p2p webrtc swarm around a hyperlog

  • discovery-swarm

    : A network swarm that uses discovery-channel to find peers

  • discovery-server

    : A tcp/utp server that auto announces itself using discovery-channel

  • ipfs-hyperlog

    : IPFS Merkle DAG that replicates based on scuttlebutt logs and causal linking

  • karma-peer

    : Test p2p apps in multiple browsers with karma

  • nuTorrent

    : A Pure Javascript BitTorrent Client

  • hyperlog-seed

    : seed content hashes embedded in a hyperlog

  • peer-tweet

    : Decentralized feeds using BitTorrent's DHT

  • torrent-worker

    : 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

    : 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

    : Get free, randomized STUN and TURN servers for your WebRTC application

  • web-to-dat

    : Clone a website and share with dat

  • webtorrent-cli

    : WebTorrent, the streaming torrent client. For the command line

  • ipfs-data-importing

    : JavaScript implementation of the layout and chunking mechanisms used by IPFS

  • chatwizard

    : p2p webrtc chatroom client

  • js-gossip-cyclon

    : Cyclon Gossip: (P2P membership management) in Javascript

  • CheckWebPeer

    : Check WebRTC peers of torrents

  • hyperdrive-archive-stream

    : Join the p2p swarm for a given hyperdrive archive

  • hyperirc

    : Read IRC through hypercore

  • spellcast

    : p2p live streaming in the browser

  • orbit

    : Distributed peer-to-peer chat application on IPFS

  • orbit-db

    : Distributed peer-to-peer database on IPFS

  • peer-network

    : Create servers/clients that listen on names instead of ports and hostnames and are accessible over the internet

  • resilient-swarm

    : An efficient, secure, and reliable WebRTC swarm

  • hyperdht

    : dht based on kademlia, with a focus on extensibility + modularity

  • hypercore-dag

    : DAGs on top of hypercore, allowing verified random-access to graph nodes

  • hypercore-archiver

    : A hypercore peer that will backup multiple hypercores/hyperdrives efficiently to disk

  • hyperarchiver

    : Host, backup, and share hyperdrive archives

  • hyperpipe

    : Distributed input/output pipe

  • hypername

    : Distributed name server

  • hyperreduce

    : Distributed reduce on top of hypercore

  • hyperfilter

    : Distributed map and filter

  • normcore

    : No-config distributed streams using hypercore

  • hyperfeed

    : p2p rss publishing

  • hyperdiscovery

    : Join the swarm for a given hypercore or hyperdrive feed

  • dht-rpc

    : Make RPC calls over a Kademlia based DHT

  • hyperdrive-multiwriter

    : present a bundle of hyperdrive archives together as a multi-writer view

  • hyperhealth

    : Monitor the health of a hyperdrive or dat, including peer count and peer mirror percentages

  • assassin

    : Store key-value pairs in a decentralized NoSQL database built with

  • hyperlapse

    : Distributed process manager

  • voter

    : Distributed voting based on Scuttlebutt

  • hyper-string

    : p2p conflict-free string primitive

  • hyperhost

    : P2P Node Servers in the Browser

  • hypertweet

    : concept tweet -> hypercore thingy

  • nile.js

    : Scalable peer to peer live video streaming built on torrents and webRTC

  • chatmesh

    : p2p chat using hyperdb

  • SIP.js

    : A simple, intuitive, and powerful JavaScript signaling library

  • noise-network

    : Authenticated P2P network backed by HyperSwarm and NOISE

Libraries

  • libwebrtc

    : companion to

  • p2p

    : browser JS library

  • SimpleWebRTC

    : browser JS library

  • signalmaster

    : signaling server for

  • coturn

    : next evolution of the rfc5766-turn-server project

  • peerjs

    : simple peer-to-peer with WebRTC

  • go-peerstream

    : P2P multi-multiplexing in Go

  • ipfs

    : distributed file system

  • ipfs specs

    : specs for IPFS

  • ipget

    : wget for IPFS

  • btfs

    : bittorrent filesystem based on FUSE (C++)

  • swarmbot

    : mirroring for a p2p mesh of swarmlogs

  • p2p-graph

    : Real-time P2P network visualization with D3

  • planktos

    : Serving websites over bittorrent

  • dat

    : Sync data across the distributed web

  • Netflux

    : full mesh network of clients and/or servers

  • libdatachannel

    : WebRTC DataChannels standalone implementation (C++)

Apps

  • friends

    : P2P chat

  • openbazaar

    : decentralized marketplace:

  • ipfsbin

    : Run IPFS snippets

  • patchwork

    : p2p secure messaging

  • webtorrent-app

    : WebTorrent, the streaming torrent client. For OS X, Windows, and Linux

  • snapdrop

    : A HTML5 clone of Apple's AirDrop

  • peerweb

    : PeerWeb browser

  • beaker

    : Decentralization tech in a browser built with electron

  • ferment

    : Peer-to-peer audio sharing and streaming application. Like SoundCloud but decentralized. A mashup of ssb, webtorrent and electron

  • roll-call

    : Free and reliable audio calls for everyone w/ browser p2p

  • cache-p2p

    : CacheP2P is a highly distributed cache platform based on WebTorrent and runs only in the browser

  • dropub

    : P2P publishing for everyone. Dropbox meets BitTorrent

  • norcal

    : P2P calendaring

  • hyperpad

    : P2P collaborative text editor

Experiments

  • torrent-log

    : message feed over bittorrent

  • GitTorrent

    : A decentralization of Github using BitTorrent and Bitcoin

  • webrtc-ips

    : Stun IP address requests for WebRTC

  • web2web

    : P2P web powered by torrents and blockchain

Workshops

Companies

Resources

Other

People

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.