-
Notifications
You must be signed in to change notification settings - Fork 432
feat: add information on the features supported by the public IPFS gateways #1877
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
ff53bb3
343c746
9855867
ef8fa4a
8bea53f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||
---|---|---|---|---|
|
@@ -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 | ||||
|
||||
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 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, 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 | ||||
- 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 | ||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. WebTransport is only for browsers as far as I'm aware.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. go-libp2p should support both receiving and dialing webtransport addresses (e.g. https://github.com/libp2p/go-libp2p/blob/6cebdd88366696a19b61dc209768c932a8f1ec4b/p2p/transport/webtransport/transport_test.go#L106) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Pretty cool, but would be misleading. As far as I'm aware there's no reason a go peer would use WebTransport over QUIC. It would be misleading as it might wrongly suggest that browsers with WebTransport can be dialled over WebTransport. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
IIRC WebTransport would better help you hide you were using libp2p since it just looks like a regular HTTP/3 connection. However, independent of that some environments other than browsers might make WebTransport available before QUIC due to needing lower level access to QUIC (as opposed to WebTransport which for libp2p's case runs a Noise handshake on top to establish which PeerID is associated with the connection). |
||||
- 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 | ||||
|
||||
Additionally, there's a community-maintained [tool for finding and testing public gateways](https://ipfs.github.io/public-gateway-checker/). | ||||
|
Uh oh!
There was an error while loading. Please reload this page.