Skip to content

Tracking the endeavor towards getting web browsers to natively support IPFS.

License

Notifications You must be signed in to change notification settings

DidierCOQUARD/in-web-browsers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The IPFS web browsers integration group

Half of the IPFS Web Browsers & GUI Working Group

Made by icon. Project icon. #ipfs #ipfs-in-web-browsers

Our goal is to facilitate native support for IPFS and other decentralized protocols in web browsers in order to benefit ....

  • Browser users: Browser extensions and native-included IPFS alike expose IPFS features in a robust and intuitive way
  • Web developers: Web developers can enjoy a smooth experience working with IPFS in browser contexts
  • Browser vendors: Browser developers are empowered to meet the requirements of the distributed web

Contents

Current projects

IPFS Companion browser extension

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
Install From AMO Install from Chrome Store

Past web extension experiments

IPFS and the JavaScript ecosystem

At present, in order to run IPFS in a web browser, you must either bundle js-ipfs (a full IPFS node in JavaScript) with your client-side application, or use the js-ipfs-http-client HTTP API client library to connect to an external daemon running on a local or remote machine.

Accessing the IPFS HTTP API

The standalone IPFS daemon (either go-ipfs or js-ipfs in Node) exposes the API at /api/v0/. It is an RPC-style API over HTTP POST.

How to address IPFS on the web

  • For regular users, see this guide to how to address IPFS content paths on the web
  • For browser vendors and user agent developers, see this memo for the current set of URL conventions for the IPFS community; we invite everyone to submit questions and suggestions for improvements via issues/PRs

DNSLink

DNSLink enables you to map a domain name to an IPFS address by means of a DNS TXT record.

  • Read the DNSLink guide for details, including how to set it up on your own website
  • See details on DNSLink in IPFS Companion to see additional benefits of using IPFS Companion with DNSLink support

Collaborations

IPFS and Igalia collaborate on dweb in browsers

In 2020 IPFS and Igalia started a collaboration that will continue during 2021.
Read more: https://blog.ipfs.io/2021-01-15-ipfs-and-igalia-collaborate-on-dweb-in-browsers/

The most notable highlights at the beginning of 2021:

Brave

Brave v1.19 has integrated IPFS into their desktop web browser for Windows, macOS and Linux. When Brave detects an address which is an HTTP gateway URL to IPFS content or a native IPFS address such as ipfs:// or ipns:// it will prompt the user to install and enable the native IPFS node, or to use an HTTP gateway. Diagnostic UI can be found at brave://ipfs, we suggest enabling IPFS Companion for the best experience

TLDR integration status:

  • Initial release (v1.19) is focused on daemon orchestration and on URI support (read blogs and press)
  • Demo: Opening ipfs://{cid} will trigger install prompt for go-ipfs managed by Brave itself.
  • For the best experience enable IPFS Companion and switch it to IPFS Node Type "Provided by Brave". When Companion is enabled all IPFS resources will be resolved by the local node.

Opera

Opera for Android 57 introduced support for resolving ipfs:// or ipns:// via a customizable gateway.
Read more: https://blog.ipfs.io/2020-03-30-ipfs-in-opera-for-android/

WG status

Now half of the Web Browsers & GUI Working Group!

The IPFS core team has re-activated the Web Browsers & GUI Working Group as a combined team of this group and the IPFS GUI group. This larger working group operates with a focus on furthering browser adoption and integration, as well as improving the functionality and usability of our GUI-based tools as a whole, with a particular focus on benefiting the onboarding of new IPFS developers and users.

Get involved!

Join a meeting

We'd love to meet you in person at one of our open Web Browsers & GUI Working Group meetings. They're a great way to get quickly up to speed on our work, including latest developments and awesome demos.

You can also explore recordings and notes from past meetings any time.

Contribute to an issue

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
  • and there are even occasional 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.

Discuss in GitHub or IRC

We do hang out on IRC — see the #ipfs and #ipfs-in-web-browsers channels on irc.freenode.net — but for the sake of async communication, archiving, and searchability, we encourage discussions to happen in the context of GitHub issue comments whenever practical.

Resources

If you're looking for endeavors related to IPFS browser integration work, these resources may be helpful.

  • IPFS Companion: Harness the power of your local or js-ipfs node directly inside your favorite Chromium or Firefox browser, enabling support for ipfs:// addresses, automatic IPFS gateway loading of websites and file paths, easy IPFS file import and sharing, and more
  • IPFS Web UI: The IPFS dashboard shipped with the IPFS daemon or IPFS Desktop
  • js-ipfs: IPFS implementation in JavaScript
  • HTTP API documentation: Guide to the HTTP API exposed when an IPFS node (go-ipfs or js-ipfs) is running as a daemon; allows you to control the node and run the same commands you can from the command line
  • IPFS GUI group - The other half of the IPFS Web Browsers & GUI Working Group, dedicated to creating and implementing standards and patterns for IPFS that are simple, accessible, reusable, and beautiful

About

Tracking the endeavor towards getting web browsers to natively support IPFS.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published