GithubHelp home page GithubHelp logo

kryndex / ipfs-companion Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ipfs/ipfs-companion

0.0 2.0 0.0 613 KB

Firefox addon that provides transparent access to IPFS resources via local HTTP2IPFS gateway

Home Page: https://addons.mozilla.org/en-US/firefox/addon/ipfs-gateway-redirect/

License: Creative Commons Zero v1.0 Universal

Makefile 2.21% HTML 16.43% JavaScript 80.19% Shell 1.18%

ipfs-companion's Introduction

Important Announcement 🚀
Add-on is being migrated to the new Firefox API called WebExtensions. It will be released as 2.x.x
Versions 1.x.x are maintained in legacy-sdk branch.

ipfs-firefox-addon AKA “IPFS Gateway Redirect”

screenshot of v1.5.9

js-standard-style NSP Status build-status Coverage Status

Firefox addon that provides transparent access to IPFS resources via local HTTP2IPFS gateway.

(If you are using Google Chrome or Chromium check ipfs-chrome-extension or ipfs-chrome-station instead)

Table of Contents

Background

This add-on enables everyone to access ipfs.io (or any other public gateway) urls the way they were meant: from locally running IPFS daemon :-)

IPFS is a new hypermedia distribution protocol, addressed by content and identities. IPFS enables the creation of completely distributed applications. It aims to make the web faster, safer, and more open.

Learn more at: https://ipfs.io (It is really cool, I promise!)

Features

  • Toolbar icon displays current IPFS peering status
  • Click on it to open IPFS actions menu
    • Display information about custom gateway
    • Toggle redirection to the gateway (ON by default)
    • Open WebUI (eg. go-ipfs daemon running at the custom gateway)
    • Additionally, on pages loaded from IPFS:
      • Pin IPFS Resource (via API)
      • Copy canonical IPFS address
      • Copy shareable URL to resource at a default public gateway (first one on public gateway list)
  • Requests to https?://<public_gateway>/(ipfs|ipns)/$RESOURCE
    are replaced with http://127.0.0.1:8080/(ipfs|ipns)/$RESOURCE
  • Custom Gateway address and other settings can be tweaked at
    about:addons → Extensions → IPFS Gateway Redirect → Preferences
  • Requests made via popular custom protocols are routed to the active gateway (public or custom):
    • [web+](ipfs|ipns):/*$RESOURCE
    • [web+]fs:/*(ipfs|ipns)/$RESOURCE
  • Experimental features (disabled by default, use Preferences screen to enable)
    • Automatic Mode: enable/disable redirect based on the number of peers
    • Detect and redirect sites with dnslink to /ipns/<fqdn>
    • Rewrite hrefs with /ip(f|n)s/* paths on every page to point to IPFS gateway. Make plaintext IPFS links clickable.

Install

Install the latest signed release from AMO:

Get the add-on

It will guarantee automatic updates to the latest version reviewed by Mozilla community.

TROUBLESHOOTING

Rule to work with NoScript with ABE enabled

By default NoScript breaks this addon by blocking assets loaded from IPFS Gateway running on localhost.
To make it work, one needs to extend the SYSTEM Rulset and prepend it with IPFS whitelist:

# 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

Feel free to modify it, but get familiar with ABE rule syntax first.

Contribute

See CONTRIBUTING

License

IPFS logo belongs to The IPFS Project and is licensed under a CC-BY-SA 3.0.

is-ipfs, js-multihash and other NPM dependencies are under MIT license, unless stated otherwise.

The add-on 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.

ipfs-companion's People

Contributors

lidel avatar greenkeeper[bot] avatar greenkeeperio-bot avatar the8472 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.