All Projects → ipfs → ipfs-companion

ipfs / ipfs-companion

Licence: CC0-1.0 license
Browser extension that simplifies access to IPFS resources on the web

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to ipfs-companion

Ipfs Companion
Browser extension that simplifies access to IPFS resources on the web
Stars: ✭ 1,247 (-28.54%)
Mutual labels:  protocol, ipfs, webextension, firefox-extension
Ipfs Desktop
An unobtrusive and user-friendly desktop application for IPFS on Windows, Mac and Linux.
Stars: ✭ 3,710 (+112.61%)
Mutual labels:  protocol, ipfs, dweb
RegexSearch
Firefox Extension (WebExtension) to Search in HTML using Regular Expression (REGEX)
Stars: ✭ 38 (-97.82%)
Mutual labels:  webextension, firefox-extension
svelte-webext-storage-adapter
Svelte stores, backed up by chrome.storage
Stars: ✭ 18 (-98.97%)
Mutual labels:  webextension, firefox-extension
tab-counter
A button badge that shows the number of tabs open in a window
Stars: ✭ 35 (-97.99%)
Mutual labels:  webextension, firefox-extension
snoozz-tab-snoozing
A Web Extension to declutter windows by snoozing tabs for later
Stars: ✭ 105 (-93.98%)
Mutual labels:  webextension, firefox-extension
FireX-Proxy
FireX Proxy for Mozilla Firefox, Google Chrome
Stars: ✭ 96 (-94.5%)
Mutual labels:  webextension, firefox-extension
LAN-port-scan-forbidder
Forbid untrusted webs to access localhost or LAN. An anti-scan protection 🛡️🏡
Stars: ✭ 53 (-96.96%)
Mutual labels:  webextension, firefox-extension
Gun
An open source cybersecurity protocol for syncing decentralized graph data.
Stars: ✭ 15,172 (+769.46%)
Mutual labels:  protocol, dweb
tiddlywiki-ipfs
IPFS with TiddlyWiki
Stars: ✭ 50 (-97.13%)
Mutual labels:  ipfs, ipfs-companion
myNewTabWE
myNewTabMod这个扩展的WebExtension版本,由于API限制部分功能无法实现
Stars: ✭ 14 (-99.2%)
Mutual labels:  webextension, firefox-extension
scrobbly
↩️ Scrobble your animes to Anilist, Kitsu!
Stars: ✭ 23 (-98.68%)
Mutual labels:  webextension, firefox-extension
go-ipfs-plugin-i2p-gateway
A plugin for presenting an IPFS gateway over i2p
Stars: ✭ 14 (-99.2%)
Mutual labels:  ipfs, ipfs-gateway
quickjira
🚤 📂 Quickly access the JIRA of your choice by typing the ticket id
Stars: ✭ 65 (-96.28%)
Mutual labels:  webextension, firefox-extension
tickety-tick
A browser extension that helps you name branches and write better commit messages
Stars: ✭ 55 (-96.85%)
Mutual labels:  webextension, firefox-extension
enterprise-policy-generator
The Enterprise Policy Engine allows administrators to configure Firefox via a configuration file. The Enterprise Policy Generator helps to create the configuration file.
Stars: ✭ 57 (-96.73%)
Mutual labels:  webextension, firefox-extension
yt-dislikes-viewer
A browser extension that allows you to see dislikes on a youtube video after the youtube update
Stars: ✭ 291 (-83.32%)
Mutual labels:  webextension, firefox-extension
Element
DID Method implementation using the Sidetree protocol on top of Ethereum and IPFS
Stars: ✭ 80 (-95.42%)
Mutual labels:  protocol, ipfs
ipfs-blog
IPFS Blog & News
Stars: ✭ 31 (-98.22%)
Mutual labels:  ipfs, dweb
Upvote-Anywhere
Upvote Anywhere Browser Extension
Stars: ✭ 339 (-80.57%)
Mutual labels:  webextension, firefox-extension

IPFS Companion

Harness the power of IPFS in your browser!

i18n status

Quick runthrough of basic IPFS Companion features

Firefox | Firefox for Android Chrome | Brave | Opera | Edge
Install From AMO
Install from Chrome Store

Lead maintainer

Marcin Rataj

Table of contents

About IPFS Companion

IPFS Companion harnesses the power of your locally running IPFS node (either through the IPFS Desktop app or the command-line daemon) directly inside your favorite Chromium-based or Firefox browser, enabling support for ipfs:// addresses, redirecting content-addressed websites and file paths to your local Gateway, easy IPFS file import and sharing, and more.

IPFS is a peer-to-peer hypermedia protocol designed to make the web faster, safer, more resilient, and more open. It enables the creation and dissemination of completely distributed sites and applications that don’t rely on centralized hosting and stay true to the original vision of an open, flat web. Visit the IPFS Project website to learn more.

IPFS Companion features

Automatically detect and redirect IPFS resources

Detect URLs with IPFS paths

IPFS Companion detects and tests requests for IPFS-like paths ( such as /ipfs/{cid} or /ipns/{peerid_or_host-with-dnslink}) on any website. If a path is a valid IPFS address, it is redirected to load from your local gateway. The gateway at localhost will also automatically switch to a subdomain to provide a unique origin for each website:

https://ipfs.io/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR
http://localhost:8080/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnRhttp://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi.ipfs.localhost:8080

Detect DNSLink-enabled URLs

IPFS Companion detects DNSLink info in the DNS records of websites. If a site uses DNSLink (a few examples are https://docs.ipfs.io, https://ipld.io, and http://tr.wikipedia-on-ipfs.org), IPFS Companion redirects the HTTP request to your local gateway:

http://docs.ipfs.io
http://localhost:8080/ipns/docs.ipfs.iohttp://docs.ipfs.io.ipns.localhost:8080/

Detect pages with x-ipfs-path headers

IPFS Companion also upgrades transport to IPFS if it finds the x-ipfs-path in any HTTP response headers; this also acts as a fallback for cases when an IPFS path is not present in the URL. Learn more.

Toggle redirects globally or per site

You can disable and re-enable local gateway redirects by several means:

  • Suspend redirects globally in IPFS Companion's preferences
  • Suspend redirects per site using the toggle under "Current tab" (illustrated below) or in IPFS Companion's preferences
  • Add x-ipfs-companion-no-redirect to the URL itself as a hash (example) or query parameter (example)

Access frequently-used IPFS actions from your browser bar

IPFS Companion enables you to quickly and easily access common actions from your browser bar with just a few clicks:

  • See how many peers you're connected with a glance at the cube icon in your browser bar
  • Check your IPFS API and gateway status by clicking the cube icon to reveal the main menu
  • Right-click images and other page assets to easily add them to IPFS (including the option to preserve file names)
  • Choose the Import option in the main menu for quick drag-and-drop import from a browser tab
  • Pin or unpin IPFS resources (via API) directly from the main menu
  • Copy shareable public gateway links, IPFS content paths, or CIDs of IPFS resources directly from the main menu
  • Launch the IPFS Web UI dashboard from the main menu with a single click
  • Toggle gateway redirects or switch all IPFS Companion features on/off quickly and easily from the main menu (illustrations below)

Toggle gateway redirects on a per-website basis

You can toggle redirects (of any IPFS sub-resources) for an individual website under the Current Tab section of the main menu. If that site uses DNSLink, toggling off will restore the site's original URL, too.

Toggle per-site opt-out

Switch all IPFS Companion features on/off

To temporarily suspend all IPFS integrations (redirects, API status content scripts, protocol handlers, etc.), use the on/off button at the top of the IPFS Companion menu.

Turn IPFS Companion off and on again

Try out experiments!

IPFS Companion ships with a variety of experimental features. Some are disabled by default, so be sure to check out IPFS Companion's Preferences to see them all.

  • Make plaintext IPFS links clickable (demo)

  • Re-route requests made via the following experimental protocols to an HTTP gateway (public or custom):

    • ipfs://$cid
    • ipns://$cid_or_fqdn
    • dweb:/ipfs/$cid
    • dweb:/ipns/$cid_or_fqdn
  • Switch between the external HTTP API of your local IPFS node (default setting) and a js-ipfs node embedded in your browser (note that this has some functionality limitations) screenshot of node type switch

Install IPFS Companion

Latest stable release

Firefox | Firefox for Android Chrome | Brave | Opera | Edge
Install From AMO
Install from Chrome Store

Important! Make sure you have IPFS installed on your computer as well. Because IPFS Companion (in its standard configuration) talks to your computer’s local IPFS node to work its browser magic, you’ll need to have IPFS running on your computer, too.

It's also possible to grab vendor-specific packages for each release, but these builds are not signed, nor will automatically update. .zip bundles are meant only to be manually loaded via chrome://extensions (Chromium) or about:debugging (Firefox) for smoke-testing.

Development

To work on IPFS Companion's code, you'll need to install it from source. Quick steps are below, but see the full developer notes for more detailed instructions and tips.

  1. Clone https://github.com/ipfs-shipyard/ipfs-companion.git
  2. Run this all-in-one dev build to install dependencies, build, and launch in the browser of your choice:
    • Chromium
      $ npm run dev-build chromium
    • Firefox
      $ npm run dev-build firefox    # firefox:nightly works too!

Contribute

All are welcome to help make IPFS Companion even better!

Help & troubleshooting

Ask a question

The best place to ask about IPFS Companion (or IPFS in general!) is in the official IPFS Forums, where you can search past discussions for others who may have had the same questions, too. There's also an active #ipfs community on IRC.

Common troubleshooting steps

These frequently encountered troubleshooting situations may be helpful:

  • Import via right-click does not work in Firefox: See this workaround.
  • HTTP-to-HTTPS redirects fail when using Ghostery: Ghostery is known to toy with HTTP-to-HTTPS redirect, which in some setups breaks websites utilizing public gateways (more details). Until this is fixed upstream, a workaround is to whitelist affected sites.
  • NoScript breaks IPFS Companion: By default, NoScript breaks IPFS Companion by blocking assets loaded from an IPFS gateway running on localhost. To fix this, extend the SYSTEM ruleset and prepend it with IPFS whitelist (feel free to modify this, but get familiar with ABE rule syntax first):
# Enable IPFS redirect to LOCAL
Site ^http://127.0.0.1:8080/(ipfs|ipns)*
Anonymize

# Prevent Internet sites from requesting LAN resources.
Site LOCAL
Accept from LOCAL
Deny

Privacy & license info

  • IPFS Companion Privacy policy
  • The IPFS logo belongs to the IPFS Project and is licensed under a CC-BY-SA 3.0 license
  • is-ipfs, js-multihash, and other npm dependencies are under MIT license, unless stated otherwise
  • IPFS Companion itself is released under CC0; to the extent possible under law, the author has waived all copyright and related or neighboring rights to this work, effectively placing it in the public domain
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].