Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ahdinosaur/awesome-peer-to-peer
A list of peer-to-peer resources.
https://github.com/ahdinosaur/awesome-peer-to-peer
List: awesome-peer-to-peer
Last synced: 3 months ago
JSON representation
A list of peer-to-peer resources.
- Host: GitHub
- URL: https://github.com/ahdinosaur/awesome-peer-to-peer
- Owner: ahdinosaur
- Archived: true
- Fork: true (kgryte/awesome-peer-to-peer)
- Created: 2015-12-13T10:46:04.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-13T10:48:05.000Z (about 9 years ago)
- Last Synced: 2024-05-22T18:07:16.046Z (8 months ago)
- Size: 17.6 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - ahdinosaur/awesome-peer-to-peer - A list of peer-to-peer resources. (others)
README
Peer-to-Peer
===
> A list of peer-to-peer resources.## Modules
* [easyRTC](https://github.com/priologic/easyrtc)
* [wrtc](https://github.com/js-platform/node-webrtc): native module for NodeJS
* [rtc](https://github.com/rtc-io/rtc): WebRTC suite
* [rtc-dcstream](https://github.com/rtc-io/rtc-dcstream): streams2 layer for WebRTC data channels
* [rtc-signaller](https://github.com/rtc-io/rtc-signaller): transport agnostic signalling for WebRTC
* [rtc-quickconnect](https://github.com/rtc-io/rtc-quickconnect): high-level wrapper for creating WebRTC apps
* [rtc-switch](https://github.com/rtc-io/rtc-switch): core logic for [rtc-switchboard](https://github.com/rtc-io/rtc-switchboard)
* [rtc-switchboard](https://github.com/rtc-io/rtc-switchboard): server side in-memory signaller
* [rtc-signal](https://github.com/rtc-io/rtc-signal): core logic for client side signaling
* [rtc-mesh](https://github.com/rtc-io/rtc-mesh): create a P2P mesh data structure using data channels
* [rtc-core](https://github.com/rtc-io/rtc-core): core definitions and functions for rtc
* [webtorrent](https://github.com/feross/webtorrent): streaming torrent client for node and the browser
* [peer-wire-swarm](https://github.com/mafintosh/peer-wire-swarm): swarm implementation for bittorrent
* [bittorrent-swarm](https://github.com/feross/bittorrent-swarm): bittorrent swarm implementation
* [bittorrent-dht](https://github.com/feross/bittorrent-dht): BitTorrent DHT implementation
* [parse-torrent](https://github.com/feross/parse-torrent): parse a torrent identifier
* [simple-peer](https://github.com/feross/simple-peer): Simple WebRTC video/voice and data channels
* [torrent-discovery](https://github.com/feross/torrent-discovery): Discover BitTorrent and WebTorrent peers
* [bittorrent-tracker](https://github.com/feross/bittorrent-tracker): BitTorrent tracker for client and server
* [create-torrent](https://github.com/feross/create-torrent): Create torrent files
* [parse-torrent-file](https://github.com/feross/parse-torrent-file): Parse a torrent file
* [bittorrent-protocol](https://github.com/feross/bittorrent-protocol): BitTorrent peer wire protocol
* [torrent](https://github.com/maxogden/torrent): download torrents with NodeJS from the CLI
* [magnet-uri](https://github.com/feross/magnet-uri): parse a magnet URI
* [webtorrent-chrome](https://github.com/feross/webtorrent-chrome): BitTorrent client as a Chrome App
* [peer-wire-protocol](https://github.com/mafintosh/peer-wire-protocol): peer wire protocol used in torrents for NodeJS
* [socket.io-p2p](https://github.com/socketio/socket.io-p2p): signalling server and client library
* [node-torrent](https://github.com/fent/node-torrent): torrent reader, write, and hash checker
* [torrent-piece](https://github.com/feross/torrent-piece): torrent piece abstraction
* [torrent-stream](https://github.com/mafintosh/torrent-stream): streaming torrent engine used by peerflix
* [torrent-mount](https://github.com/mafintosh/torrent-mount): Mount a torrent or magnet link as a filesystem
* [peerflix](https://github.com/mafintosh/peerflix): streaming torrent client for NodeJS
* [friends-swarm](https://github.com/moose-team/friends-swarm): a WebRTC swarm
* [peerbot](https://github.com/moose-team/peerbot): message seeding utility for friends
* [webrtc-swarm](https://github.com/mafintosh/webrtc-swarm): create a swarm of P2P connections using WebRTC and a signalhub
* [signalhub](https://github.com/mafintosh/signalhub): simple signalling server
* [peervision](https://github.com/mafintosh/peervision): live P2P streaming protocol
* [airswarm](https://github.com/mafintosh/airswarm): network swarm that discovers other peers on the network using multicast DNS
* [webcat](https://github.com/mafintosh/webcat): P2P pipe using WebRTC, Github keys for auth, and signalhub for discovery
* [torrent-blob-store](https://github.com/mafintosh/torrent-blob-store): read-only BitTorrent backed streaming blob store
* [hyperlog](https://github.com/mafintosh/hyperlog): Merkle DAG that replicates based on scuttlebutt logs and causal linking
* [ble-swarm](https://github.com/mafintosh/ble-swarm): swarm over bluetooth low energy
* [multicast-dns](https://github.com/mafintosh/multicast-dns): multicast-dns in JS
* [screencat](https://github.com/maxogden/screencat): WebRTC screensharing
* [torrent-docker](https://github.com/mafintosh/torrent-docker): realtime boot of remote docker images using bittorrent
* [airpaste](https://github.com/mafintosh/airpaste): Network pipe that auto-discovers other peers using mdns
* [polo](https://github.com/mafintosh/polo): zero configuration service discovery
* [read-torrent](https://github.com/mafintosh/read-torrent): read and parse a torrent from a resource
* [magnet-link](https://github.com/ngoldman/magnet-link): get a magnet link from a torrent file
* [peervisionary](https://github.com/mafintosh/peervisionary): CLI combining airswarm and peervision
* [serverless-webrtc](https://github.com/cjb/serverless-webrtc): serverless WebRTC
* [peer](https://github.com/peers/peerjs-server): peerjs server
* [scuttlebutt](https://github.com/dominictarr/scuttlebutt): real-time replication
* [secure-scuttlebutt](https://github.com/ssbc/secure-scuttlebutt): secure database with replication
* [scuttlebucket](https://github.com/dominictarr/scuttlebucket): nested scuttlebutts
* [scuttleboat](https://github.com/kumavis/scuttleboat): dynamic scuttlebucket
* [rtc-SCAMP](https://github.com/chat-wane/rtc-SCAMP): scalable membership protocol
* [rtc-SCAMP-mbr](https://github.com/Chat-Wane/rtc-SCAMP-mbr): scalable membership protocol
* [network](https://github.com/justayak/network): arbitrary network implementations between clients
* [BoundedBroadcastDefinition](https://github.com/Chat-Wane/BoundedBroadcastDefinition): broadcasting component on top of communication overlay
* [discover](https://github.com/tristanls/discover): distributed master-less node discovery
* [k-bucket](https://github.com/tristanls/k-bucket): DHT k-bucket implementation
* [gossipmonger](https://github.com/tristanls/gossipmonger): real-time replication with scuttlebutt
* [kadoh](https://github.com/jinroh/kadoh): kademlia over HTTP
* [kademlia-dht](https://github.com/jeanlauliac/kademlia-dht): DHT
* [kademlia](https://github.com/nikhilm/kademlia): kademlia
* [dhtkv](https://github.com/maxogden/dhtkv): cli for bittorrent storing values in mainline torrent DHT
* [abstract-peer-routing](https://github.com/diasdavid/abstract-peer-routing): a test suite for implementing peer routing in libp2p
* [abstract-record-store](https://github.com/diasdavid/abstract-record-store): a test suite to implement in IPFS record store
* [libp2p-swarm](https://github.com/diasdavid/node-libp2p-swarm): IPFS swarm implementation
* [libp2p-kad-routing](https://github.com/diasdavid/node-libp2p-kad-routing): IPFS Kademlia routing
* [libp2p-kad-record-store](https://github.com/diasdavid/node-libp2p-kad-record-store): IPFS Kademlia record store
* [libp2p-distributed-record-store](https://github.com/diasdavid/node-libp2p-distributed-record-store): IPFS distributed record store
* [libp2p-record](https://github.com/diasdavid/node-libp2p-record): IPFS record object
* [libp2p-railing](https://github.com/diasdavid/node-libp2p-railing): railing of a Node through a bootstrap peer list
* [libp2p-random-walk](https://github.com/diasdavid/node-libp2p-random-walk): peer discovery via a DHT random walk
* [libp2p-mdns-discovery](https://github.com/diasdavid/node-libp2p-mdns-discovery): peer discovery via mDNS
* [libp2p-utp](https://github.com/diasdavid/node-libp2p-utp): node uTP implementation
* [libp2p-spdy](https://github.com/diasdavid/node-libp2p-spdy): multistream into Stream Multiplexing
* [libp2p-udt](https://github.com/diasdavid/node-libp2p-udt): node UDT implementation
* [libp2p-udp](https://github.com/diasdavid/node-libp2p-udp): node UDP implementation
* [libp2p-tcp](https://github.com/diasdavid/node-libp2p-tcp): TCP implementation of abstract transport interface
* [peer-info](https://github.com/diasdavid/node-peer-info): IPFS peer abstraction
* [peer-id](https://github.com/diasdavid/node-peer-id): IPFS peer id
* [muxrpc](https://github.com/ssbc/muxrpc): multiplexed rpc
* [secret-stack](https://github.com/ssbc/secret-stack): connect peers using secret handshakes
* [ssb-feed](https://github.com/ssbc/ssb-feed): secure scuttlebutt feed
* [mdns](https://github.com/agnat/node_mdns): discover services on your local network
* [append-only-torrent](https://github.com/substack/append-only-torrent): create a sequence of torrent files for growing input
* [fully-connected-topology](https://github.com/sorribas/fully-connected-topology): create a fully connected topology (mesh)
* [blockcast](https://github.com/blockai/blockcast): protocol for storing data in bitcoin blockchains
* [hive.js](https://github.com/Peerialism/hive.js): browser-to-browser distributed cache for video using WebRTC
* [ipscend](https://github.com/diasdavid/ipscend): deploy and host web apps on IPFS
* [babel-routing-protocol](https://github.com/substack/babel-routing-protocol): routing over p2p mesh
* [webdht](https://github.com/jhiesey/webdht)
* [butter](https://github.com/butterproject/butter): free parts of popcorn time
* [merkle-patricia-tree](https://github.com/wanderer/merkle-patricia-tree): as documented by Ethereum
* [rtc-data-stream](https://github.com/kumavis/rtc-data-stream): convert a WebRTC data channel into a stream
* [peermesh](https://github.com/pguth/peermesh): p2p file transfer using WebRTC
* [peertransfer](https://github.com/pguth/peertransfer): sends files p2p securely in the browser
* [merkle-stream](https://github.com/mafintosh/merkle-tree-stream): generate a merkle tree from streamed data
* [discovery-channel](https://github.com/maxogden/discovery-channel): search for a key across multiple discovery networks
* [anonymous-networks](https://github.com/haadcode/anonymous-networks): distributed, p2p chat app using IPFS
* [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.
* [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
* [discovery-network](https://github.com/Raynos/discovery-network): a p2p discovery network
* [rtc-stream](https://github.com/vmolsa/rtc-stream): Webrtc using regular node streams
* [viraljs](https://github.com/PixelsCommander/ViralJS): p2p distribution of apps## Libraries
* [libwebrtc](https://github.com/js-platform/libwebrtc): companion to [wrtc](https://github.com/js-platform/node-webrtc)
* [p2p](https://github.com/js-platform/p2p): browser JS library
* [SimpleWebRTC](https://github.com/HenrikJoreteg/SimpleWebRTC): browser JS library
* [signalmaster](https://github.com/andyet/signalmaster): signaling server for [SimpleWebRTC](https://github.com/HenrikJoreteg/SimpleWebRTC)
* [rfc5766-turn-server](https://github.com/coturn/rfc5766-turn-server/)
* [coturn](https://github.com/coturn/coturn): next evolution of the rfc5766-turn-server project
* [peerjs](https://github.com/peers/peerjs): simple peer-to-peer with WebRTC
* [go-peerstream](https://github.com/jbenet/go-peerstream): P2P multi-multiplexing in Go
* [ipfs](https://github.com/ipfs/ipfs): distributed file system
* [ipfs specs](https://github.com/ipfs/specs): specs for IPFS
* [ipget](https://github.com/noffle/ipget): wget for IPFS## Apps
* [whiteboard](https://github.com/feross/whiteboard)
* [friends](https://github.com/moose-team/friends): P2P chat
* [openbazaar](https://openbazaar.org/): decentralized marketplace: [reputation](https://blog.openbazaar.org/decentralized-reputation-part-2/)
* [ipfsbin](https://github.com/VictorBjelkholm/ipfsbin): Run IPFS snippets## Experiments
* [torrent-log](https://github.com/substack/torrent-log): message feed over bittorrent
* [GitTorrent](https://github.com/cjb/GitTorrent): A decentralization of Github using BitTorrent and Bitcoin## Companies
* [peer5](https://www.peer5.com/)
* [hive streaming](http://www.hivestreaming.com/)## Resources
* [bittorrent spec](http://www.bittorrent.org/beps/bep_0005.html): BitTorrent specification
* [magnet URI scheme](https://en.wikipedia.org/wiki/Magnet_URI_scheme)
* [WebRTC infrastructure](http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/)
* [Getting Started](http://www.html5rocks.com/en/tutorials/webrtc/basics/)
* [rtc.io](https://rtc.io/modules.html)
* [webtorrent.io](https://webtorrent.io/): webtorrents for NodeJS and the browser
* [chord](https://pdos.csail.mit.edu/papers/chord:sigcomm01/chord_sigcomm.pdf)
* [webrtc-ring](http://blog.daviddias.me/2014/12/20/webrtc-ring): resource discovery
* [P2P design](https://www.youtube.com/watch?v=_3eBT46vkaI): Dominic Tarr on P2P design issues
* [webgc](https://hal.inria.fr/hal-01080032/document): gossiping
* [topology](https://github.com/Raynos/topology): different network topologies
* [gossip](http://www.cs.cornell.edu/home/rvr/papers/flowgossip.pdf)
* [membership management](http://pages.saclay.inria.fr/laurent.massoulie/ieee_tocs.pdf)
* [ipfs](https://github.com/ipfs/papers/raw/master/ipfs-cap2pfs/ipfs-p2p-file-system.pdf)
* [dynamic search](http://www.sciencedirect.com/science/article/pii/S0743731510001735)
* [p2pweb](https://github.com/mildred/p2pweb): Create a web where web pages are published/shared in a P2P fashion
* [bitweb](https://github.com/mildred/bitweb): websites sharing using bittorrent## Other
* [fill-disk](http://feross.org/fill-disk/)
* [brickhouse](https://github.com/ssbc/brickhouse): security focused desktop applications## People
* [mafintosh](https://github.com/mafintosh?tab=repositories)
* [feross](https://github.com/feross?tab=repositories)
* [substack](https://github.com/substack?tab=repositories)
* [dominictarr](https://github.com/dominictarr?tab=repositories)
* [maxogden](https://github.com/maxogden)
* [jbenet](https://github.com/jbenet)
* [diasdavid](https://github.com/diasdavid)
* [pfraze](https://github.com/pfraze)
* [pgauth](https://github.com/pguth)---
## License[MIT license](http://opensource.org/licenses/MIT).