awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

P2P network protocols

Ranking updated Jun 30, 2026

For an open source library for p2p networking, the first results are n0-computer/iroh (Iroh is a comprehensive peer-to-peer networking stack that provides the requested primitives, including NAT traversal, content addressing, gossip-based protocols, and decentralized identity management, making it a direct fit for building distributed systems), irungentoo/toxcore (Toxcore is a comprehensive peer-to-peer networking library that provides the core infrastructure for decentralized communication, including distributed hash tables, NAT traversal, and public-key identity systems) and ipfs/go-ipfs (This is a comprehensive implementation of a peer-to-peer networking stack that provides content addressing, distributed hash tables, and gossip protocols, serving as a foundational tool for building decentralized applications). libp2p/libp2p and libp2p/rust-libp2p round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Explore the best P2P network protocols. We ranked top open-source libraries by activity and features to help you compare and pick the right one.

P2P network protocols

Find the best repos with AI.We'll search the best matching repositories with AI.
  • n0-computer/irohn0-computer avatar

    n0-computer/iroh

    7,858View on GitHub↗

    Iroh is a peer-to-peer networking stack and distributed system designed for secure direct connections, content-addressed storage, and synchronized data sharing. It provides a foundation for decentralized applications by combining a QUIC-based networking layer with primitives for distributed state and data transfer. The project distinguishes itself through a comprehensive suite of decentralized capabilities, including a distributed data store using conflict-free replicated data types for collaborative synchronization and a content-addressed storage system for verifiable, resumable transfers of

    Iroh is a comprehensive peer-to-peer networking stack that provides the requested primitives, including NAT traversal, content addressing, gossip-based protocols, and decentralized identity management, making it a direct fit for building distributed systems.

    RustContent-Addressable StorageContent-Addressable TransfersGossip Protocols
    View on GitHub↗7,858
  • irungentoo/toxcoreI

    irungentoo/toxcore

    8,751View on GitHub↗

    Toxcore is a peer-to-peer networking library that implements a decentralized communication protocol for secure messaging and media calls without the use of central servers. It provides a core engine for establishing direct encrypted connections between devices using a public-key identity system where unique identifiers serve as both addresses and authentication keys. The project features a decentralized network architecture that utilizes a distributed hash table for peer discovery and Kademlia-based routing to locate participants. To maintain connectivity across restrictive network environmen

    Toxcore is a comprehensive peer-to-peer networking library that provides the core infrastructure for decentralized communication, including distributed hash tables, NAT traversal, and public-key identity systems.

    CDistributed Hash TablesNAT TraversalKademlia Routing
    View on GitHub↗8,751
  • ipfs/go-ipfsipfs avatar

    ipfs/go-ipfs

    17,059View on GitHub↗

    go-ipfs is an implementation of an IPFS node, providing a distributed filesystem and a content-addressable storage system. It enables the storage and retrieval of data based on unique cryptographic hashes rather than fixed network locations, allowing files to be shared across a peer-to-peer network without a central authority. The system utilizes a distributed hash table and a peer-to-peer gossip protocol to route requests and propagate network state and metadata. It organizes data using a Merkle DAG structure to support efficient deduplication and versioning of content. Capabilities include

    This is a comprehensive implementation of a peer-to-peer networking stack that provides content addressing, distributed hash tables, and gossip protocols, serving as a foundational tool for building decentralized applications.

    GoContent-Addressable StorageDistributed Hash TablesGossip Protocols
    View on GitHub↗17,059
  • libp2p/libp2plibp2p avatar

    libp2p/libp2p

    2,940View on GitHub↗

    libp2p is a modular peer-to-peer networking stack designed for building decentralized applications. It provides the core infrastructure necessary for nodes to discover and connect with other participants across a network without relying on central servers. The project distinguishes itself through a flexible transport layer that abstracts multiple protocols, including TCP, QUIC, WebSockets, and WebTransport, into a single interface. It features specialized tools for NAT and firewall traversal, such as hole punching and relay nodes, to establish direct connections between peers and web browsers

    This is a modular, transport-agnostic networking stack that provides the core infrastructure for peer-to-peer communication, including NAT traversal, gossip protocols, and content-addressed routing, making it the industry standard for building decentralized systems.

    Distributed Hash TablesDistributed Hash TablesNAT Traversal
    View on GitHub↗2,940
  • libp2p/rust-libp2plibp2p avatar

    libp2p/rust-libp2p

    5,556View on GitHub↗

    rust-libp2p is a modular peer-to-peer networking library written in Rust, implementing the libp2p specification. It provides a composable stack of transport, security, and discovery protocols that can be mixed and matched to build decentralized applications, with a central swarm manager coordinating all active connections, protocol negotiation, and peer lifecycle. The library distinguishes itself through a pluggable transport abstraction that supports TCP, QUIC, WebSocket, WebRTC, and WebTransport, enabling cross-platform operation across browsers, mobile devices, and servers. It secures ever

    This is a modular, feature-complete networking stack that provides the core primitives for decentralized communication, including DHTs, NAT traversal, gossip protocols, and content addressing, making it the industry standard for building peer-to-peer applications.

    RustNAT Traversal MechanismsDistributed Hash Table DiscoveryMulti-Transport Frameworks
    View on GitHub↗5,556
  • libp2p/go-libp2plibp2p avatar

    libp2p/go-libp2p

    6,830View on GitHub↗

    go-libp2p is a Go implementation of the libp2p modular networking stack, providing a library for building peer-to-peer applications. It functions as a decentralized application framework that separates transport, security, and discovery layers into pluggable modules for cross-platform interoperability. The library establishes peer-to-peer connections through a modular transport abstraction that supports multiple protocols, while using public key cryptography for peer identity and protocol-agnostic security transports for encrypting and authenticating all traffic. It enables distributed peer d

    This is a comprehensive, modular networking stack that provides all the core primitives for peer-to-peer communication, including NAT traversal, content addressing, and decentralized identity management.

    GoNAT Traversal Mechanisms
    View on GitHub↗6,830
  • ipfs/ipfsipfs avatar

    ipfs/ipfs

    23,137View on GitHub↗

    IPFS is a peer-to-peer hypermedia protocol and content-addressed storage system that identifies data by cryptographic hashes rather than network locations. It enables the creation of a decentralized web by organizing files and directories as directed acyclic graphs of linked content identifiers. The project differentiates itself through the use of a distributed hash table for locating peers and a system of signed records to map human-readable names to changing content. It also provides HTTP gateways that translate standard web requests into peer-to-peer queries, allowing decentralized data to

    IPFS is a foundational peer-to-peer protocol that provides content addressing, distributed hash tables, and NAT traversal, serving as a comprehensive framework for building decentralized communication and data exchange systems.

    Content-Addressable StorageDistributed Hash TablesNAT Traversal
    View on GitHub↗23,137
  • orbitdb/orbit-dborbitdb avatar

    orbitdb/orbit-db

    8,791View on GitHub↗

    Orbit DB is a decentralized NoSQL database that utilizes conflict-free replicated data types to ensure eventual consistency across a network of nodes. It functions as a peer-to-peer data store that uses IPFS for content-addressing and synchronization, allowing for the maintenance of application state without a central server or authority. The system is built upon a cryptographically verifiable, immutable operation log, which serves as the foundation for custom decentralized data models. This architecture enables the implementation of various data storage patterns, including JSON document stor

    This is a peer-to-peer database built on IPFS that provides the core networking and synchronization primitives required for decentralized data exchange, though it is specifically a database layer rather than a general-purpose networking library.

    JavaScriptContent-Addressable StorageDistributed Hash TablesGossip Protocols
    View on GitHub↗8,791
  • ipfs/kuboipfs avatar

    ipfs/kubo

    17,056View on GitHub↗

    Kubo is a peer-to-peer implementation of the InterPlanetary File System (IPFS) designed for decentralized data storage and content delivery. It uses content-addressing, directed acyclic graphs, and distributed hash tables to identify, distribute, and retrieve data across a network without relying on central servers. The project differentiates itself by providing a virtual filesystem via FUSE, which maps decentralized network namespaces to local operating system directories for direct file access. It also includes integrated HTTP gateways that translate peer-to-peer content into standard web t

    Kubo is the primary implementation of the IPFS protocol, providing a robust, production-ready peer-to-peer networking stack that natively supports content addressing, distributed hash tables, and NAT traversal for decentralized data exchange.

    GoContent-Addressable StorageContent-Addressable TransfersDistributed Hash Tables
    View on GitHub↗17,056
  • bluesky-social/atprotobluesky-social avatar

    bluesky-social/atproto

    9,474View on GitHub↗

    atproto is a decentralized social networking protocol implementation and a schema-driven API framework. It provides the networking and data standards required to build interoperable social networks where users control their own identity and data through a personal data server specification. The project distinguishes itself through a DID-based identity system for managing cryptographic keys and verifiable profiles, alongside a lexicon-based protocol definition that uses versioned schemas to ensure consistency across network services. It utilizes Merkle Search Trees for verifiable data storage,

    This is a protocol framework designed for decentralized data exchange and identity management, providing the core networking and schema standards needed to build peer-to-peer social applications.

    TypeScriptDecentralized Identity FrameworksDID Key SerializationHandle to DID Translations
    View on GitHub↗9,474
  • aiortc/aiortcaiortc avatar

    aiortc/aiortc

    5,066View on GitHub↗

    aiortc is a Python implementation of the WebRTC protocol, providing an asynchronous stack for real-time audio, video, and data streaming between peers. It functions as a media engine and data channel implementation that manages peer connections through a non-blocking framework. The library enables the establishment of direct peer-to-peer networking by negotiating session descriptions and connectivity paths. It facilitates secure, bidirectional data transmission via data channels and supports low-latency media streaming using standard codecs. The system includes capabilities for network NAT t

    This library provides a robust implementation of the WebRTC protocol, which is a standard for peer-to-peer data and media exchange, though it focuses on direct connection management rather than providing higher-level distributed networking primitives like DHTs or gossip protocols.

    PythonNAT Traversal Mechanisms
    View on GitHub↗5,066
  • cjdelisle/cjdnscjdelisle avatar

    cjdelisle/cjdns

    5,394View on GitHub↗

    CJDNS is a peer-to-peer VPN and cryptographic network overlay that implements an encrypted IPv6 mesh network. It functions as a distributed hash table router, utilizing a non-hierarchical XOR metric to route traffic across nodes without relying on a central authority or registry. The project distinguishes itself by tying network identity to cryptographic ownership, deriving unique IPv6 addresses from public keys. It ensures secure peer connectivity across NAT boundaries using public-key authentication, end-to-end packet encryption, and a handshake protocol that provides perfect forward secrec

    CJDNS is a peer-to-peer mesh networking protocol that provides decentralized routing and cryptographic identity, serving as a robust foundation for building distributed communication systems.

    CDistributed Hash Tables
    View on GitHub↗5,394
  • easytier/easytierEasyTier avatar

    EasyTier/EasyTier

    12,012View on GitHub↗

    EasyTier is a decentralized peer-to-peer virtual private network and mesh networking tool. It functions as a layer 3 network overlay that establishes secure tunnels between devices without requiring a centralized server or coordinator. It also serves as a WireGuard-compatible VPN, capable of acting as a server for standard WireGuard clients. The project distinguishes itself through multipath latency-based routing and the use of KCP or QUIC proxies to mitigate packet loss and stabilize connections in high-loss environments. It provides a virtual networking manager featuring a web management co

    EasyTier is a decentralized mesh networking tool that provides peer-to-peer connectivity and NAT traversal, serving as a robust implementation of a peer-to-peer network overlay rather than a general-purpose library for building custom P2P applications.

    RustNAT Traversal Mechanisms
    View on GitHub↗12,012
  • markqvist/reticulummarkqvist avatar

    markqvist/Reticulum

    4,438View on GitHub↗

    Reticulum is a decentralized networking stack that enables encrypted, peer-to-peer communication over diverse physical mediums without relying on central infrastructure or IP protocols. It uses self-sovereign cryptographic identities for routing and authentication, replacing traditional IP addresses with collision-free globally unique addresses that require no central coordination. Every packet is encrypted by default using ephemeral key exchanges with forward secrecy, and unencrypted traffic is dropped as invalid. The stack unifies heterogeneous transport mediums—including LoRa radio, packet

    Reticulum is a comprehensive peer-to-peer networking stack that provides decentralized identity, encryption, and transport-agnostic communication, making it a robust choice for building distributed systems without central infrastructure.

    PythonProtocol-Agnostic Transport LayersSelf-Sovereign Identities
    View on GitHub↗4,438
  • permissionlesstech/bitchatpermissionlesstech avatar

    permissionlesstech/bitchat

    26,042View on GitHub↗

    Bitchat is a decentralized messaging protocol designed for secure, private communication across both local and wide-area networks. It functions as an encrypted offline messenger that enables direct data exchange between devices without requiring centralized servers or persistent internet connectivity. By utilizing end-to-end encryption, the platform ensures that message content remains confidential and protected from unauthorized access throughout the entire transport process. The project distinguishes itself through a hybrid connectivity layer that dynamically routes messages between short-r

    Bitchat is a decentralized messaging protocol that facilitates direct peer-to-peer data exchange and secure communication without central servers, fitting the category of a networking tool for distributed systems.

    SwiftDecentralized Messaging ProtocolsEncrypted MessengersEnd-to-End Encryption Protocols
    View on GitHub↗26,042
  • webtorrent/webtorrentwebtorrent avatar

    webtorrent/webtorrent

    31,045View on GitHub↗

    WebTorrent is a JavaScript client library and peer-to-peer file sharing tool that implements the BitTorrent protocol. It enables the seeding and downloading of files via magnet links and info hashes across both the browser and Node.js environments. The project distinguishes itself by using WebRTC data channels to establish direct browser-to-browser networking, allowing decentralized data transfer across different domains without a central server. It specifically focuses on streaming torrent media, enabling incremental video and audio playback by prioritizing sequential pieces of a file before

    WebTorrent is a peer-to-peer networking library that enables direct browser-to-browser data exchange using WebRTC, making it a specialized tool for decentralized content distribution rather than a general-purpose P2P framework.

    JavaScriptPeer-to-Peer File SharingTorrent StreamingBitTorrent Implementations
    View on GitHub↗31,045
  • berty/bertyberty avatar

    berty/berty

    9,204View on GitHub↗

    Berty is a peer-to-peer messaging application and framework designed for decentralized private messaging. It utilizes a distributed identity protocol and a decentralized database to enable end-to-end encrypted communication without relying on central servers, phone numbers, or email addresses. The project distinguishes itself through an offline messaging framework that uses Bluetooth Low Energy and multicast DNS for local device discovery. This allows peers to establish direct connections and exchange messages without internet or cellular data, using QR codes for secure contact exchange. The

    Berty is a peer-to-peer messaging framework that provides the core decentralized communication and discovery capabilities required for building distributed applications, even though it is primarily packaged as a messaging tool.

    TypeScriptDecentralized MessagingSecure Messaging ApplicationsApplication SDKs
    View on GitHub↗9,204
  • yggdrasil-network/yggdrasil-goyggdrasil-network avatar

    yggdrasil-network/yggdrasil-go

    5,235View on GitHub↗

    yggdrasil-go is a self-organizing encrypted IPv6 overlay network. It implements a decentralized peer routing system that uses public-key-based addressing to link identity and location, allowing the network to automatically discover paths and manage connectivity without central authority. The system provides transport-agnostic peering and multi-circuit redundancy, maintaining several concurrent connections to a single peer to ensure high availability. It supports prefix-based route advertisement, which enables the routing of dedicated IPv6 subnets to non-participating devices through the encry

    This is a self-organizing overlay network that provides decentralized peer-to-peer routing and encrypted connectivity, serving as a robust infrastructure for building peer-to-peer applications.

    GoCryptographic IPv6 NetworkingCollision-Resistant Address GenerationConcurrent Multi-Circuit Peering
    View on GitHub↗5,235
  • holochain/holochainholochain avatar

    holochain/holochain

    1,386View on GitHub↗

    The current, performant & industrial strength version of Holochain on Rust.

    Holochain is a framework for building decentralized, peer-to-peer applications that utilizes gossip protocols and content addressing to facilitate node-to-node communication without a central server.

    RustBlockchain Infrastructure
    View on GitHub↗1,386
  • ethereum/devp2pethereum avatar

    ethereum/devp2p

    1,121View on GitHub↗

    Ethereum peer-to-peer networking specifications

    This repository provides the core networking specifications and protocols used by Ethereum nodes for peer-to-peer communication, including support for discovery, transport, and message exchange.

    JavaScriptMessaging Protocols
    View on GitHub↗1,121
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
n0-computer/iroh7.9KRustapache-2.0Feb 20, 2026
irungentoo/toxcore8.8KCGPL-3.0Jul 13, 2024
ipfs/go-ipfs
17.1K
Go
NOASSERTION
Jun 25, 2026
libp2p/libp2p2.9K—mitNov 3, 2025
libp2p/rust-libp2p5.6KRustMITJun 22, 2026
libp2p/go-libp2p6.8KGoMITJun 22, 2026
ipfs/ipfs23.1K—MITMay 1, 2025
orbitdb/orbit-db8.8KJavaScriptMITMay 14, 2026
ipfs/kubo17.1KGoNOASSERTIONJun 22, 2026
bluesky-social/atproto9.5KTypeScriptNOASSERTIONJun 23, 2026

Related searches

  • a peer to peer file sharing client
  • a networking library for multiplayer game servers
  • a peer to peer file synchronization tool
  • a peer-to-peer file sender
  • a cross-platform networking library for C++
  • Network troubleshooting toolkit
  • a curriculum for understanding networking
  • a protocol for sharing files over networks