BitTorrent (BT) is the leader of peer-to-peer file sharing protocols.
The BitTorrent Protocol Specification
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.
- qBittorrent qbittorrent/qBittorrent - qBittorrent BitTorrent client (C++/Qt).
- Deluge: deluge-torrent/deluge - Deluge is a BitTorrent client that utilizes a daemon/client model (Python).
- WebTorrent: webtorrent/webtorrent - Streaming torrent client for the web (JavaScript).
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.
Web Real-Time Communication (WebRTC) is protocol that provides web browsers and mobile applications with real-time communication (RTC).
- 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.
- 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).
- Bitcoin: bitcoin/bitcoin - Bitcoin Core integration/staging tree.
- BitcoinJS: bitcoinjs/bitcoinjs-lib - a javascript Bitcoin library for node.js and browsers.
- Mastering Bitcoin 2nd Edition - Programming the Open Blockchain: bitcoinbook/bitcoinbook
- Go Ethereum: ethereum/go-ethereum - official Golang implementation of the Ethereum protocol.
- Parity Ethereum: paritytech/parity-ethereum - the fast, light, and robust EVM and WASM client.