30 open-source projects similar to ipfs/go-ipfs, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Go Ipfs alternative.
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
ipfs-desktop is a graphical application for managing a local IPFS node, hosting content, and interacting with the peer-to-peer network. It serves as a desktop client that provides a visual interface for content-addressed storage management, peer-to-peer file sharing, and the administration of the node lifecycle. The project differentiates itself by providing a comprehensive suite of controllers for node health, gateway routing, and static site hosting. It includes a dedicated content-addressed storage browser for importing and organizing files, a gateway controller to route network content th
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
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
IPFS Desktop is a graphical client for storing, retrieving, and managing content on a peer-to-peer network. It functions as a distributed file system manager and node administration tool, allowing users to run a local node and manage content-addressed data without using a command line. The application includes a network visualizer for monitoring connected peers and analyzing global network topology. It also serves as a system protocol handler capable of intercepting and processing ipfs and ipns URIs. The software covers decentralized file storage and distributed content hosting, featuring to
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
js-ipfs is an HTTP client library that connects to any IPFS daemon, enabling JavaScript applications to interact with the InterPlanetary File System. It provides a promise-based asynchronous API for managing content-addressed storage, where all data is identified by cryptographic hashes (CIDs) for immutable references and deduplication. The library communicates with a remote IPFS node through HTTP requests, supporting cancellation of in-flight operations via standard AbortController signals. The library offers a comprehensive set of capabilities for working with IPFS, including adding and ret
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
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
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
Dat is a peer-to-peer file synchronization tool that combines an append-only, hash-addressed log with Merkle tree verification, cryptographic access keys, live streaming replication, and swarm networking for sparse, versioned file sharing. It stores file data and metadata in a cryptographically signed, versioned append-only log where each entry is identified by its hash, and uses public-key cryptography to secure archives with separate read and write keys. The tool enables live streaming replication of data between peers as entries are appended, with Merkle tree integrity verification that su
This project is a blockchain development course and framework designed to teach the creation of decentralized applications and smart contracts. It provides a structural guide and development kit for building software that interacts with distributed ledger technology and peer-to-peer storage. The project covers the implementation of consortium blockchains for enterprise settings, where shared ledgers are managed between trusted organizations. It also includes methodologies for orchestrating private blockchains and simulating local nodes for testing applications. The capability surface extends
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
Spegel is a container registry cache and peer-to-peer distribution system for Kubernetes. It functions as an OCI image mirror and content addressable store that shares image layers between cluster nodes to reduce external registry traffic and latency. The project implements a distributed hash table to locate image digests across the network, allowing nodes to retrieve content from peers rather than repeated external downloads. This architecture mitigates registry rate-limiting and provides offline image availability to prevent workload failures during registry outages. The system covers capa
Tribler is an anonymized peer-to-peer network and BitTorrent client that enables the sharing of files and streaming of media through multi-hop encrypted circuits. It functions as a distributed content search engine and privacy-preserving torrent streamer designed to prevent traffic analysis. The project distinguishes itself by integrating onion routing directly into the file-sharing process, masking the identities and locations of both downloaders and seeders. It utilizes a decentralized reputation system to track node reliability and mitigate spam without relying on central servers. The pla
ZeroNet is a decentralized web browser and server that enables the hosting and accessing of websites without central servers. It functions as a peer-to-peer content distribution network that utilizes BitTorrent and Bitcoin cryptography to replicate and share site data across a distributed network of users. The system emphasizes censorship-resistant publishing and privacy through the integration of hidden services to anonymize network traffic. Site identity and content updates are managed via a cryptographic system using public-key pairs instead of centralized account passwords. The platform
This project is a digital library and archive of vintage Chinese language DOS games. It provides a curated collection of historical software preserved for access through a web-based emulation platform and a searchable game catalog. The system utilizes a decentralized repository to host and share game data files across a peer-to-peer network. This ensures assets are retrieved using content-addressable hashes rather than relying on central servers. Users can execute games directly in a web browser via a DOS emulation engine or use provided scripts to download and configure game archives for lo
I2P is a decentralized anonymous network layer and peer-to-peer overlay network. It functions as a darknet infrastructure that encrypts traffic and masks user identities and locations from external observers. The system acts as an anonymous proxy gateway, enabling the hosting of hidden services and websites that are unreachable via the public internet. It provides capabilities for privacy-preserving web mirroring and private secure shell tunneling to hide the physical IP addresses of both servers and clients. The network employs garlic routing, unidirectional tunneling, and a distributed has
PeerJS is a real-time communication library and framework designed to establish direct peer-to-peer data and media connections between browsers. It provides a simplified wrapper for managing the lifecycles of WebRTC connectivity, enabling the exchange of audio, video, and data without a central relay. The project includes a coordination server that handles signaling management by mapping unique user identities to network connection details. This server facilitates the discovery of remote peers and the exchange of metadata required to perform the initial connection handshake. The framework su
This project provides the formal technical specifications and reference logic for the Ethereum proof-of-stake consensus layer. It defines the standards for block production, state transition rules, and the beacon chain logic required to ensure consistent network agreement. The implementation covers specialized mechanisms for chain security and efficiency, including fork-choice algorithms for canonical chain determination, committee-based signature aggregation, and KZG-based blob commitments for data availability. It also specifies the protocols for light client synchronization using sync comm
bup is a deduplicating backup manager and incremental backup system. It uses a Git packfile-based storage format to eliminate redundant data across files and versions, treating every incremental save as a full backup. The system provides secure remote transport interfaces for transferring and managing backup data on remote servers via SSH. It also includes a backup repository browser available as both a web interface and a filesystem mount for exploring and retrieving files from snapshots. The project covers broad capability areas including disaster recovery, repository administration, and s
FMHY is a community-driven index designed to organize and distribute decentralized digital content through standardized metadata and protocol-agnostic linking. It functions as a resilient, distributed map of internet resources, providing a structured directory that facilitates the discovery of media, software, and educational tools without reliance on centralized control. The project distinguishes itself by maintaining a massive, human-verified repository of external links that span diverse digital ecosystems, including peer-to-peer networks, Usenet, and direct download servers. By utilizing
This project is a community-curated directory of open-source software designed for deployment in private server environments and home labs. It serves as a comprehensive resource for discovering independent, self-hosted alternatives to mainstream cloud services, enabling users to maintain full data ownership and control over their digital infrastructure. The directory is structured through a hierarchical taxonomy that organizes a vast collection of applications into logical categories, ranging from media management and data analytics to private communication and team productivity tools. It dis
Noms is a distributed version control database and content-addressable data store. It identifies data by cryptographic hashes to ensure integrity and deduplication, while tracking dataset state changes through a sequence of immutable commits to enable branching, forking, and historical recovery. The system functions as a peer-to-peer data synchronizer, reconciling state between disconnected database instances to ensure all nodes converge on the same data. It distinguishes itself as a schema-flexible document store that supports self-describing types, allowing schemas to evolve and widen as ne
Git is a distributed version control system and command-line tool designed for tracking changes in source code and coordinating collaborative software development. It functions as a content-addressable storage platform where project data is maintained as immutable objects indexed by cryptographic hashes, ensuring data integrity and efficient deduplication. The system organizes project history as a directed acyclic graph, where each commit serves as a snapshot linked to its parent to create a verifiable timeline of modifications. The architecture distinguishes itself through an index-based sta
This project provides a comprehensive implementation of the AT Protocol, serving as a framework for building decentralized social networking applications. It enables the creation of distributed data repositories where users maintain cryptographic ownership of their identity and content, allowing for portable accounts that can be migrated between independent servers without central authority intervention. The platform distinguishes itself by decoupling content hosting from discovery through modular algorithmic curation. Users can select third-party services to filter and organize their feeds,
Distribution is an open-source container image registry that implements the OCI Distribution Specification, enabling any OCI-compatible client to push, pull, and manage container images over standard protocols. It serves as a content distribution toolkit for packaging, shipping, storing, and delivering container content across networked environments, storing and retrieving content by its cryptographic hash for integrity and deduplication. The registry separates image metadata from bulk data to enable efficient validation and partial pulls, and supports resumable blob uploads with chunked tran
This project is a pure Go implementation of the Git version control system, providing a library for integrating versioning and history analysis into applications. It functions as a complete repository manager and object store that does not require external binary dependencies. The implementation utilizes interface-based storage, allowing repositories to be managed on disk or entirely in memory. It supports a transactional storage model to ensure atomic operations and implements a content-addressable storage system using delta-compression packfiles. The library covers a broad range of version
DVC is a data versioning tool and pipeline orchestrator designed to track large datasets and machine learning models. It functions as a system for managing large data artifacts by storing lightweight metadata in version control while keeping the actual binaries in a separate cache. The project serves as an experiment tracker and remote storage synchronizer, enabling the execution and comparison of machine learning iterations based on hyperparameters and performance metrics. It provides a bridge for pushing and pulling these large data artifacts between local environments and cloud or on-premi