All Projects → ipfs → in-web-browsers

ipfs / in-web-browsers

Licence: MIT license
Tracking the endeavor towards getting web browsers to natively support IPFS and content-addressing

Projects that are alternatives of or similar to in-web-browsers

ipfs-pubsub-chatroom
Simple IPFS Pubsub chatroom built on React
Stars: ✭ 45 (-85.85%)
Mutual labels:  ipfs
go-libp2p-http
HTTP on top of libp2p
Stars: ✭ 49 (-84.59%)
Mutual labels:  ipfs
creaton
Decentralized content sharing platform.
Stars: ✭ 38 (-88.05%)
Mutual labels:  ipfs
IpfsBox
a full ipfs node on android
Stars: ✭ 18 (-94.34%)
Mutual labels:  ipfs
estuary-www
https://estuary.tech
Stars: ✭ 32 (-89.94%)
Mutual labels:  ipfs
whitepaper
The Fission Technical Whitepaper
Stars: ✭ 15 (-95.28%)
Mutual labels:  ipfs
IPFS-Ethereum-Image
【IPFS + 区块链 系列】 入门篇 - IPFS + Ethereum (下篇)-ipfs + Ethereum 大图片存储
Stars: ✭ 57 (-82.08%)
Mutual labels:  ipfs
is-ipfs
A set of utilities to help identify IPFS resources on the web
Stars: ✭ 99 (-68.87%)
Mutual labels:  ipfs
edgevpn
⛵ The immutable, decentralized, statically built p2p VPN without any central server and automatic discovery! Create decentralized introspectable tunnels over p2p with shared tokens
Stars: ✭ 223 (-29.87%)
Mutual labels:  ipfs
research
Shared learning of decentralized development.
Stars: ✭ 26 (-91.82%)
Mutual labels:  ipfs
eth-plot
r/place inspired Dapp
Stars: ✭ 36 (-88.68%)
Mutual labels:  ipfs
dapps.earth
Source code for dapps.earth: IPFS and Swarm gateway
Stars: ✭ 12 (-96.23%)
Mutual labels:  ipfs
rust-ipfs-api
Rust language IPFS API implementation
Stars: ✭ 20 (-93.71%)
Mutual labels:  ipfs
django-ipfs-storage
IPFS storage backend for Django.
Stars: ✭ 26 (-91.82%)
Mutual labels:  ipfs
react-native-boilerplate
[DEPRECATED] A boilerplate app that shows creating, starting, and managing an IPFS peer using Textile's React Native SDK
Stars: ✭ 20 (-93.71%)
Mutual labels:  ipfs
HandyBrowser
A Handshake enabled Chromium web browser and reference client; works with HSD and the HNSD light client. Use our example to build or integrate Handshake into any browser.
Stars: ✭ 101 (-68.24%)
Mutual labels:  browsers
gilfoyle
Distributed video encoding, hosting and streaming (WIP)
Stars: ✭ 73 (-77.04%)
Mutual labels:  ipfs
js-threaddb
This project has been moved to https://github.com/textileio/js-textile
Stars: ✭ 13 (-95.91%)
Mutual labels:  ipfs
web3.storage
⁂ The simple file storage service for IPFS & Filecoin
Stars: ✭ 417 (+31.13%)
Mutual labels:  ipfs
peer-id-generator
Vanity public key generator for use with IPFS and IPNS
Stars: ✭ 27 (-91.51%)
Mutual labels:  ipfs

The IPFS web browsers integration group

Informal group working on improving IPFS presence in web browsers

Made by icon. Project icon.

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

Notable past web extension experiments

IPFS and the JavaScript ecosystem

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

How to address IPFS on the web

How to run own HTTP Gateway

Use the latest Kubo daemon and follow gateway recipes.

How to implement HTTP Gateway

See specification and implementer notes at ipfs/specs/http-gateways.

DNSLink

DNSLink enables you to map a domain name to an IPFS address (CID or IPNS libp2p-key) 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

W3C

Protocol Labs is a W3C Member. Current focus is to watch, learn, and participate in WebExtensions Community Group.

IPFS and Igalia collaborate on dweb in browsers

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):

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.tech/2020-03-30-ipfs-in-opera-for-android/

Get involved!

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

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 in #lobby:ipfs.io or discussion forum at https://discuss.ipfs.io

Improve docs

https://docs.ipfs.io is backed by the repo at https://github.com/ipfs/ipfs-docs – any help in improving docs related to browsers (or not) is appreciated!

Improve specs

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.

Resources

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

  • IPFS in Brave Browser: TLDR explanation how Brave supports IPFS out of the box (either as local node, or by delegating to a public gateway of user's choice)
  • IPFS Companion: Harness the power of your local IPFS daemon 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-core: Core IPFS implementation in JavaScript for use in browser (without Nodejs daemon parts)
  • HTTP Gateway API docs - implementation-agnostic interface for trusted and trustless data retrieval
  • HTTP RPC API docs: Guide to the RPC over HTTP API exposed when a Kubo IPFS node (go-ipfs) is running as a daemon; allows you to control the node and run the same commands you can from the command line
    • For up-to-date info about which JS client to use, see ipfs/kubo#9125
  • 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].