Skip to content

Reliable, decentralized, and trustless browser fetching of IPFS content — IPFS/2025 #4

@cewood

Description

@cewood

Reliable, decentralized, and trustless browser fetching of IPFS content

Direct retrieval from publicly reachable IPFS providers via inbrowser.link

ETA

Q1

Expected impact

  1. Pathway to removing the risk and cost associated with operating a millions of dollars in community resources piece of infrastructure to maintain ipfs.io and dweb.link, particularly as the end of our arrangement with Cloudflare gets closer
  2. Development of tools that enable IPFS to be usable (at least on the information consuming side) from within a web browser
  3. Increased resiliency as service worker gateways and delegated routing are much less expensive to setup than traditional gateways which means if a provider has an outage, is censored, etc. spinning up an alternative isn’t as much of a problem
  4. Reduction of the need for user trust in gateway operators from “all responses are non-verifiable without additional metadata, and in practice are never verified” to “as long as whoever serves me the JS code for loading IPFS content isn’t modifying it just for me the data is verifiable”

Progress report

  • Expanded the capabilities of @helia/verified-fetch and inbrowser.link (demo of the service worker gateway) to enable direct retrieval from /tls/http, /tls/ws, /webrtc-direct, and /webtransport providers

    • Implemented opt-in HTTP retrieval in Go (Boxo, Rainbow) and JavaScript (Helia, verified-fetch)

    • Completed AutoTLS rollout across the IPFS stack, increasing the number of /tls/ws providers accessible to browser nodes

    • Clients and examples: go-libp2p/example/autotls, @libp2p/auto-tls

    • Kubo v0.34 now enables AutoTLS by default after 1 hour of uptime

    • Improved reliability of the WebRTC Direct listener in Kubo v0.33

    • Supported Igalia in redesigning WebTransport throttling in Google Chrome (review)

    • Shipped HTTP retrieval support in Boxo and Rainbow

    • Collaborated with Storacha to resolve implementation issues (e.g., missing HEAD support)

  • inbrowser.link (service worker gateway) improvements:

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions