30 open-source projects similar to libp2p/rust-libp2p, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Rust Libp2p alternative.
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
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
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
Syncthing Android is a mobile application and service wrapper that enables decentralized, peer-to-peer file synchronization on the Android platform. It functions as a distributed data sync tool that mirrors folders across multiple devices without the need for a central cloud server. The project provides a mobile interface to manage a synchronization instance, utilizing a service-wrapper architecture to handle the lifecycle and configuration of the underlying synchronization binary. It ensures secure data exchange through TLS encryption, certificate-based identity verification, and password-pr
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
Noise is a peer-to-peer networking stack written in Go designed for building decentralized systems. It provides a framework for managing node lifecycles, establishing encrypted communication channels, and facilitating direct data exchange between distributed nodes without reliance on central authorities. The library distinguishes itself through a modular architecture that allows developers to stack custom communication layers, enabling the creation of specialized network protocols. It incorporates a decentralized key-value lookup system for peer discovery and routing, alongside cryptographic
This project is a full-featured BitTorrent client library and protocol implementation. It provides the core components necessary for peer-to-peer file sharing, including a networking stack that supports the BitTorrent specification, tracker communication, and swarm management. A primary differentiator is the inclusion of a virtual filesystem that allows torrents to be mounted as read-only drives. This system enables on-demand content streaming, where specific data pieces are fetched from the network only when a read request occurs, rather than requiring the entire archive to be downloaded fir
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
This project is a cross-platform implementation of the WebRTC standard, providing a comprehensive library for building real-time audio, video, and data communication applications. It functions as a peer-to-peer networking framework and media processing engine, enabling direct, low-latency connections between devices without relying on central servers. By strictly adhering to official protocol specifications, the library ensures interoperability with browsers and other native communication software across mobile, desktop, and server environments. The engine distinguishes itself through a modul
libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered
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
This project is a comprehensive educational guide and technical manual for the Ethereum blockchain. It provides structured instruction on blockchain fundamentals, smart contract development, and the architectural principles of decentralized applications. The resource covers technical domains including smart contract security auditing, network administration, and web3 programming. It details the implementation of token standards, the use of mnemonic seeds for wallet integration, and the creation of censorship-resistant application architectures. The documentation extends to system-level opera
This is a Rust library and peer-to-peer toolkit that implements the WebRTC protocol. It provides a network stack for establishing direct audio, video, and data streaming between peers to achieve low-latency real-time communication. The project is designed as an async-compatible network stack that maintains compatibility across different asynchronous runtimes and executors. It further functions as a deterministic protocol testing tool by separating communication logic from network I/O, allowing protocol behavior to be verified without using live network traffic.
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 project is a peer-to-peer networking tool and communication client designed for exchanging messages and sharing screen control between computers without a central server. It functions as a decentralized system for exchanging data and control signals directly between nodes. The application uses WebRTC for peer-to-peer messaging and remote desktop administration. It incorporates STUN-based NAT traversal and rendezvous servers to establish direct connections between peers hidden behind restrictive firewalls or routers. The software provides capabilities for remote desktop control, includin
NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t
NetBird is a zero-trust networking platform that builds secure, encrypted peer-to-peer overlay networks using the WireGuard protocol. It functions as a software-defined perimeter, connecting distributed infrastructure across cloud environments and physical locations while hiding network resources from the public internet. By integrating with external identity providers, the platform enforces granular access control and identity-based segmentation for every user and device. The platform distinguishes itself through extensive automation and programmatic management capabilities. It provides a ce
apprtc is a WebRTC video chat application and signaling server designed to establish peer-to-peer audio and video communication between browsers. It provides a coordination layer using a websocket-based signaling server to exchange session descriptions and network candidates. The project is delivered as a dockerized communication app, allowing for a containerized deployment of the calling service for local development or cloud hosting. It includes a network gateway that integrates STUN and TURN servers to facilitate media flow through firewalls and NATs. The implementation covers peer discov
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
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
Rathole is a high-performance reverse proxy and NAT traversal tool written in Rust. It functions as a secure tunneling server and client architecture designed to expose local services to the internet by forwarding traffic from a public IP to a private device behind a firewall. The system establishes encrypted tunnels between a public server and a private host to ensure private communication. It utilizes token-based authentication to validate identities between the server and client for each individual service. The project provides TCP and UDP port forwarding and manages private tunnels to fa
qTox is a decentralized instant messaging application and a Tox protocol chat client. It provides a cross-platform graphical user interface for encrypted text, voice, and video communication. The project enables peer-to-peer encrypted messaging and secure VoIP communication without relying on central servers or third-party intermediaries. It utilizes the Tox protocol to facilitate direct voice and video calling and peer-to-peer file exchange. Identity and network management are handled through decentralized identity mapping and a distributed hash table for peer discovery and routing. All dat
This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical guide for the design and implementation of network layers, protocols, and hardware architecture, covering the spectrum from physical links to application-layer protocols. The content provides a detailed study of standards for congestion control, reliable data delivery, and internetwork routing. It includes specialized technical material on network security, public-key infrastructure, and the operation of modern cloud infrastructure and data centers. The material covers a broad ra
Rueidis is a high-performance Redis client library for Go that provides a type-safe and asynchronous interface for interacting with Redis servers. It includes a full implementation of the Redis serialization protocol and a dedicated connection manager to handle pooling, multiplexing, and automatic pipelining. The library is distinguished by its support for RDMA connectivity to reduce latency and CPU overhead. It features a distributed lock manager that implements majority-based locking and optimistic concurrency control, as well as client-side caching with invalidation signals to minimize net
This is a Go client library and protocol implementation for interacting with message brokers using the AMQP 0.9.1 standard. It serves as an asynchronous messaging toolkit and message queue client for implementing producer and consumer patterns. The library provides a programmatic interface for managing the full message lifecycle, including publishing, consumption, and delivery acknowledgments. It supports reliable delivery mechanisms such as publishing confirmations and atomic transactions. The project covers the administration of routing topologies through the declaration and binding of que
Canopy is the official Go implementation of a blockchain node that runs a recursive network architecture, enabling new blockchains to launch as dependent layers that can later graduate into fully independent security roots. The project provides a hybrid consensus mechanism that combines Byzantine fault-tolerant Proof-of-Stake with Verifiable-Delay Functions, delivering instant finality while protecting against long-range attacks through trustless chain age verification. Validators secure multiple chains simultaneously through restaking, where a single bonded stake serves as collateral across t
GameNetworkingSockets is a UDP networking library providing secure transport, peer discovery, and traffic control systems. It implements a networking layer for reliable and unreliable messaging over UDP, including tools for message fragmentation and reassembly. The project features a peer-to-peer NAT traversal tool for establishing direct host-to-host connections by punching through firewalls and network address translation layers. It secures network traffic through encrypted transport and secure key exchange. The library includes a traffic manager to organize data into prioritized lanes to
Nebula is a scalable, decentralized overlay networking tool designed to create secure, encrypted peer-to-peer connections between distributed hosts. By utilizing a certificate-based identity authority, it enables the construction of private communication fabrics across disparate physical infrastructures, such as multiple cloud providers or on-premises data centers, without requiring central authentication servers. The project distinguishes itself through a zero-trust architecture that enforces granular, policy-driven firewall filtering based on certificate-derived group memberships. It facili
Rathole is a reverse proxy tunneling tool designed to expose local services behind firewalls and network address translation to the public internet. It functions as a secure tunneling infrastructure that enables remote access to private network resources without requiring manual router port forwarding configurations. The system utilizes a client-server architecture where a public-facing gateway coordinates with a private-network agent. It distinguishes itself by multiplexing multiple logical service connections through a single persistent TCP stream, which reduces the overhead of maintaining
SuperSocket is a .NET socket server framework designed for building network servers and custom communication protocols. It functions as a pipeline-based network engine and a server for TCP, UDP, and WebSocket protocols. The framework provides a socket session manager to track and control the lifecycle of network connections and client request states. It enables the implementation of bespoke communication standards and the development of socket proxies. The system handles concurrent client connections and processes network traffic through a structured architecture of pipeline filters, middlew