Skip to content

A curated list of awesome peer-to-peer applications, libraries, and learning resources

License

Notifications You must be signed in to change notification settings

hexlab/awesome-peer-to-peer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

Protocols

BitTorrent

BitTorrent (BT) is the leader of peer-to-peer file sharing protocols.

Specification

The BitTorrent Protocol Specification

Bencode

Bencoding - encoding for storing and transmitting loosely structured data used in BitTorent.

Implementations:

  • Python 2: bittorrent/bencode - implemention from the 'official' BitTorrent client.
  • Python 3: hexlab/bencode - Bencode is the encoding used by the p2p file sharing system BitTorrent.
  • Rust: P3KI/bendy - library for encoding/decoding bencode with enforced cannonicalization rules.
  • Go: zeebo/bencode - Go bencode marshal/unmarshal library.
  • JavaScript/Node: themasch/node-bencode - bencode de/encoder for nodejs.
  • Ruby: dasch/ruby-bencode - Ruby bindings for the bencode data serialization format.
BitTorrent clients
BitTorrent trackers

IPFS

InterPlanetary File System (IPFS) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system.

  • IPFS: ipfs/ipfs - A peer-to-peer hypermedia protocol to make the web faster, safer, and more open.
  • go-ipfs: ipfs/go-ipfs - IPFS implementation in Go.
  • js-ipfs: ipfs/js-ipfs - IPFS implementation in JavaScript.

WebRTC

Web Real-Time Communication (WebRTC) is protocol that provides web browsers and mobile applications with real-time communication (RTC).

Messengers

Tox

  • Tox: irungentoo/toxcore - the future of online communications.
  • tox-rs: tox-rs/tox - toxcore implementation in Rust
  • qTox: qTox/qTox - qTox is a chat, voice, video, and file transfer IM client (C++/Qt).
  • uTox: uTox/uTox/ - µTox the lightest and fluffiest Tox client (C/GTK).
  • toxic: Jfreegman/toxic - an ncurses-based Tox client.
  • Antox: Antox/Antox - Android client for Project Tox - Secure Peer to Peer Messaging.

File Synchronization

  • Syncthing: syncthing/syncthing - open source continuous file synchronization (Go).
  • rsync: rsync - rsync is an open source utility that provides fast incremental file transfer (C).
  • Rclone: rclone/rclone - rsync for cloud storage (Go).

Cryptocurrencies

Bitcoin

Tutorials and books

Ethereum

About

A curated list of awesome peer-to-peer applications, libraries, and learning resources

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published