fshy

fshy / Storage

IPFS Foundation

ipfs.tech · Storage · 2 records · JSON

IPFS Foundation public gateways (ipfs.io / dweb.link / trustless-gateway.link) Storage

fails: egressemail?card?R

docs.ipfs.tech/concepts/public-utilities/ · p2p · storage/ipfs-foundation-public-gateways · JSON · compare

Free tierNo storage at all — gateway only. And the gateway itself is being retired: ipfs.io/dweb.link return HTTP 429 with 'Retry-After: 900' and 'Sunset: Mon, 21 Sep 2026', and redirect browsers to inbrowser.link.
unit mixed; metered on stored-bytes
Pricenone stated
Per-object capnot stated
Retentionnot stated
EgressRate-limited to the point of unusability from a datacenter IP: 10/10 requests returned 429 on a cold burst, and a single request after a 5 s pause also returned 429. Published posture: 'Rate limiting has begun on ipfs.io and dweb.link for hotlinked and backend traffic, and will be increasing.' Docs: 'no SLA, no support, and shared rate limits that can throttle or block your traffic at any time, without notice.'
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfacerest rest
Toolingcurl/any HTTP client; path gateway at ipfs.io, subdomain at dweb.link; trustless subset at trustless-gateway.link.
Composes withnone. The three hostnames are one backend: 'They are not three separate services... sharing the same cache, the same connections to the IPFS network, and the same rate limits.' Rotating hostnames burns the same budget.
ReliabilityThis is the single most important measurement in the slot: the 'free IPFS CDN' that every tutorial assumes is (a) gone as of 2026-09-21 and (b) already 429-ing datacenter IPs before that date. Any architecture that depends on ipfs.io/dweb.link for serving is dead on arrival.
NotesNo storage at all — gateway only. And the gateway itself is being retired: ipfs.io/dweb.link return HTTP 429 with 'Retry-After: 900' and 'Sunset: Mon, 21 Sep 2026', and redirect browsers to inbrowser.link.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (4)
datesourcewhat it proved
2026-10-21ipfs.io/ipfs/bafybei...5u4probe: GET -> HTTP/1.1 429, Retry-After: 900, Link: rel="sunset", Sunset: Mon, 21 Sep 2026; 10/10 subsequent requests 429
2026-10-21dweb.link/ipfs/bafybei...5u4probe: GET -> 429, Retry-After: 900 (identical body, 188 bytes)
2026-10-21blog.ipfs.tech/2026-08-beyond-sponsored-gateways/(2026-08-25) — 'Rate limiting has begun on ipfs.io and dweb.link for hotlinked and backend traffic, and will be increasing.'
2026-10-21gatewaychanges.ipfs.io/'these pauses keep growing until it retires for good on September 21 (UTC)'
More fields (1)
{
 "dead_end": {
  "failure_class": "dead-service",
  "why": "No storage at all — gateway only. And the gateway itself is being retired: ipfs.io/dweb.link return HTTP 429 with 'Retry-After: 900' and 'Sunset: Mon, 21 Sep 2026', and redirect browsers to inbrowser.link.",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (8)
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted

Self-hosted Kubo/Rainbow gateway (own VPS) Storage

fails: egressemail?card?Rper-ip-shaping

docs.ipfs.tech/how-to/replace-public-gateways-with-self-host · p2p · storage/self-hosted-kubo-rainbow-gateway · JSON · compare

Free tierStorage and egress are whatever your VPS/host allows. No provider quota exists — the cost moves to the host's bandwidth allowance.
unit mixed; metered on stored-bytes
Pricenone stated
Per-object capnot stated
Retentionnot stated
EgressYou pay the host. IPFS docs recommend putting a CDN like Cloudflare in front of the gateway and setting Cache-Control/ETag/X-Ipfs-Roots for cacheability — which is the one genuinely correct architectural move in this slot, but it is Cloudflare's free egress you are relying on, not IPFS's.
Identityemail (placeholder) not published
Limits
  • per-ip-shaping 1 TiB/day source
Bandwidth of the VPS; DHT lookup latency on cold CIDs; no excess-use protection by default ('Unlike ipfs.io, a self-hosted gateway has no abuse protection by default').
Bindingper-ip-shaping one stream is shaped, and a user's throughput is the shaped rate times the number of streams
Interfacerest, webdav, rclone rest
ToolingKubo (go-ipfs), Rainbow (github.com/ipfs/rainbow), Someguy for delegated routing, Helia in-browser; rclone can talk to the Kubo RPC API via a webdav/MFS shim but there is no first-class rclone backend.
Composes withDoes not multiply free storage — it only re-serves content you already paid to pin. Combined with a free pinning service it can turn 5 GB of free pinning into unmetered-looking reads, but only for 5 GB of content.
ReliabilityThis is the honest answer to 'does self-hosting change the economics?': it changes *who* meters you, not *whether* you are metered. It cannot manufacture 500 GB–1 TiB/day of free transit; it just moves the bill to the VPS or CDN.
NotesStorage and egress are whatever your VPS/host allows. No provider quota exists — the cost moves to the host's bandwidth allowance.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-ip-shaping 1.0 TiB / day
Evidence (2)
datesourcewhat it proved
2026-10-21docs.ipfs.tech/how-to/replace-public-gateways-with-self-host'Put a CDN like Cloudflare in front of the IPFS gateway'; 'a self-hosted gateway has no abuse protection by default' (the vendor means it applies no excess-use protection)
2026-10-21docs.ipfs.tech/how-to/gateway-best-practices/'Ensure that you are correctly returning HTTP cache headers... Consider leveraging the list of CIDs in X-Ipfs-Roots'
More fields (1)
{
 "dead_end": {
  "failure_class": "egress",
  "why": "Storage and egress are whatever your VPS/host allows. No provider quota exists — the cost moves to the host's bandwidth allowance.",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (8)
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted