From 0732b014dd1560f34dcf6b9da527fa34f12b90ff Mon Sep 17 00:00:00 2001 From: Mosh <1306020+mishmosh@users.noreply.github.com> Date: Wed, 4 Dec 2024 12:46:25 -0500 Subject: [PATCH 1/7] Update ipfs-implementations.md --- docs/concepts/ipfs-implementations.md | 78 ++++++++++++++++----------- 1 file changed, 47 insertions(+), 31 deletions(-) diff --git a/docs/concepts/ipfs-implementations.md b/docs/concepts/ipfs-implementations.md index fdd39aaca..7d2b4cac6 100644 --- a/docs/concepts/ipfs-implementations.md +++ b/docs/concepts/ipfs-implementations.md @@ -1,47 +1,63 @@ --- title: 'IPFS implementations' -description: "There isn't just one canonical IPFS implementation. Learn about the various IPFS implementations available for different use cases." +description: "List of various IPFS implementations for different use cases and languages." --- # IPFS implementations -IPFS is an open-source project that encourages the development of multiple implementations of the protocol, each of which seeks to optimize for various use cases. Below is non-exhaustive list of IPFS implementations, grouped by development and maintenance status ([Popular or Actively Maintained](#popular-or-actively-maintained), [Lite or Experimental](#lite-or-experimental) and [Inactive](#inactive)) and ordered alphabetically. To propose additions or edits, [edit this page in GitHub](https://github.com/ipfs/ipfs-docs/edit/main/docs/concepts/ipfs-implementations.md) or [open an issue](https://github.com/ipfs/ipfs-docs/issues/new?assignees=&labels=need%2Ftriage&template=open_an_issue.md&title=IPFS%20Implementations). +A comprehensive list of [IPFS implementations](./implementations.md) across different languages and use cases, from desktop applications to specialized libraries. -You can learn more about the principles that define what an IPFS implementation is [here](./implementations.md). +- [Desktop Implementations](#desktop-implementations) +- [Popular Node Implementations and Tools](#popular-node-implementations-and-tools) +- [Content-Addressed Data](#content-addressed-data) +- [Lite or Experimental](#lite-or-experimental) +- [Inactive](#inactive)) +To propose additions or edits, [edit this page in GitHub](https://github.com/ipfs/ipfs-docs/edit/main/docs/concepts/ipfs-implementations.md) or [open an issue](https://github.com/ipfs/ipfs-docs/issues/new?assignees=&labels=need%2Ftriage&template=open_an_issue.md&title=IPFS%20Implementations). -::: callout TLDR +## Desktop Implementations -Looking for an easy and opinionated way to get started with IPFS? +Looking for an easy way to get started? Install these tools for no-code access to the IPFS Amino Public Network. -**User-Friendly Options** - - [IPFS Desktop](../install/ipfs-desktop.md), an user-friendly GUI application that bundles an IPFS Kubo node for self-hosting, file manager, peer manager, and content explorer. - - [IPFS Companion](../install/ipfs-companion.md), a browser extension that compliments IPFS Desktop, loads compatible websites and file paths from a local IPFS Kubo node. +| Name | URL | Language(s) | What it's trying to do | +|----------------|---------------------------------------|----------------|-----------------------------------------------------------------------------------------------| +| IPFS Desktop | | javascript | Desktop application bundling a Kubo node with file manager, peer manager and content explorer | +| IPFS Companion | | javascript | Browser extension that runs a local Kubo node and gets content from the public network | -**Command-Line & Infrastructure Tools** - - [Kubo](../install/command-line.md), all-in-one demon service with command-line and HTTP RPC interface for power users who want to self-host, but don't need GUI. - - [IPFS Cluster](../install/server-infrastructure.md), data orchestration across a swarm of IPFS Kubo daemons by allocating, replicating and tracking a global pinset distributed among multiple peers. - - [Rainbow](https://github.com/ipfs/rainbow/#readme), production-grade standalone IPFS HTTP [Gateway](../concepts/glossary.md#gateway) service powering [public gateways](../concepts/public-utilities.md#public-ipfs-gateways). -::: +## Popular Node Implementations and Tools -## Popular or Actively Maintained +For developers and operators. | Name | URL | Language(s) | What it's trying to do | | --------------- | -------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------- | +| Kubo | | go | Popular, all-in-one IPFS daemon with an extensive HTTP RPC API. | | Boost | | go | Daemon to get IPFS data in and out of a Filecoin storage provider. | | Boxo (GO SDK) | | go | A component library for building IPFS applications and implementations in Go. | -| Elastic IPFS | | javascript, typescript | Scalable cloud-native implementation. | | Helia (JS SDK) | | javascript | A lean, modular, and modern implementation of IPFS for the prolific JS and browser environments | | IPFS Cluster | | go | Orchestration for multiple Kubo nodes via CRDT / Raft consensus | | Iroh | | rust | Extreme-efficiency oriented IPFS implementation. | -| Kubo | | go | Generalist daemon oriented IPFS implementation with an extensive HTTP RPC API. | | Lassie |   | go | A minimal universal retrieval client library for IPFS and Filecoin. | -| Lotus | | go | Filecoin node handling consensus, storage providing, making storage deals, importing data, ... | +| Lotus | | go | Filecoin node handling consensus, storage providing, making storage deals, importing data. | | Nabu | | java | A minimalistic, fast and embeddable IPFS implementation. | | Rainbow | | go | A specialized IPFS HTTP gateway implementation. | | Someguy | | go | A Delegated Routing V1 server and client for all your HTTP/IPFS routing needs. | -## Lite or Experimental +## Content-Addressed Data + +Lightweight libraries for working IPFS-style data (CID, IPLD, CAR). Most of these do not include networking functionality. For more content-addressed data tools, see . + +| Name | URL | Language(s) | What it's trying to do | +| --------------- | -------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------- | +| atcute | | typescript | Modern implementation of CID and multiformats for JavaScript/TypeScript | +| dag-cbrrr | | python | Fast CBOR-based DAG encoding/decoding implementation | +| go-cid | | go | Go implementation of CIDs (Content IDentifiers) with encoding/decoding support | +| go-ipld-prime | | go | Popular library for working with IPLD data in Golang | +| python-libipld | | python | Python bindings for libipld, providing IPLD functionality in Python | +| RIBS | | go | IPFS and IPLD blockstore designed for seamless integration with Filecoin | +| rust-cid-npm | | rust | Debian packaging of the Rust CID implementation for npm | +| rust-ipld-core | | rust | Core traits and types for IPLD implementations in Rust | + +## Lite Nodes or Experimental | Name | URL | Language(s) | What it's trying to do | | ------------- | ------------------------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------- | @@ -53,19 +69,19 @@ Looking for an easy and opinionated way to get started with IPFS? | ipfs-embed | | rust | Small embeddable ipfs implementation. | | ipfs-lite | | go | Minimal library oriented ipfs daemon building on the same blocks as Kubo but with a minimal glue layer. | | ipfs-nucleus |   | go | Minimal IPFS replacement for P2P IPLD apps. | -| RIBS | | go | A Filecoin-native IPFS and IPLD blockstore designed for seamless integration with Filecoin. | ## Inactive -| Name | URL | Language(s) | What it's trying to do | -| ---------- | ----------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| Agregore | | go, javascript | Mobile friendly Kubo daemon. | -| c-ipfs | | C | IPFS implementation in C. | -| Estuary | | go | Daemon oriented service to pin and onboard IPFS data into Filecoin. | -| ipfs tiny | | c++ | Tiny embeddable, os-independent IPFS implementation. | -| ipget | | go | Minimal wget inspired tool to download files from IPFS nodes over bitswap. | -| js-ipfs | | javascript, typescript | Javascript implementation targeting nodejs and browsers. [Deprecated and replaced by Helia](https://github.com/ipfs/js-ipfs/issues/4336). | -| Linux2ipfs | | go | Small pipeline and extreme-performance oriented implementation to upload files and deltas to pinning services very fast. | -| py-ipfs | | python | Python IPFS implementation. | -| rust-ipfs | | rust | Rust IPFS implementation. | -| whypfs | | go | Daemon based on the same building blocks as Kubo but with some options tweaking for more performance. | +| Name | URL | Language(s) | What it's trying to do | +|--------------|-------------------------------------------------------|------------------------|--------------------------------------------------------------------------------------------------| +| Agregore | | go, javascript | Mobile friendly Kubo daemon | +| c-ipfs | | C | IPFS implementation in C | +| Elastic IPFS | | javascript, typescript | Scalable cloud-native implementation | +| Estuary | | go | Daemon oriented service to pin and onboard IPFS data into Filecoin | +| ipfs tiny | | c++ | Tiny embeddable, os-independent IPFS implementation | +| ipget | | go | Minimal wget inspired tool to download files from IPFS nodes over bitswap | +| js-ipfs | | javascript, typescript | Javascript implementation targeting nodejs and browsers [deprecated, replaced by Helia] | +| Linux2ipfs | | go | Small pipeline and extreme-performance oriented implementation for fast pinning service uploads | +| py-ipfs | | python | Python IPFS implementation | +| rust-ipfs | | rust | Rust IPFS implementation | +| whypfs | | go | Daemon based on Kubo building blocks with performance-oriented options | From ea01e6eef3838f363bebd388bd09774db27f33a3 Mon Sep 17 00:00:00 2001 From: Mosh <1306020+mishmosh@users.noreply.github.com> Date: Mon, 9 Dec 2024 10:06:48 -0500 Subject: [PATCH 2/7] Update docs/concepts/ipfs-implementations.md Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> --- docs/concepts/ipfs-implementations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/ipfs-implementations.md b/docs/concepts/ipfs-implementations.md index 7d2b4cac6..98019dab8 100644 --- a/docs/concepts/ipfs-implementations.md +++ b/docs/concepts/ipfs-implementations.md @@ -22,7 +22,7 @@ Looking for an easy way to get started? Install these tools for no-code access t | Name | URL | Language(s) | What it's trying to do | |----------------|---------------------------------------|----------------|-----------------------------------------------------------------------------------------------| | IPFS Desktop | | javascript | Desktop application bundling a Kubo node with file manager, peer manager and content explorer | -| IPFS Companion | | javascript | Browser extension that runs a local Kubo node and gets content from the public network | +| IPFS Companion | | javascript | Browser extension adding support for `ipfs://` addresses which are fetched from the public network by a local Kubo node | ## Popular Node Implementations and Tools From 0685ea4069f9a11106c40af3f4b91768974436db Mon Sep 17 00:00:00 2001 From: Mosh <1306020+mishmosh@users.noreply.github.com> Date: Mon, 9 Dec 2024 10:07:18 -0500 Subject: [PATCH 3/7] Update docs/concepts/ipfs-implementations.md Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> --- docs/concepts/ipfs-implementations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/ipfs-implementations.md b/docs/concepts/ipfs-implementations.md index 98019dab8..9ab3d4124 100644 --- a/docs/concepts/ipfs-implementations.md +++ b/docs/concepts/ipfs-implementations.md @@ -44,7 +44,7 @@ For developers and operators. ## Content-Addressed Data -Lightweight libraries for working IPFS-style data (CID, IPLD, CAR). Most of these do not include networking functionality. For more content-addressed data tools, see . +Lightweight libraries for working with IPFS data (CID, IPLD, CAR). Most of these do not include networking functionality. For more content-addressed data tools, see . | Name | URL | Language(s) | What it's trying to do | | --------------- | -------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------- | From 49de741b8a412b97dc43152b7c71c5cfb7d7740a Mon Sep 17 00:00:00 2001 From: Mosh <1306020+mishmosh@users.noreply.github.com> Date: Mon, 9 Dec 2024 10:07:51 -0500 Subject: [PATCH 4/7] Add js-multiformats Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> --- docs/concepts/ipfs-implementations.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/concepts/ipfs-implementations.md b/docs/concepts/ipfs-implementations.md index 9ab3d4124..08d0a7f77 100644 --- a/docs/concepts/ipfs-implementations.md +++ b/docs/concepts/ipfs-implementations.md @@ -50,6 +50,7 @@ Lightweight libraries for working with IPFS data (CID, IPLD, CAR). Most of these | --------------- | -------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------- | | atcute | | typescript | Modern implementation of CID and multiformats for JavaScript/TypeScript | | dag-cbrrr | | python | Fast CBOR-based DAG encoding/decoding implementation | +| js-multiformats | | TypeScript | SDK for multicodec, multihash, multibase, and CIDs with encoding/decoding support | | go-cid | | go | Go implementation of CIDs (Content IDentifiers) with encoding/decoding support | | go-ipld-prime | | go | Popular library for working with IPLD data in Golang | | python-libipld | | python | Python bindings for libipld, providing IPLD functionality in Python | From 588c5835b3f05b5a6f2e50625b18ed632482f7e8 Mon Sep 17 00:00:00 2001 From: Mosh <1306020+mishmosh@users.noreply.github.com> Date: Mon, 9 Dec 2024 10:08:36 -0500 Subject: [PATCH 5/7] change helia language to TS Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> --- docs/concepts/ipfs-implementations.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/concepts/ipfs-implementations.md b/docs/concepts/ipfs-implementations.md index 08d0a7f77..4c3174dd6 100644 --- a/docs/concepts/ipfs-implementations.md +++ b/docs/concepts/ipfs-implementations.md @@ -33,7 +33,8 @@ For developers and operators. | Kubo | | go | Popular, all-in-one IPFS daemon with an extensive HTTP RPC API. | | Boost | | go | Daemon to get IPFS data in and out of a Filecoin storage provider. | | Boxo (GO SDK) | | go | A component library for building IPFS applications and implementations in Go. | -| Helia (JS SDK) | | javascript | A lean, modular, and modern implementation of IPFS for the prolific JS and browser environments | +| Helia (JS SDK) | | typescript | A lean, modular, and modern implementation of IPFS for the prolific JS and browser environments | +| Verified Fetch | | typescript | A fetch-like retrieval client for IPFS | | IPFS Cluster | | go | Orchestration for multiple Kubo nodes via CRDT / Raft consensus | | Iroh | | rust | Extreme-efficiency oriented IPFS implementation. | | Lassie |   | go | A minimal universal retrieval client library for IPFS and Filecoin. | From f931e92dfa6cdb526a644b570c43b5912557a496 Mon Sep 17 00:00:00 2001 From: Mosh <1306020+mishmosh@users.noreply.github.com> Date: Wed, 18 Dec 2024 21:32:19 -0500 Subject: [PATCH 6/7] Update docs/concepts/ipfs-implementations.md Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> --- docs/concepts/ipfs-implementations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/ipfs-implementations.md b/docs/concepts/ipfs-implementations.md index 4c3174dd6..2c3eb3970 100644 --- a/docs/concepts/ipfs-implementations.md +++ b/docs/concepts/ipfs-implementations.md @@ -17,7 +17,7 @@ To propose additions or edits, [edit this page in GitHub](https://github.com/ipf ## Desktop Implementations -Looking for an easy way to get started? Install these tools for no-code access to the IPFS Amino Public Network. +Looking for an easy way to get started? Install these tools for no-code access to the Public IPFS Mainnet Network. | Name | URL | Language(s) | What it's trying to do | |----------------|---------------------------------------|----------------|-----------------------------------------------------------------------------------------------| From 2895551e117d118807cefbd7f6842ca5ee023b78 Mon Sep 17 00:00:00 2001 From: Daniel N <2color@users.noreply.github.com> Date: Thu, 19 Dec 2024 15:57:25 +0100 Subject: [PATCH 7/7] fix: formatting --- .../styles/Vocab/ipfs-docs-vocab/accept.txt | 2 + .github/styles/pln-ignore.txt | 2 + docs/concepts/ipfs-implementations.md | 88 +++++++++---------- 3 files changed, 48 insertions(+), 44 deletions(-) diff --git a/.github/styles/Vocab/ipfs-docs-vocab/accept.txt b/.github/styles/Vocab/ipfs-docs-vocab/accept.txt index 05049bcb7..d1672dc09 100644 --- a/.github/styles/Vocab/ipfs-docs-vocab/accept.txt +++ b/.github/styles/Vocab/ipfs-docs-vocab/accept.txt @@ -1,3 +1,4 @@ +atcute (?i)APIs? (?i)BitSwap (?i)CIDs? @@ -36,6 +37,7 @@ [Kk]ademlia [Kk]eystores? [Kk]ubo +[L]ibipld [Mm]arkdown(lint)? [Mm]ultiaddr(ess)? [Mm]ultiaddrs diff --git a/.github/styles/pln-ignore.txt b/.github/styles/pln-ignore.txt index a4025c9ae..27cab41ca 100644 --- a/.github/styles/pln-ignore.txt +++ b/.github/styles/pln-ignore.txt @@ -1,3 +1,4 @@ +atcute aave accessor acls @@ -121,6 +122,7 @@ lastbootstrap lastpeer leveldb libp2p +libipld linux lookups loopback diff --git a/docs/concepts/ipfs-implementations.md b/docs/concepts/ipfs-implementations.md index 2c3eb3970..c16c031fc 100644 --- a/docs/concepts/ipfs-implementations.md +++ b/docs/concepts/ipfs-implementations.md @@ -1,13 +1,13 @@ --- title: 'IPFS implementations' -description: "List of various IPFS implementations for different use cases and languages." +description: 'List of various IPFS implementations for different use cases and languages.' --- # IPFS implementations A comprehensive list of [IPFS implementations](./implementations.md) across different languages and use cases, from desktop applications to specialized libraries. -- [Desktop Implementations](#desktop-implementations) +- [Desktop Implementations](#desktop-implementations) - [Popular Node Implementations and Tools](#popular-node-implementations-and-tools) - [Content-Addressed Data](#content-addressed-data) - [Lite or Experimental](#lite-or-experimental) @@ -19,45 +19,45 @@ To propose additions or edits, [edit this page in GitHub](https://github.com/ipf Looking for an easy way to get started? Install these tools for no-code access to the Public IPFS Mainnet Network. -| Name | URL | Language(s) | What it's trying to do | -|----------------|---------------------------------------|----------------|-----------------------------------------------------------------------------------------------| -| IPFS Desktop | | javascript | Desktop application bundling a Kubo node with file manager, peer manager and content explorer | -| IPFS Companion | | javascript | Browser extension adding support for `ipfs://` addresses which are fetched from the public network by a local Kubo node | +| Name | URL | Language(s) | What it's trying to do | +| -------------- | ---------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------- | +| IPFS Desktop | | javascript | Desktop application bundling a Kubo node with file manager, peer manager and content explorer | +| IPFS Companion | | javascript | Browser extension adding support for `ipfs://` addresses which are fetched from the public network by a local Kubo node | ## Popular Node Implementations and Tools For developers and operators. -| Name | URL | Language(s) | What it's trying to do | -| --------------- | -------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------- | -| Kubo | | go | Popular, all-in-one IPFS daemon with an extensive HTTP RPC API. | -| Boost | | go | Daemon to get IPFS data in and out of a Filecoin storage provider. | -| Boxo (GO SDK) | | go | A component library for building IPFS applications and implementations in Go. | -| Helia (JS SDK) | | typescript | A lean, modular, and modern implementation of IPFS for the prolific JS and browser environments | -| Verified Fetch | | typescript | A fetch-like retrieval client for IPFS | -| IPFS Cluster | | go | Orchestration for multiple Kubo nodes via CRDT / Raft consensus | -| Iroh | | rust | Extreme-efficiency oriented IPFS implementation. | -| Lassie |   | go | A minimal universal retrieval client library for IPFS and Filecoin. | -| Lotus | | go | Filecoin node handling consensus, storage providing, making storage deals, importing data. | -| Nabu | | java | A minimalistic, fast and embeddable IPFS implementation. | -| Rainbow | | go | A specialized IPFS HTTP gateway implementation. | -| Someguy | | go | A Delegated Routing V1 server and client for all your HTTP/IPFS routing needs. | +| Name | URL | Language(s) | What it's trying to do | +| -------------- | ---------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------- | +| Kubo | | go | Popular, all-in-one IPFS daemon with an extensive HTTP RPC API. | +| Boost | | go | Daemon to get IPFS data in and out of a Filecoin storage provider. | +| Boxo (GO SDK) | | go | A component library for building IPFS applications and implementations in Go. | +| Helia (JS SDK) | | typescript | A lean, modular, and modern implementation of IPFS for the prolific JS and browser environments | +| Verified Fetch | | typescript | A fetch-like retrieval client for IPFS | +| IPFS Cluster | | go | Orchestration for multiple Kubo nodes via CRDT / Raft consensus | +| Iroh | | rust | Extreme-efficiency oriented IPFS implementation. | +| Lassie |   | go | A minimal universal retrieval client library for IPFS and Filecoin. | +| Lotus | | go | Filecoin node handling consensus, storage providing, making storage deals, importing data. | +| Nabu | | java | A minimalistic, fast and embeddable IPFS implementation. | +| Rainbow | | go | A specialized IPFS HTTP gateway implementation. | +| Someguy | | go | A Delegated Routing V1 server and client for all your HTTP/IPFS routing needs. | ## Content-Addressed Data Lightweight libraries for working with IPFS data (CID, IPLD, CAR). Most of these do not include networking functionality. For more content-addressed data tools, see . -| Name | URL | Language(s) | What it's trying to do | -| --------------- | -------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------- | -| atcute | | typescript | Modern implementation of CID and multiformats for JavaScript/TypeScript | -| dag-cbrrr | | python | Fast CBOR-based DAG encoding/decoding implementation | -| js-multiformats | | TypeScript | SDK for multicodec, multihash, multibase, and CIDs with encoding/decoding support | -| go-cid | | go | Go implementation of CIDs (Content IDentifiers) with encoding/decoding support | -| go-ipld-prime | | go | Popular library for working with IPLD data in Golang | -| python-libipld | | python | Python bindings for libipld, providing IPLD functionality in Python | -| RIBS | | go | IPFS and IPLD blockstore designed for seamless integration with Filecoin | -| rust-cid-npm | | rust | Debian packaging of the Rust CID implementation for npm | -| rust-ipld-core | | rust | Core traits and types for IPLD implementations in Rust | +| Name | URL | Language(s) | What it's trying to do | +| --------------- | ------------------------------------------------- | ----------- | --------------------------------------------------------------------------------- | +| atcute | | typescript | Modern implementation of CID and multiformats for JavaScript/TypeScript | +| dag-cbrrr | | python | Fast CBOR-based DAG encoding/decoding implementation | +| js-multiformats | | TypeScript | SDK for multicodec, multihash, multibase, and CIDs with encoding/decoding support | +| go-cid | | go | Go implementation of CIDs (Content IDentifiers) with encoding/decoding support | +| go-ipld-prime | | go | Popular library for working with IPLD data in Golang | +| python-libipld | | python | Python bindings for libipld, providing IPLD functionality in Python | +| RIBS | | go | IPFS and IPLD blockstore designed for seamless integration with Filecoin | +| rust-cid-npm | | rust | Debian packaging of the Rust CID implementation for npm | +| rust-ipld-core | | rust | Core traits and types for IPLD implementations in Rust | ## Lite Nodes or Experimental @@ -74,16 +74,16 @@ Lightweight libraries for working with IPFS data (CID, IPLD, CAR). Most of these ## Inactive -| Name | URL | Language(s) | What it's trying to do | -|--------------|-------------------------------------------------------|------------------------|--------------------------------------------------------------------------------------------------| -| Agregore | | go, javascript | Mobile friendly Kubo daemon | -| c-ipfs | | C | IPFS implementation in C | -| Elastic IPFS | | javascript, typescript | Scalable cloud-native implementation | -| Estuary | | go | Daemon oriented service to pin and onboard IPFS data into Filecoin | -| ipfs tiny | | c++ | Tiny embeddable, os-independent IPFS implementation | -| ipget | | go | Minimal wget inspired tool to download files from IPFS nodes over bitswap | -| js-ipfs | | javascript, typescript | Javascript implementation targeting nodejs and browsers [deprecated, replaced by Helia] | -| Linux2ipfs | | go | Small pipeline and extreme-performance oriented implementation for fast pinning service uploads | -| py-ipfs | | python | Python IPFS implementation | -| rust-ipfs | | rust | Rust IPFS implementation | -| whypfs | | go | Daemon based on Kubo building blocks with performance-oriented options | +| Name | URL | Language(s) | What it's trying to do | +| ------------ | ----------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------- | +| Agregore | | go, javascript | Mobile friendly Kubo daemon | +| c-ipfs | | C | IPFS implementation in C | +| Elastic IPFS | | javascript, typescript | Scalable cloud-native implementation | +| Estuary | | go | Daemon oriented service to pin and onboard IPFS data into Filecoin | +| ipfs tiny | | c++ | Tiny embeddable, os-independent IPFS implementation | +| ipget | | go | Minimal wget inspired tool to download files from IPFS nodes over bitswap | +| js-ipfs | | javascript, typescript | Javascript implementation targeting nodejs and browsers [deprecated, replaced by Helia] | +| Linux2ipfs | | go | Small pipeline and extreme-performance oriented implementation for fast pinning service uploads | +| py-ipfs | | python | Python IPFS implementation | +| rust-ipfs | | rust | Rust IPFS implementation | +| whypfs | | go | Daemon based on Kubo building blocks with performance-oriented options |