Informal group working on improving IPFS presence in web browsers
Our goal is to facilitate native support for IPFS and other decentralized protocols in web browsers in order to benefit ....
IPFS Companion is a browser extension that simplifies access to IPFS resources and adds browser support for the IPFS protocol. It runs in Firefox (desktop and Android) and Chromium-based browsers including Chrome or Brave. Check out all of IPFS Companion's features and install it today!
Firefox \ | Firefox for Android | Chrome \ | Brave \ | Opera \ | Edge |
---|---|---|---|---|---|
libdweb
to implement experimental APIs for Firefox WebExtensions, with a goal of enabling dweb protocols in Firefox through browser add-ons:
window.ipfs
(experiment ended in 2020)chrome.sockets.*
APIs in Chromium browsers (ended due to EOL 2022)Helia is a lean, modular, and modern TypeScript implementation of IPFS for the prolific JS and browser environments.
See the Manifesto, the FAQ, and the State of IPFS in JS blog post from October 2022 for more info.
Usage examples:
ipfs/helia
@helia/verified-fetch
node in ServiceWorker
can be found at https://inbrowser.link (sources)The js-ipfs
/ ipfs-core
is is no longer maintained.
See State of IPFS in JS blog post from October 2022 for rationale.
See specification and implementer notes at https://specs.ipfs.tech/http-gateways/.
DNSLink enables you to map a domain name to an IPFS address (CID or IPNS libp2p-key) by means of a DNS TXT record.
Protocol Labs is a W3C Member. Current focus is to watch, learn, and participate in WebExtensions Community Group.
In 2020 IPFS and Igalia started a collaboration that continues to this day. Read more: https://blog.ipfs.tech/2021-01-15-ipfs-and-igalia-collaborate-on-dweb-in-browsers/
The most notable highlights (chronological order):
ext+
. Refinement is pending for the permission UI.http://*.localhost/
URLs as secure context, which means websites loaded from local subdomain gateway will have access to the same Web APIs as HTTPS version.registerProtocolHandler()
ipfs://
or ipns://
it prompted the user to install and enable the native IPFS node (Kubo), or to use an HTTP gateway. Opera for Android 57 introduced support for resolving ipfs://
or ipns://
via a customizable gateway.
Read more: https://blog.ipfs.tech/2020-03-30-ipfs-in-opera-for-android/
Contributions to our work are more than welcome! Every IPFS Project repo makes use of the project-wide global issue labeling scheme. Good labels to look for are ...
help wanted
good first issue
bounty
labels for issues with rewards as part of the IPFS Bounty Board!If you see an issue that catches your eye, leave a comment so we know you're interested, and we'll go from there!
We're an open project and a friendly group, so please be nice and read the contributing guidelines when you're ready to jump in.
For the sake of async communication, archiving, and searchability, we encourage browser-related technical discussions to happen in the context of GitHub issue comments whenever practical.
If you want to ask support question, or just chat informally to learn and brainstorm, feel free to join chat community or discussion forum at https://discuss.ipfs.tech
https://docs.ipfs.tech is backed by the repo at https://github.com/ipfs/ipfs-docs – any help in improving docs related to browsers (or not) is appreciated!
Proof-read ipfs/specs and fill an issue for: (1) outdated specs (2) missing specs (3) bits that are confusing and need to be clarified.
If you're looking for endeavors related to IPFS browser integration work, these resources may be helpful.