Skip to content

Commit 640fb45

Browse files
aschmahmann2colorlidel
authored
feat: add information on the features supported by the public IPFS gateways (#1877)
* feat: add information on the features supported by the public IPFS gateways * fix: apply suggested changes * add works to ignore * Update docs/concepts/public-utilities.md Co-authored-by: Marcin Rataj <lidel@lidel.org> * chore: suggestions from code review --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Marcin Rataj <lidel@lidel.org>
1 parent 46bca40 commit 640fb45

2 files changed

Lines changed: 25 additions & 0 deletions

File tree

.github/styles/pln-ignore.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ data
5656
data's
5757
Datastore
5858
datastore
59+
dialback
5960
dClimate
6061
deduplicate
6162
Denylist
@@ -283,3 +284,4 @@ WiFi
283284
WS
284285
WSS
285286
YouTube
287+
Yamux

docs/concepts/public-utilities.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,29 @@ From there, an internal system extracts the relevant information from the reques
3434

3535
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.
3636

37+
### Supported Features
38+
39+
The above public gateways support the following:
40+
41+
- `ipfs.io` and `dweb.link` support the [full set of IPFS Gateway specifications](https://specs.ipfs.tech/http-gateways/).
42+
- `trustless-gateway.link` supports only the [Trustless Gateway subset of the specification](https://specs.ipfs.tech/http-gateways/trustless-gateway/).
43+
44+
They support HTTP clients reaching them over both ipv4 and ipv6 addresses
45+
46+
The underlying IPFS nodes backing the gateways support the following mutable identifiers under the `/ipns` namespace:
47+
- IPNS Public Keys, e.g. `dweb.link/ipns/k51q....`
48+
- 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`
49+
50+
The underlying IPFS nodes backing the gateways support retrieving data from peers that:
51+
- Have either ipv4 or ipv6 addresses
52+
- 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
53+
- Support one of the following libp2p transport configurations:
54+
- QUIC-v1
55+
- TCP or WS or WSS, Yamux, TLS or Noise
56+
- WebTransport
57+
- 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))
58+
- 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)
59+
3760
## Other Public Gateways
3861

3962
Additionally, there's a community-maintained [tool for finding and testing public gateways](https://ipfs.github.io/public-gateway-checker/).

0 commit comments

Comments
 (0)