ipfs/ipfs-companion

Provide API for other browser extensions

Open

#307 opened on Nov 14, 2017

View on GitHub
 (5 comments) (0 reactions) (0 assignees)JavaScript (1,992 stars) (364 forks)batch import
P3exp/intermediatehelp wantedkind/discussionstatus/ready

Description

Interesting idea for WebExtension ecosystem:

I think extensions working together by providing APIs to each other is a really cool thing. APIs can either be a runtime.onMessageExternal (or onConnectExternal) protocol or a global injected into a website that other extensions and user scripts can interact with to augment functionality.

I’ve started a list with documented APIs (I know of a few more, but no documentation for them, at least yet): https://github.com/freaktechnik/awesome-extension-apis

Quick brain dump:

  • In theory, ipfs-companion could provide an API for other extensions
    • additional incentive for installing the add-on
    • decrease complexity of other extensions
  • As a PoC we could provide a small sub-set of interface-ipfs-core
    • eg. read-only files.get, swarm.peers etc.
    • think about security considerations (eg. should we avoid mutable actions until we have some kind of ACL?)
  • Other extensions should be able to use the built-in management API to check if the ipfs-companion is installed, before request is sent, or just implement correct error handling

Potential client extensions

Contributor guide