30 open-source projects similar to libp2p/go-libp2p, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Go Libp2p alternative.
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
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
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
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
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
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
Cellnet is a Go networking framework designed for building distributed systems and peer-to-peer networks. It provides a multi-protocol transport layer that standardizes message exchange across TCP, UDP, and WebSockets, utilizing a binary message codec system to map message types to unique identifiers for network transmission. The framework is distinguished by its remote procedure call library, which enables the execution of functions on remote peers using synchronous or asynchronous request patterns. It further differentiates itself with an asynchronous event dispatcher that processes network
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
rustdesk-server is a self-hosted remote desktop server infrastructure designed to manage ID signaling and relay traffic for remote connections between peers. It provides the necessary backend environment to coordinate remote access sessions through rendezvous-based signaling and relay-based traffic forwarding. The system distinguishes itself with a remote access management console for organizing devices and enforcing security policies, as well as an identity integrator for OIDC-based federation and LDAP directory synchronization. It utilizes geolocation-aware routing to distribute traffic acr
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
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
This project is a comprehensive technical documentation site and reference manual for configuring and deploying WireGuard VPN tunnels and interfaces. It serves as a guide for establishing encrypted network connections between peers using public key authentication to secure data traffic across untrusted networks. The documentation provides specific technical manuals for implementing NAT traversal solutions, including UDP hole punching and the use of bounce servers to connect peers behind restrictive firewalls. It also includes detailed guides on tunnel implementation and protocol references fo
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
Ricochet is a decentralized, peer-to-peer anonymous chat client and messaging protocol. It enables the exchange of encrypted text messages and files without relying on central servers, using Tor hidden services to mask the network addresses and identities of all participants. The project eliminates communication metadata by removing central coordinating authorities, preventing the discovery of contact lists or timing patterns. It utilizes a peer-to-peer connection model where every client acts as both a server and a client, employing public key signatures and cryptographically signed invitati
Memberlist is a Go library used for maintaining distributed cluster membership and failure detection via a peer-to-peer gossip protocol. It functions as a cluster state synchronizer, allowing nodes to track active members and propagate metadata without a central coordinator. The library implements a secure gossip mechanism using AES-GCM encryption to protect inter-node communication and membership data. It distinguishes its failure detection through a suspicion-based model and adaptive timeout scaling, which reduces false positives caused by transient network latency. The project provides ca
❤️ Streaming torrent app for Mac, Windows, and Linux
Message-io is an event-driven networking library written in Rust that provides a unified message-based API for building applications across multiple transport protocols. It allows developers to handle communication over TCP streams, UDP datagrams, and WebSocket connections through a single interface, while managing underlying network connections, message transport, and low-level socket asynchrony. The library utilizes a single-threaded event loop architecture to process incoming connections, disconnections, network messages, and internal signals on a dedicated thread, eliminating traditional
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
Nostr is a decentralized social protocol and censorship-resistant messaging standard. It operates as a distributed event relay network where user identities are defined by public-key cryptography rather than centralized account databases. The protocol enables the exchange of cryptographically signed messages across a network of independent relays. This system allows for the broadcasting of signed notes to multiple servers to ensure content availability and permanence, while using public-key pairs to prove authorship and authenticity without a central registry. The system covers distributed c
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
Linsa.io is an end-to-end encrypted cloud storage service and zero-knowledge data vault. It functions as a private content sharing platform that encrypts files and data on the client side, ensuring only the owner can access the stored content. The project employs a local-first approach, processing data updates and encryption on the local device before syncing encrypted blobs to a remote persistence layer. It uses a zero-knowledge architecture where the service provider cannot access decryption keys or view the plaintext content of stored files. The platform provides capabilities for private
Motrix Next is a cross-platform desktop download manager that unifies HTTP, FTP, BitTorrent, ED2K, and Magnet links under a single task interface. It combines a Rust backend for download management with an Electron shell for the user interface, and supports per-task speed limits, scoped proxy routing, and system protocol registration for magnet, ED2K, and thunder links. The application distinguishes itself through BitTorrent file selection with DHT and peer exchange, encrypted connections, and autonomous peer discovery via trackers. It offers bandwidth control with optional scheduling by day
MsQuic is a cross-platform, C-based implementation of the QUIC protocol. It provides a network library for establishing encrypted and authenticated transport links over UDP, integrating TLS to ensure all data flows between endpoints are encrypted. The implementation utilizes a language-agnostic binding layer to support high-level languages including C#, Rust, and C++. It features connection-ID based migration to maintain active sessions when IP addresses or ports change, and employs multi-stream multiplexing to manage independent data flows within a single connection. The library covers netw
grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for high-performance service communication. It uses the HTTP/2 protocol to execute functions on remote servers as if they were local methods and utilizes protobuf service bindings to generate type-safe client and server code. The project features a bidirectional streaming transport that supports asynchronous, full-duplex message streams between clients and servers. This networking layer allows for various communication patterns, including client-to-server and server-to-client streaming, to
Aleth is an Ethereum C++ client and full-node implementation. It provides a virtual machine executor for running and debugging bytecode, a blockchain state debugger, and a serialization library for encoding and decoding data using the Recursive Length Prefix format. The project includes a dedicated mining tool for producing blocks and benchmarking hashing hardware performance. It further distinguishes itself with a state debugger that analyzes pre- and post-execution state changes and generates step-by-step execution traces for the virtual machine. The implementation covers node operations i
Bitcore is a blockchain development framework and a set of libraries used to build applications that interact with the Bitcoin network and other blockchain protocols. It provides a multi-chain cryptocurrency wallet implementation, a peer-to-peer client for synchronizing distributed ledger data, and a transaction orchestrator for constructing, signing, and broadcasting transactions. The framework features a standardized JSON-RPC wrapper to normalize communication between applications and diverse blockchain node APIs. It implements hierarchical deterministic wallets that derive keys and address
Wetty is an HTTP browser terminal emulator that provides shell access over HTTP and HTTPS connections. It functions as a web-based remote shell and SSH browser gateway, allowing users to execute shell commands on remote hosts directly within a web browser. The project integrates SAML2 identity propagation to authenticate users through external providers and map those web identities to system accounts. It also supports embedding the terminal interface within iframes for integration into other web applications or dashboards. The system covers remote server administration and secure terminal pr
Firezone is a zero trust network access platform that uses WireGuard to provide identity-based connectivity to internal network resources. It functions as a virtual private network that synchronizes authentication and user groups via OpenID Connect providers. The system implements a group-based access control engine to enforce least privilege by restricting network resources to specific user groups. It utilizes holepunching and relay protocols for NAT traversal to establish encrypted tunnels through firewalls without requiring inbound ports. The platform includes a control plane for managing
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