{"id":13433134,"url":"https://github.com/kgryte/awesome-peer-to-peer","last_synced_at":"2025-09-27T10:30:34.988Z","repository":{"id":38360988,"uuid":"42802743","full_name":"kgryte/awesome-peer-to-peer","owner":"kgryte","description":"A list of peer-to-peer resources.","archived":false,"fork":false,"pushed_at":"2023-03-28T09:11:13.000Z","size":175,"stargazers_count":2482,"open_issues_count":14,"forks_count":193,"subscribers_count":93,"default_branch":"master","last_synced_at":"2025-09-19T14:09:39.587Z","etag":null,"topics":["awesome","p2p","peer-to-peer","resources"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kgryte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-09-20T06:28:41.000Z","updated_at":"2025-09-18T11:49:01.000Z","dependencies_parsed_at":"2024-01-12T05:03:41.714Z","dependency_job_id":null,"html_url":"https://github.com/kgryte/awesome-peer-to-peer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kgryte/awesome-peer-to-peer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgryte%2Fawesome-peer-to-peer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgryte%2Fawesome-peer-to-peer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgryte%2Fawesome-peer-to-peer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgryte%2Fawesome-peer-to-peer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kgryte","download_url":"https://codeload.github.com/kgryte/awesome-peer-to-peer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgryte%2Fawesome-peer-to-peer/sbom","scorecard":{"id":558416,"data":{"date":"2025-08-11","repo":{"name":"github.com/kgryte/awesome-peer-to-peer","commit":"712e8b27dbcb258f3438028ea9ee171dc5391d24"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":3,"reason":"Found 8/21 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-20T12:56:54.051Z","repository_id":38360988,"created_at":"2025-08-20T12:56:54.051Z","updated_at":"2025-08-20T12:56:54.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277218716,"owners_count":25781444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-27T02:00:08.978Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","p2p","peer-to-peer","resources"],"created_at":"2024-07-31T02:01:21.483Z","updated_at":"2025-09-27T10:30:34.934Z","avatar_url":"https://github.com/kgryte.png","language":null,"funding_links":[],"categories":["Others","HarmonyOS","Networking","awesome","Programming Language Lists","Uncategorized","Collections","Related awesomeness","Other Awesome Lists"],"sub_categories":["Windows Manager","JavaScript Lists","Uncategorized","Asia and Pacific","Kotlin","Peer-to-Peer"],"readme":"# Peer-to-Peer\n\n\u003e A list of peer-to-peer resources.\n\n## Modules\n\n* [easyRTC](https://github.com/priologic/easyrtc)\n* [wrtc](https://github.com/js-platform/node-webrtc): native module for NodeJS\n* [rtc](https://github.com/rtc-io/rtc): WebRTC suite\n* [rtc-dcstream](https://github.com/rtc-io/rtc-dcstream): streams2 layer for WebRTC data channels\n* [rtc-signaller](https://github.com/rtc-io/rtc-signaller): transport agnostic signalling for WebRTC\n* [rtc-quickconnect](https://github.com/rtc-io/rtc-quickconnect): high-level wrapper for creating WebRTC apps\n* [rtc-switch](https://github.com/rtc-io/rtc-switch): core logic for [rtc-switchboard](https://github.com/rtc-io/rtc-switchboard)\n* [rtc-switchboard](https://github.com/rtc-io/rtc-switchboard): server side in-memory signaller\n* [rtc-signal](https://github.com/rtc-io/rtc-signal): core logic for client side signaling\n* [rtc-mesh](https://github.com/rtc-io/rtc-mesh): create a P2P mesh data structure using data channels\n* [rtc-core](https://github.com/rtc-io/rtc-core): core definitions and functions for rtc\n* [rtc-everywhere](https://github.com/contra/rtc-everywhere): cross-everything WebRTC mega-project\n* [webtorrent](https://github.com/feross/webtorrent): streaming torrent client for node and the browser\n* [peer-wire-swarm](https://github.com/mafintosh/peer-wire-swarm): swarm implementation for bittorrent\n* [bittorrent-swarm](https://github.com/feross/bittorrent-swarm): bittorrent swarm implementation\n* [bittorrent-dht](https://github.com/feross/bittorrent-dht): BitTorrent DHT implementation\n* [parse-torrent](https://github.com/feross/parse-torrent): parse a torrent identifier\n* [simple-peer](https://github.com/feross/simple-peer): Simple WebRTC video/voice and data channels\n* [torrent-discovery](https://github.com/feross/torrent-discovery): Discover BitTorrent and WebTorrent peers\n* [bittorrent-tracker](https://github.com/feross/bittorrent-tracker): BitTorrent tracker for client and server\n* [create-torrent](https://github.com/feross/create-torrent): Create torrent files\n* [parse-torrent-file](https://github.com/feross/parse-torrent-file): Parse a torrent file\n* [bittorrent-protocol](https://github.com/feross/bittorrent-protocol): BitTorrent peer wire protocol\n* [torrent](https://github.com/maxogden/torrent): download torrents with NodeJS from the CLI\n* [magnet-uri](https://github.com/feross/magnet-uri): parse a magnet URI\n* [webtorrent-chrome](https://github.com/feross/webtorrent-chrome): BitTorrent client as a Chrome App\n* [peer-wire-protocol](https://github.com/mafintosh/peer-wire-protocol): peer wire protocol used in torrents for NodeJS\n* [socket.io-p2p](https://github.com/socketio/socket.io-p2p): signalling server and client library\n* [node-torrent](https://github.com/fent/node-torrent): torrent reader, write, and hash checker\n* [torrent-piece](https://github.com/feross/torrent-piece): torrent piece abstraction\n* [torrent-stream](https://github.com/mafintosh/torrent-stream): streaming torrent engine used by peerflix\n* [torrent-mount](https://github.com/mafintosh/torrent-mount): Mount a torrent or magnet link as a filesystem\n* [peerflix](https://github.com/mafintosh/peerflix): streaming torrent client for NodeJS\n* [friends-swarm](https://github.com/moose-team/friends-swarm): a WebRTC swarm\n* [peerbot](https://github.com/moose-team/peerbot): message seeding utility for friends\n* [webrtc-swarm](https://github.com/mafintosh/webrtc-swarm): create a swarm of P2P connections using WebRTC and a signalhub\n* [signalhub](https://github.com/mafintosh/signalhub): simple signalling server\n* [peervision](https://github.com/mafintosh/peervision): live P2P streaming protocol\n* [airswarm](https://github.com/mafintosh/airswarm): network swarm that discovers other peers on the network using multicast DNS\n* [webcat](https://github.com/mafintosh/webcat): P2P pipe using WebRTC, Github keys for auth, and signalhub for discovery\n* [torrent-blob-store](https://github.com/mafintosh/torrent-blob-store): read-only BitTorrent backed streaming blob store\n* [hyperlog](https://github.com/mafintosh/hyperlog): Merkle DAG that replicates based on scuttlebutt logs and causal linking\n* [ble-swarm](https://github.com/mafintosh/ble-swarm): swarm over bluetooth low energy\n* [multicast-dns](https://github.com/mafintosh/multicast-dns): multicast-dns in JS\n* [screencat](https://github.com/maxogden/screencat): WebRTC screensharing\n* [torrent-docker](https://github.com/mafintosh/torrent-docker): realtime boot of remote docker images using bittorrent\n* [airpaste](https://github.com/mafintosh/airpaste): Network pipe that auto-discovers other peers using mdns\n* [polo](https://github.com/mafintosh/polo): zero configuration service discovery\n* [read-torrent](https://github.com/mafintosh/read-torrent): read and parse a torrent from a resource\n* [magnet-link](https://github.com/ngoldman/magnet-link): get a magnet link from a torrent file\n* [peervisionary](https://github.com/mafintosh/peervisionary): CLI combining airswarm and peervision\n* [serverless-webrtc](https://github.com/cjb/serverless-webrtc): serverless WebRTC\n* [peer](https://github.com/peers/peerjs-server): peerjs server\n* [scuttlebutt](https://github.com/dominictarr/scuttlebutt): real-time replication\n* [secure-scuttlebutt](https://github.com/ssbc/secure-scuttlebutt): secure database with replication\n* [scuttlebucket](https://github.com/dominictarr/scuttlebucket): nested scuttlebutts\n* [scuttleboat](https://github.com/kumavis/scuttleboat): dynamic scuttlebucket\n* [rtc-SCAMP](https://github.com/chat-wane/rtc-SCAMP): scalable membership protocol\n* [rtc-SCAMP-mbr](https://github.com/Chat-Wane/rtc-SCAMP-mbr): scalable membership protocol\n* [network](https://github.com/justayak/network): arbitrary network implementations between clients\n* [BoundedBroadcastDefinition](https://github.com/Chat-Wane/BoundedBroadcastDefinition): broadcasting component on top of communication overlay\n* [discover](https://github.com/tristanls/discover): distributed master-less node discovery\n* [k-bucket](https://github.com/tristanls/k-bucket): DHT k-bucket implementation\n* [gossipmonger](https://github.com/tristanls/gossipmonger): real-time replication with scuttlebutt\n* [kadoh](https://github.com/jinroh/kadoh): kademlia over HTTP\n* [kademlia-dht](https://github.com/jeanlauliac/kademlia-dht): DHT\n* [kademlia](https://github.com/nikhilm/kademlia): kademlia\n* [dhtkv](https://github.com/maxogden/dhtkv): cli for bittorrent storing values in mainline torrent DHT\n* [abstract-peer-routing](https://github.com/diasdavid/interface-peer-routing): a test suite for implementing peer routing in libp2p\n* [abstract-record-store](https://github.com/diasdavid/interface-record-store): a test suite to implement in IPFS record store\n* [libp2p-swarm](https://github.com/diasdavid/js-libp2p-swarm): IPFS swarm implementation\n* [libp2p-kad-routing](https://github.com/diasdavid/js-libp2p-kad-routing): IPFS Kademlia routing\n* [libp2p-kad-record-store](https://github.com/diasdavid/js-libp2p-kad-record-store): IPFS Kademlia record store\n* [libp2p-distributed-record-store](https://github.com/diasdavid/js-libp2p-distributed-record-store): IPFS distributed record store\n* [libp2p-record](https://github.com/diasdavid/js-libp2p-record): IPFS record object\n* [libp2p-railing](https://github.com/diasdavid/js-libp2p-railing): railing of a Node through a bootstrap peer list\n* [libp2p-random-walk](https://github.com/diasdavid/js-libp2p-random-walk): peer discovery via a DHT random walk\n* [libp2p-mdns-discovery](https://github.com/diasdavid/js-libp2p-mdns-discovery): peer discovery via mDNS\n* [libp2p-utp](https://github.com/diasdavid/js-libp2p-utp): node uTP implementation\n* [libp2p-spdy](https://github.com/diasdavid/js-libp2p-spdy): multistream into Stream Multiplexing\n* [libp2p-udt](https://github.com/diasdavid/js-libp2p-udt): node UDT implementation\n* [libp2p-udp](https://github.com/diasdavid/js-libp2p-udp): node UDP implementation\n* [libp2p-tcp](https://github.com/diasdavid/js-libp2p-tcp): TCP implementation of abstract transport interface\n* [peer-info](https://github.com/diasdavid/js-peer-info): IPFS peer abstraction\n* [peer-id](https://github.com/diasdavid/js-peer-id): IPFS peer id\n* [peer-book](https://github.com/diasdavid/js-peer-book): Peer Store for libp2p and IPFS\n* [muxrpc](https://github.com/ssbc/muxrpc): multiplexed rpc\n* [secret-stack](https://github.com/ssbc/secret-stack): connect peers using secret handshakes\n* [ssb-feed](https://github.com/ssbc/ssb-feed): secure scuttlebutt feed\n* [mdns](https://github.com/agnat/node_mdns): discover services on your local network\n* [append-only-torrent](https://github.com/substack/append-only-torrent): create a sequence of torrent files for growing input\n* [fully-connected-topology](https://github.com/sorribas/fully-connected-topology): create a fully connected topology (mesh)\n* [blockcast](https://github.com/blockai/blockcast): protocol for storing data in bitcoin blockchains\n* [hive.js](https://github.com/Peerialism/hive.js): browser-to-browser distributed cache for video using WebRTC\n* [ipscend](https://github.com/diasdavid/ipscend): deploy and host web apps on IPFS\n* [babel-routing-protocol](https://github.com/substack/babel-routing-protocol): routing over p2p mesh\n* [webdht](https://github.com/jhiesey/webdht)\n* [butter](https://github.com/butterproject/butter-desktop): free parts of popcorn time\n* [merkle-patricia-tree](https://github.com/ethereumjs/merkle-patricia-tree): as documented by Ethereum\n* [rtc-data-stream](https://github.com/kumavis/rtc-data-stream): convert a WebRTC data channel into a stream\n* [peermesh](https://github.com/pguth/peermesh): p2p file transfer using WebRTC\n* [peertransfer](https://github.com/pguth/peertransfer): sends files p2p securely in the browser\n* [merkle-stream](https://github.com/mafintosh/merkle-tree-stream): generate a merkle tree from streamed data\n* [discovery-channel](https://github.com/maxogden/discovery-channel): search for a key across multiple discovery networks\n* [anonymous-networks](https://github.com/haadcode/anonymous-networks): distributed, p2p chat app using IPFS\n* [hyperdrive](https://github.com/mafintosh/hyperdrive): A file sharing network based on rabin file chunking and append only feeds of data verified by merkle trees.\n* [webrtc-connect](https://github.com/diasdavid/webrtc-connect): Establish WebRTC Data Channels between browser-node and node-node with a TCP/HTTP/WebSockets \"createServer/attach\" like interface\n* [discovery-network](https://github.com/Raynos/discovery-network): a p2p discovery network\n* [rtc-stream](https://github.com/vmolsa/rtc-stream): Webrtc using regular node streams\n* [viraljs](https://github.com/PixelsCommander/ViralJS): p2p distribution of apps\n* [wrtc-ice-cand-parse](https://github.com/alykoshin/wrtc-ice-cand-parse): WRTC Ice Candidate parse\n* [deejay](https://github.com/mafintosh/deejay): Music player that broadcasts to everyone on the same network\n* [osm-p2p-db](https://github.com/substack/osm-p2p-db): p2p database for open street map data\n* [dns-discovery](https://github.com/mafintosh/dns-discovery): Discovery peers in a distributed system using regular dns and multicast dns.\n* [k-rpc-socket](https://github.com/mafintosh/k-rpc-socket): Low level implementation of the k-rpc network layer that the BitTorrent DHT uses\n* [ucat](https://github.com/diasdavid/js-ucat): ucat(uTP cat) implementation in JavaScript to be used with Node.js\n* [k-rpc](https://github.com/mafintosh/k-rpc): Low-level implementation of the k-rpc protocol used the BitTorrent DHT.\n* [osm-p2p-server](https://github.com/substack/osm-p2p-server): serve open street map 0.6 api endpoints over a local p2p http server\n* [secure-webrtc-swarm](https://github.com/peermusic/secure-webrtc-swarm): `webrtc-swarm` with whitelisting and encryption.\n* [node-ice](https://github.com/nickdesaulniers/node-ice): Interactive Connectivity Establishment (ICE) (RFC 5245) for Node.js\n* [node-rtc-peer-connection](https://github.com/nickdesaulniers/node-rtc-peer-connection): RTCPeerConnection for Node.js\n* [ipfs-merkle-dag](https://github.com/vijayee/js-ipfs-merkle-dag): IPFS Merkle DAG JavaScript Implementation\n* [ipfs-blocks](https://github.com/ipfs/js-ipfs-blocks): JavaScript Implementation of Block and BlockService\n* [electron-webrtc](https://github.com/mappum/electron-webrtc): Use WebRTC in Node.js via a hidden Electron process\n* [peerweb.js](https://github.com/retrohacker/peerweb.js): A client side library for fetching and rendering a static website from a torrent\n* [webcoin](https://github.com/mappum/webcoin): SPV Bitcoin client for Node.js and the browser\n* [swarmlog](https://github.com/substack/swarmlog): create a p2p webrtc swarm around a hyperlog\n* [discovery-swarm](https://github.com/mafintosh/discovery-swarm): A network swarm that uses discovery-channel to find peers\n* [discovery-server](https://github.com/mafintosh/discovery-server): A tcp/utp server that auto announces itself using discovery-channel\n* [ipfs-hyperlog](https://github.com/noffle/ipfs-hyperlog): IPFS Merkle DAG that replicates based on scuttlebutt logs and causal linking.\n* [karma-peer](https://github.com/dignifiedquire/karma-peer): Test p2p apps in multiple browsers with karma\n* [nuTorrent](https://github.com/LeeChSien/nuTorrent): A Pure Javascript BitTorrent Client\n* [hyperlog-seed](https://github.com/substack/hyperlog-seed): seed content hashes embedded in a hyperlog\n* [peer-tweet](https://github.com/lmatteis/peer-tweet): Decentralized feeds using BitTorrent's DHT.\n* [torrent-worker](https://github.com/jaruba/torrent-worker): Streaming torrent client in a web worker for Node.js\n* [hyperlog-webtorrent-seed](https://github.com/substack/hyperlog-webtorrent-seed): seed webtorrent magnet links from a hyperlog\n* [swarmbot-webtorrent](https://github.com/substack/swarmbot-webtorrent): webtorrent seeding plugin for swarmbot\n* [peer-exchange](https://github.com/mappum/peer-exchange): Decentralized peer discovery and signaling\n* [kad](https://github.com/kadtools/kad): extensible implementation of the kademlia distributed hash table for node.js and the browser\n* [kad-webrtc](https://github.com/kadtools/kad-webrtc): WebRTC transport for kad Kademlia implementation\n* [freeice](https://github.com/DamonOehlman/freeice): Get free, randomized STUN and TURN servers for your WebRTC application\n* [web-to-dat](https://github.com/joehand/web-to-dat): Clone a website and share with dat\n* [webtorrent-cli](https://github.com/feross/webtorrent-cli): WebTorrent, the streaming torrent client. For the command line.\n* [ipfs-data-importing](https://github.com/ipfs/js-ipfs-data-importing): JavaScript implementation of the layout and chunking mechanisms used by IPFS\n* [chatwizard](https://github.com/substack/chatwizard): p2p webrtc chatroom client\n* [js-gossip-cyclon](https://github.com/nicola/js-gossip-cyclon): Cyclon Gossip: (P2P membership management) in Javascript\n* [CheckWebPeer](https://github.com/BubuAnabelas/CheckWebPeer): Check WebRTC peers of torrents.\n* [hyperdrive-archive-stream](https://github.com/karissa/hyperdrive-archive-swarm): Join the p2p swarm for a given hyperdrive archive.\n* [hyperirc](https://github.com/mafintosh/hyperirc): Read IRC through hypercore\n* [spellcast](https://github.com/substack/spellcast): p2p live streaming in the browser\n* [orbit](https://github.com/haadcode/orbit): Distributed peer-to-peer chat application on IPFS\n* [orbit-db](https://github.com/haadcode/orbit-db): Distributed peer-to-peer database on IPFS\n* [peer-network](https://github.com/mafintosh/peer-network): Create servers/clients that listen on names instead of ports and hostnames and are accessible over the internet\n* [resilient-swarm](https://github.com/mikeal/resilient-swarm): An efficient, secure, and reliable WebRTC swarm.\n* [hyperdht](https://github.com/mafintosh/hyperdht): dht based on kademlia, with a focus on extensibility + modularity\n* [hypercore-dag](https://github.com/emilbayes/hypercore-dag): DAGs on top of hypercore, allowing verified random-access to graph nodes\n* [hypercore-archiver](https://github.com/mafintosh/hypercore-archiver): A hypercore peer that will backup multiple hypercores/hyperdrives efficiently to disk.\n* [hyperarchiver](https://github.com/joehand/hyperarchiver): Host, backup, and share hyperdrive archives\n* [hyperpipe](https://github.com/mafintosh/hyperpipe): Distributed input/output pipe.\n* [hypername](https://github.com/mafintosh/hypername): Distributed name server\n* [hyperreduce](https://github.com/yoshuawuyts/hyperreduce): Distributed reduce on top of hypercore\n* [hyperfilter](https://github.com/mafintosh/hyperfilter): Distributed map and filter\n* [normcore](https://github.com/yoshuawuyts/normcore): No-config distributed streams using hypercore\n* [hyperfeed](https://github.com/poga/hyperfeed): p2p rss publishing\n* [hyperdiscovery](https://github.com/karissa/hyperdiscovery): Join the swarm for a given hypercore or hyperdrive feed.\n* [dht-rpc](https://github.com/mafintosh/dht-rpc): Make RPC calls over a Kademlia based DHT.\n* [hyperdrive-multiwriter](https://github.com/substack/hyperdrive-multiwriter): present a bundle of hyperdrive archives together as a multi-writer view\n* [hyperhealth](https://github.com/karissa/hyperhealth): Monitor the health of a hyperdrive or dat, including peer count and peer mirror percentages.\n* [assassin](https://github.com/genderev/assassin): Store key-value pairs in a decentralized NoSQL database built with `hyperdrive`.\n* [hyperlapse](https://github.com/yoshuawuyts/hyperlapse): Distributed process manager\n* [voter](https://github.com/mmalecki/voter): Distributed voting based on Scuttlebutt\n* [hyper-string](https://github.com/noffle/hyper-string): p2p conflict-free string primitive\n* [hyperhost](https://github.com/RationalCoding/HyperHost): P2P Node Servers in the Browser\n* [hypertweet](https://github.com/joehand/hypertweet): concept tweet -\u003e hypercore thingy\n* [nile.js](https://github.com/gitsummore/nile.js): Scalable peer to peer live video streaming built on torrents and webRTC\n* [chatmesh](https://github.com/substack/chatmesh): p2p chat using hyperdb\n* [SIP.js](https://github.com/onsip/SIP.js): A simple, intuitive, and powerful JavaScript signaling library\n* [noise-network](https://github.com/mafintosh/noise-network): Authenticated P2P network backed by HyperSwarm and NOISE\n\n\n## Libraries\n\n* [libwebrtc](https://github.com/js-platform/libwebrtc): companion to [wrtc](https://github.com/js-platform/node-webrtc)\n* [p2p](https://github.com/js-platform/p2p): browser JS library\n* [SimpleWebRTC](https://github.com/andyet/SimpleWebRTC): browser JS library\n* [signalmaster](https://github.com/andyet/signalmaster): signaling server for [SimpleWebRTC](https://github.com/HenrikJoreteg/SimpleWebRTC)\n* [rfc5766-turn-server](https://github.com/coturn/rfc5766-turn-server/)\n* [coturn](https://github.com/coturn/coturn): next evolution of the rfc5766-turn-server project\n* [peerjs](https://github.com/peers/peerjs): simple peer-to-peer with WebRTC\n* [go-peerstream](https://github.com/jbenet/go-peerstream): P2P multi-multiplexing in Go\n* [ipfs](https://github.com/ipfs/ipfs): distributed file system\n* [ipfs specs](https://github.com/ipfs/specs): specs for IPFS\n* [ipget](https://github.com/noffle/ipget): wget for IPFS\n* [btfs](https://github.com/johang/btfs): bittorrent filesystem based on FUSE (C++)\n* [swarmbot](https://github.com/substack/swarmbot): mirroring for a p2p mesh of swarmlogs\n* [p2p-graph](https://github.com/feross/p2p-graph): Real-time P2P network visualization with D3\n* [planktos](https://github.com/xuset/planktos): Serving websites over bittorrent\n* [dat](https://github.com/datproject/dat): Sync data across the distributed web\n* [Netflux](https://github.com/coast-team/netflux): full mesh network of clients and/or servers.\n* [libdatachannel](https://github.com/paullouisageneau/libdatachannel): WebRTC DataChannels standalone implementation (C++)\n\n\n\n## Apps\n\n* [whiteboard](https://github.com/feross/whiteboard)\n* [friends](https://github.com/moose-team/friends): P2P chat\n* [openbazaar](https://openbazaar.org/): decentralized marketplace: [reputation](https://blog.openbazaar.org/decentralized-reputation-part-2/)\n* [ipfsbin](https://github.com/VictorBjelkholm/ipfsbin): Run IPFS snippets\n* [patchwork](https://github.com/ssbc/patchwork): p2p secure messaging\n* [webtorrent-app](https://github.com/feross/webtorrent-app): WebTorrent, the streaming torrent client. For OS X, Windows, and Linux.\n* [snapdrop](https://github.com/RobinLinus/snapdrop): A HTML5 clone of Apple's AirDrop\n* [peerweb](https://github.com/retrohacker/peerweb): PeerWeb browser\n* [beaker](https://github.com/pfraze/beaker): Decentralization tech in a browser built with electron.\n* [PeerFast](https://github.com/DiegoRBaquero/PeerFast): https://github.com/DiegoRBaquero/PeerFast\n* [ferment](https://github.com/mmckegg/ferment): Peer-to-peer audio sharing and streaming application. Like SoundCloud but decentralized. A mashup of ssb, webtorrent and electron.\n* [roll-call](https://github.com/mikeal/roll-call): Free and reliable audio calls for everyone w/ browser p2p.\n* [cache-p2p](https://github.com/guerrerocarlos/CacheP2P): CacheP2P is a highly distributed cache platform based on WebTorrent and runs only in the browser.\n* [dropub](https://github.com/mikeal/dropub): P2P publishing for everyone. Dropbox meets BitTorrent.\n* [norcal](https://github.com/substack/norcal): P2P calendaring\n* [hyperpad](https://github.com/noffle/hyperpad): P2P collaborative text editor\n\n\n\n## Experiments\n\n* [torrent-log](https://github.com/substack/torrent-log): message feed over bittorrent\n* [GitTorrent](https://github.com/cjb/GitTorrent): A decentralization of Github using BitTorrent and Bitcoin\n* [webrtc-ips](https://github.com/diafygi/webrtc-ips): Stun IP address requests for WebRTC\n* [web2web](https://github.com/elendirx/web2web): P2P web powered by torrents and blockchain.\n\n\n## Workshops\n\n* [chat-room-server-and-p2p](https://github.com/substack/chat-room-server-and-p2p): workshop example creating a websocket chat room replaced with p2p version using webrtc\n* [p2p-file-sharing-workshop](https://github.com/mafintosh/p2p-file-sharing-workshop): Learn about distributed file sharing through a series of fun and exciting exercises.\n\n\n\n## Companies\n\n* [Greta](https://greta.io)\n* [peer5](https://www.peer5.com/)\n* [hive streaming](http://www.hivestreaming.com/)\n* [Streamroot](https://streamroot.io/)\n\n\n\n## Resources\n\n* [bittorrent spec](http://www.bittorrent.org/beps/bep_0005.html): BitTorrent specification\n* [magnet URI scheme](https://en.wikipedia.org/wiki/Magnet_URI_scheme)\n* [WebRTC infrastructure](http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/)\n* [Getting Started](http://www.html5rocks.com/en/tutorials/webrtc/basics/)\n* [rtc.io](https://rtc.io/modules.html)\n* [webtorrent.io](https://webtorrent.io/): webtorrents for NodeJS and the browser\n* [chord](https://pdos.csail.mit.edu/papers/chord:sigcomm01/chord_sigcomm.pdf)\n* [webrtc-ring](http://blog.daviddias.me/2014/12/20/webrtc-ring): resource discovery\n* [P2P design](https://www.youtube.com/watch?v=_3eBT46vkaI): Dominic Tarr on P2P design issues\n* [webgc](https://hal.inria.fr/hal-01080032/document): gossiping\n* [topology](https://github.com/Raynos/topology): different network topologies\n* [gossip](http://www.cs.cornell.edu/home/rvr/papers/flowgossip.pdf)\n* [membership management](http://pages.saclay.inria.fr/laurent.massoulie/ieee_tocs.pdf)\n* [ipfs](https://github.com/ipfs/papers/raw/master/ipfs-cap2pfs/ipfs-p2p-file-system.pdf)\n* [dynamic search](http://www.sciencedirect.com/science/article/pii/S0743731510001735)\n* [p2pweb](https://github.com/mildred/p2pweb): Create a web where web pages are published/shared in a P2P fashion\n* [bitweb](https://github.com/mildred/bitweb): websites sharing using bittorrent\n- [p2p handbook](https://github.com/noffle/p2p-handbook): introductory handbook on p2p tech \u0026 javascript\n\n\n\n## Other\n\n* [fill-disk](http://feross.org/fill-disk/)\n* [brickhouse](https://github.com/ssbc/brickhouse): security focused desktop applications\n* [bigchaindb](https://github.com/bigchaindb/bigchaindb): A scalable blockchain database\n\n\n## People\n\n* [mafintosh](https://github.com/mafintosh?tab=repositories)\n* [feross](https://github.com/feross?tab=repositories)\n* [substack](https://github.com/substack?tab=repositories)\n* [dominictarr](https://github.com/dominictarr?tab=repositories)\n* [maxogden](https://github.com/maxogden)\n* [jbenet](https://github.com/jbenet)\n* [diasdavid](https://github.com/diasdavid)\n* [pfraze](https://github.com/pfraze)\n* [perguth](https://github.com/perguth)\n* [nickdesaulniers](https://github.com/nickdesaulniers)\n* [noffle](https://github.com/noffle)\n\n\n---\n\n## License\n\n[CC0](http://creativecommons.org/publicdomain/zero/1.0/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkgryte%2Fawesome-peer-to-peer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkgryte%2Fawesome-peer-to-peer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkgryte%2Fawesome-peer-to-peer/lists"}