From ff53bb3d1abab0d6f53a334599e820f828794152 Mon Sep 17 00:00:00 2001 From: Adin Schmahmann Date: Mon, 10 Jun 2024 13:20:34 -0400 Subject: [PATCH 1/5] feat: add information on the features supported by the public IPFS gateways --- docs/concepts/public-utilities.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/concepts/public-utilities.md b/docs/concepts/public-utilities.md index 7480fb4fc..df69b7920 100644 --- a/docs/concepts/public-utilities.md +++ b/docs/concepts/public-utilities.md @@ -34,6 +34,29 @@ From there, an internal system extracts the relevant information from the reques Your browser may have a local cache of the content in question and might not reflect that something has been blocked on the gateways. To avoid browser caching, attempt to view the content using your browser's incognito or private mode. You can also prevent caching issues by using a command-line tool such as Curl or Wget. +### Supported Features + +IPFS implementations can support a variety of protocols and specifications. The above public gateways support the following: + +- ipfs.io and dweb.link support the full set of IPFS Gateway specifications: https://specs.ipfs.tech/http-gateways/ +- trustless-gateway.link supports only the Trustless Gateway subset: https://specs.ipfs.tech/http-gateways/trustless-gateway/ + +They support HTTP clients reaching them over both ipv4 and ipv6 addresses + +The underlying IPFS nodes backing the gateways support the following mutable identifiers under the `/ipns` namespace: +- IPNS Public Keys +- DNSLink for all IANA registered domains as well as .crypto and .eth + +The underlying IPFS nodes backing the gateways support retrieving data from peers that: +- Have either ipv4 or ipv6 addresses +- Are either reachable over the public internet or are accessible via libp2p's relay-v2 protocol and reach out to the gateway nodes via dialback +- Support one of the following libp2p transport configurations: + - QUIC-v1 + - TCP or WS or WSS, Yamux, TLS or Noise + - WebTransport +- Support the Bitswap protocol (any versions 1 through 1.2) +- Have either advertised their data to the Amino DHT, or have advertised to IPNI such that their data has been indexed by cid.contact + ## Other Public Gateways Additionally, there's a community-maintained [tool for finding and testing public gateways](https://ipfs.github.io/public-gateway-checker/). From 343c746cb38e6919d3b9803671107f703306af62 Mon Sep 17 00:00:00 2001 From: Adin Schmahmann Date: Thu, 20 Jun 2024 12:43:02 -0400 Subject: [PATCH 2/5] fix: apply suggested changes --- docs/concepts/public-utilities.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/concepts/public-utilities.md b/docs/concepts/public-utilities.md index df69b7920..0ab1a41ee 100644 --- a/docs/concepts/public-utilities.md +++ b/docs/concepts/public-utilities.md @@ -36,16 +36,16 @@ Your browser may have a local cache of the content in question and might not ref ### Supported Features -IPFS implementations can support a variety of protocols and specifications. The above public gateways support the following: +The above public gateways support the following: -- ipfs.io and dweb.link support the full set of IPFS Gateway specifications: https://specs.ipfs.tech/http-gateways/ -- trustless-gateway.link supports only the Trustless Gateway subset: https://specs.ipfs.tech/http-gateways/trustless-gateway/ +- `ipfs.io` and `dweb.link` support the [full set of IPFS Gateway specifications](https://specs.ipfs.tech/http-gateways/). +- `trustless-gateway.link` supports only the [Trustless Gateway subset of the specification](https://specs.ipfs.tech/http-gateways/trustless-gateway/). They support HTTP clients reaching them over both ipv4 and ipv6 addresses The underlying IPFS nodes backing the gateways support the following mutable identifiers under the `/ipns` namespace: -- IPNS Public Keys -- DNSLink for all IANA registered domains as well as .crypto and .eth +- IPNS Public Keys, e.g. `ipfs.io/ipns/k51q....` +- DNSLink for all IANA registered domains as well as `.crypto` and `.eth`, e.g. `vitalik-eth.ipns.dweb.link` The underlying IPFS nodes backing the gateways support retrieving data from peers that: - Have either ipv4 or ipv6 addresses From 9855867e6456c0cf4f4e0f066f980570e16ce3a9 Mon Sep 17 00:00:00 2001 From: Daniel N <2color@users.noreply.github.com> Date: Fri, 21 Jun 2024 16:44:28 +0200 Subject: [PATCH 3/5] add works to ignore --- .github/styles/pln-ignore.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/styles/pln-ignore.txt b/.github/styles/pln-ignore.txt index 18a9de4b3..60dbec3f4 100644 --- a/.github/styles/pln-ignore.txt +++ b/.github/styles/pln-ignore.txt @@ -56,6 +56,7 @@ data data's Datastore datastore +dialback dClimate deduplicate Denylist @@ -283,3 +284,4 @@ WiFi WS WSS YouTube +Yamux \ No newline at end of file From ef8fa4a8a6a5a9a5216af4e15c3595300f125b7d Mon Sep 17 00:00:00 2001 From: Adin Schmahmann Date: Tue, 2 Jul 2024 15:17:12 -0400 Subject: [PATCH 4/5] Update docs/concepts/public-utilities.md Co-authored-by: Marcin Rataj --- docs/concepts/public-utilities.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/public-utilities.md b/docs/concepts/public-utilities.md index 0ab1a41ee..b75cc13c1 100644 --- a/docs/concepts/public-utilities.md +++ b/docs/concepts/public-utilities.md @@ -55,7 +55,7 @@ The underlying IPFS nodes backing the gateways support retrieving data from peer - TCP or WS or WSS, Yamux, TLS or Noise - WebTransport - Support the Bitswap protocol (any versions 1 through 1.2) -- Have either advertised their data to the Amino DHT, or have advertised to IPNI such that their data has been indexed by cid.contact +- Have either advertised their data to the Amino DHT, or have advertised to IPNI such that their data has been indexed by [cid.contact](https://cid.contact) ## Other Public Gateways From 8bea53f464509c25b98c654de8e0a48ff656d33c Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Tue, 2 Jul 2024 21:26:46 +0200 Subject: [PATCH 5/5] chore: suggestions from code review --- docs/concepts/public-utilities.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/concepts/public-utilities.md b/docs/concepts/public-utilities.md index b75cc13c1..569490f24 100644 --- a/docs/concepts/public-utilities.md +++ b/docs/concepts/public-utilities.md @@ -44,8 +44,8 @@ The above public gateways support the following: They support HTTP clients reaching them over both ipv4 and ipv6 addresses The underlying IPFS nodes backing the gateways support the following mutable identifiers under the `/ipns` namespace: -- IPNS Public Keys, e.g. `ipfs.io/ipns/k51q....` -- DNSLink for all IANA registered domains as well as `.crypto` and `.eth`, e.g. `vitalik-eth.ipns.dweb.link` +- IPNS Public Keys, e.g. `dweb.link/ipns/k51q....` +- DNSLink for all [ICANN](https://en.wikipedia.org/wiki/ICANN) registered domains as well as `.crypto` and `.eth`, e.g. `dweb.link/ipns/vitalik.eth` The underlying IPFS nodes backing the gateways support retrieving data from peers that: - Have either ipv4 or ipv6 addresses @@ -54,7 +54,7 @@ The underlying IPFS nodes backing the gateways support retrieving data from peer - QUIC-v1 - TCP or WS or WSS, Yamux, TLS or Noise - WebTransport -- Support the Bitswap protocol (any versions 1 through 1.2) +- Support the [Bitswap](./bitswap.md) protocol ([v1.2](https://specs.ipfs.tech/bitswap-protocol/#bitswap-1-2-0), [v1.1](https://specs.ipfs.tech/bitswap-protocol/#bitswap-1-1-0) or [v1.0](https://specs.ipfs.tech/bitswap-protocol/#bitswap-1-0-0)) - Have either advertised their data to the Amino DHT, or have advertised to IPNI such that their data has been indexed by [cid.contact](https://cid.contact) ## Other Public Gateways