whatwg / whatwg/html

Safelist protocol handlers for DWeb

Open
#3,935 10 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

addition/proposal impacts documentation topic: custom protocols
Dominant language
HTML
Stars
9.4k
Forks
3.2k
Avg merge
3d 9h
Merged PRs (30d)
38

Description

This issue tracks safelisting of "ssb", "dat", "ipfs", "ipns" and "dweb" protocols within HTML spec.

Context

https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme

This list can be changed. If there are schemes that ought to be added, please send feedback.

Motivation

Safelisted protocols do not require web+ prefix when redirect-based handler is registered via navigator.registerProtocolHandler. Additionally, browser vendors often reuse the safelist as the default for deciding which protocols can be handled by WebExtensions (example).

Safelisting DWeb protocols in HTML spec would make it possible for the community to start using non-HTTP DWeb addresses in the wild and provide users with HTTP-based gateways/readers even before native protocol handler API matures enough to be a part of WebExtensions.

Vendor Support

Historically there was the chicken and the egg problem with adding new protocols to the safelist, so it is important to emphasize that browser vendors are supportive to this change (see references below), and waiting for HTML spec.

  • Firefox does not require web+ prefix for handlers registered via navigator.registerProtocolHandler, so they effectively implement change proposed in this issue.
    • Mozilla also whitelisted (patch) DWeb protocols for use in WebExtension context (Firefox 59).
  • Chromium is waiting (one of reasons why this issue got created), but there is intent to implement the change if HTML spec is supportive
References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the HTML Standard's safelisted-scheme section and the linked vendor references first. Confirm how the requested ssb, dat, ipfs, ipns, and dweb schemes fit the existing safelist and review the linked discussions for consensus. Done means the HTML specification reflects the accepted protocol-safelisting change.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.