Skip to content

Commit

Permalink
chore(README): update to reflect state of WebExtension
Browse files Browse the repository at this point in the history
See #267
  • Loading branch information
lidel authored Jul 26, 2017
1 parent 52e6073 commit eca9940
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 29 deletions.
60 changes: 41 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,23 @@

| **Important Announcement** :rocket: |
| --- |
| [Add-on is being migrated to the new Firefox API called WebExtensions](https://github.com/ipfs/ipfs-companion/issues/20). It will be released as `2.x.x` |
| Versions `1.x.x` are maintained in [legacy-sdk](https://github.com/ipfs/ipfs-companion/tree/legacy-sdk) branch. |

# IPFS Companion

![screenshot of v1.5.9](screenshot.png)
![screenshot of v2.0.8](screenshot.png)

[![](https://img.shields.io/github/release/ipfs/ipfs-companion.svg)](https://github.com/ipfs/ipfs-companion/releases/latest)
[![](https://img.shields.io/badge/mozilla-full%20review-blue.svg)](https://addons.mozilla.org/en-US/firefox/addon/ipfs-gateway-redirect/)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-blue.svg)](http://standardjs.com/)
[![NSP Status](https://nodesecurity.io/orgs/lidelorg/projects/db13ad1f-ca19-42c5-8c58-dbb8d111b651/badge)](https://nodesecurity.io/orgs/lidelorg/projects/db13ad1f-ca19-42c5-8c58-dbb8d111b651)
[![build-status](https://travis-ci.org/ipfs/ipfs-companion.svg?branch=master)](https://travis-ci.org/ipfs/ipfs-companion)
[![Coverage Status](https://coveralls.io/repos/github/lidel/ipfs-firefox-addon/badge.svg?branch=master)](https://coveralls.io/github/lidel/ipfs-firefox-addon?branch=master)

> 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](https://github.com/dylanPowers/ipfs-chrome-extension) or [ipfs-chrome-station](https://github.com/xicombd/ipfs-chrome-station) instead)
> Browser extension that simplifies access to IPFS resources
## Table of Contents

- [Background](#background)
- [Features](#features)
- [Install](#install)
- [Firefox](#firefox)
- [Chromium](#chromium-based-browsers)
- [Troubleshooting](#troubleshooting)
- [Contribute](#contribute)
- [License](#license)

Expand All @@ -42,35 +36,62 @@ Learn more at: https://ipfs.io (It is really cool, I promise!)
- 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)
- Redirection to local gateway (automatic by default, manual mode can be enabled in Preferences)
- Easy way to open WebUI (e.g. go-ipfs daemon running at the custom gateway)
- Quick Upload of local files to IPFS
- Mirror to IPFS via right click on any image or video on any website
- Additionally, on pages loaded from IPFS:
- Pin IPFS Resource (via API)
- Pin/Unpin IPFS Resource (via API)
- Copy canonical IPFS address
- Copy shareable URL to resource at a default public gateway (first one on public gateway list)
- Copy shareable URL to resource at the public gateway
- 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
- Custom Gateway address and other settings can be tweaked via 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](https://github.com/jbenet/go-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

### Firefox

Install the latest signed release from [AMO](https://addons.mozilla.org/en-US/firefox/addon/ipfs-gateway-redirect/):

[![Get the add-on](https://blog.mozilla.org/addons/files/2015/11/AMO-button_1.png)](https://addons.mozilla.org/en-US/firefox/addon/ipfs-gateway-redirect/)

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

#### Legacy Firefox (< 53) and XUL-Compatible Browsers

Legacy versions `1.x.x` were based on currently deprecated Add-On SDK (Firefox-only).
While it is not maintained anymore, one can inspect, build and install it using codebase from [legacy-sdk](https://github.com/ipfs/ipfs-companion/tree/legacy-sdk) branch.
For historical background on the rewrite see [Issue #20: Move to WebExtensions](https://github.com/ipfs/ipfs-companion/issues/20).

### Chromium-Based Browsers

Try manual installation:

1. Download Sources
2. Build it:

```bash
npm install
npm run build
```

3. Then open up `chrome://extensions` in Chromium-based browser, enable "Developer mode", click "Load unpacked extension..." and point it at `add-on/manifest.json`


### TROUBLESHOOTING

#### Rule to work with NoScript with ABE enabled
#### Upload via Right-Click Does Not Work in Firefox

See [this workaround](https://github.com/ipfs/ipfs-companion/issues/227).

#### Rule To Work with NoScript with ABE Enabled

By default [NoScript](https://addons.mozilla.org/en-US/firefox/addon/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:
Expand Down Expand Up @@ -99,3 +120,4 @@ See [CONTRIBUTING](CONTRIBUTING.md) :sparkles:
[is-ipfs](https://github.com/xicombd/is-ipfs), [js-multihash](https://github.com/jbenet/js-multihash) and other NPM dependencies are under MIT license, unless stated otherwise.
The add-on itself is released under [CC0](LICENSE): 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.
8 changes: 4 additions & 4 deletions add-on/manifest.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"manifest_version": 2,
"name": "IPFS Companion (Development Channel)",
"name": "IPFS Companion",
"short_name": "IPFS Companion",
"version" : "2.0.7",
"version" : "2.0.8",

"description": "Access IPFS resources via custom HTTP2IPFS gateway",
"description": "Browser extension that simplifies access to IPFS resources",
"homepage_url": "https://github.com/ipfs/ipfs-companion",
"author": "Marcin Rataj",
"icons": {
Expand All @@ -15,7 +15,7 @@
"applications": {
"gecko": {
"id": "ipfs-firefox-addon@lidel.org",
"strict_min_version": "52.0"
"strict_min_version": "53.0"
}
},

Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@
},
"devDependencies": {
"babel-preset-es2017": "6.24.1",
"chai": "4.0.2",
"chai": "4.1.0",
"cross-env": "5.0.1",
"fakefile": "0.0.9",
"fs-promise": "2.0.3",
"fx-runner": "1.0.6",
"geckodriver": "1.7.1",
"husky": "0.14.2",
"fx-runner": "1.0.7",
"geckodriver": "1.8.0",
"husky": "0.14.3",
"karma": "1.7.0",
"karma-babel-preprocessor": "6.0.1",
"karma-chai": "0.1.0",
Expand All @@ -56,10 +56,10 @@
"npm-run-all": "4.0.2",
"selenium-webdriver": "3.4.0",
"shx": "0.2.2",
"sinon": "2.3.6",
"sinon": "2.3.8",
"standard": "10.0.2",
"sinon-chrome": "2.2.1",
"web-ext": "1.10.0"
"web-ext": "1.10.1"
},
"dependencies": {
"ipfs-api": "14.0.4",
Expand Down
Binary file modified screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit eca9940

Please sign in to comment.